Prev / Next

2013-08-17 / Solaris 11 で Munin asyncd を使う

@karky7 に頼まれた、
Solaris 11 での Munin の設定方法第 3 弾。

前回まででリモートの Munin node から値を取得できるはずなので、
とりあえず困ることもないかと思いますが、
監視する Munin node が増えるとデータの収集に時間がかかってきて
いろいろと嫌な感じになるかと思います。

そのあたりを少しなんとかしてくれるのが Munin asyncd です。




Munin asyncd とは

Munin node は fetch が行なわれた時に値を取得する、つまり、
Munin server のデータ収集と Munin node のデータ収集が同期しているため、
Munin node のプラグイン・取得する値が増えたり
Munin node が増えると
データの収集に時間がかかるようになってきます。

あらかじめ Munin node からの値の取得をしておき取得した値を返すことで、
Munin server のデータ収集と Munin node のデータ収集を非同期にしてくれるのが
Munin asyncd になります。

Munin node によるデータ収集が Munin server とは非同期になることで
Munin node がデータを収集していた分の時間が短縮できます。

munin async



Munin asyncd で localhost の Munin node からデータを収集する

jposug のパッケージではデフォルトで localhost の Munin node から
データを収集するようになっているので、munin-asyncd を起動すれば
munin-asyncd が localhost の Munin node からデータを収集してくれます。

sudo svcadm enable svc:/site/munin-asyncd:default


取得したデータは /var/lib/munin/spool/localhost 以下に保存されます。

ただ、jposug のパッケージはちょっと問題があります。
詳しくはこのへんを参照してください。

- munin-async を Solaris 11 上で動かしたい [2012-09-27-1]
- munin-async を Solaris 11 上で動かしたい 2 [2012-09-28-3]
- munin-async を Solaris 11 上で動かしたい 3 [2012-09-29-1]



Munin asyncd でリモートの Munin node からデータを収集する

Munin asyncd でリモートの Munin node 1 つだけからデータを収集するには、
svccfg で munin-aysncd/host と munin-asyncd/port を変更してください。

デフォルトでは以下のようになっています。

$ svccfg -s munin-asyncd listprop munin-asyncd
munin-asyncd           application
munin-asyncd/bin      astring     /usr/share/munin/munin-asyncd
munin-asyncd/host     astring     localhost
munin-asyncd/interval count       86400
munin-asyncd/lockdir  astring     /var/lock/subsys
munin-asyncd/lockfile astring     munin-asyncd
munin-asyncd/port     count       4949
munin-asyncd/retain   count       7
munin-asyncd/runfile  astring     /var/run/munin/munin-asyncd.pid
munin-asyncd/spooldir astring     /var/lib/munin/spool


(munin-asyncd/host と munin-asyncd/port は接続する munin-node の指定なので
munin-asyncd/target-host や munin-asyncd/target-port に変更した方が
いいかもしれない)



Munin asyncd で複数の Munin node からデータを収集する

1 SMF マニフェストで 1 Munin asyncd、1 Munin node という対応なので、
SMF マニフェストを複数用意することで、
複数の Munin node からデータを収集できます。

foo.example.com からデータを収集したければ、
既存の SMF マニフェストを少し書き換えて
svc:/site/munin-asyncd:foo というようなサービスを作ってあげればいけるはずです。



とりあえず、以上で Munin の設定はなんとかなるかと。

このあと、もう少し小ネタを書くか、
rrdcached を試してみるか、
GrowthForecast にするかは未定。

1. Solaris 11 上での Munin のインストール & 設定 [2013-08-13-1]
2. リモートの Munin node から値を取得する [2013-08-14-1]
3. Solaris 11 で Munin asyncd を使う [2013-08-17-1]

Referrer (Inside):
[2013-08-17-1] Solaris 11 で Munin asyncd を使う
[2013-08-14-1] リモートの Munin node から値を取得する
[2013-08-13-1] Solaris 11 上での Munin のインストール & 設定
comments powered by Disqus