@karky7 に頼まれたので、
Solaris 11 での Munin の設定方法を書いてみる
Munin のインストール
#jposug のリポジトリに munin の spec file があるので、
munin と munin が require しているものを適当にビルドしてください。
ビルドすると以下のパッケージができます。
- munin
munin server: 値の収集とグラフの生成
- munin/common
munin ユーザの作成とか共通のものを含む
- munin/node
munin-node: 値を取得するエージェント
- munin/async
munin-asyncd: 非同期に値を取得するもの
今回は、ローカルに munin server と munin-node をたてるので、
munin と munin-node をインストールします
(munin/common は依存関係で入る)。
sudo pkg install -v munin munin/node
munin node の設定
次にリソースの値を取得する munin node を設定します。
値の取得は plugin で行ないます。
plugin は /us/share/munin/plugins 以下にあります。
plugin は末尾に '_' が付くものと付かないもの 2 種類あり、
'_' が付くものは /etc/munin/plugins 以下にリンクをはる際に
値を取得する対象が指定できます。
if_ の場合、if_net0 として net0 の値を取得でき、
suggest に対応している plugin は以下のように
'_' 以下に指定できるものを確認できます。
MUNIN_LIBDIR=/usr/share/munin /usr/share/munin/plugins/if_ suggest
また、munin-node-configure を使うと、
munin-node-configure を実行した環境で使える pluign がわかります。
% munin-node-configure Plugin | Used | Extra information ------ | ---- | ----------------- amavis | no | apache_accesses | yes | apache_processes | yes | apache_volume | yes | apc_envunit_ | no | apc_nis | no | (snip)
munin-node-configure に '--shell' をつけると
以下のように コマンドを生成するので、
これを実行すれば、とりあえずの plugin 設定ができます。
% munin-node-configure --shell |head ln -s '/usr/share/munin/plugins/df' '/etc/munin/plugins/df' ln -s '/usr/share/munin/plugins/df_inode' '/etc/munin/plugins/df_inode' ln -s '/usr/share/munin/plugins/if_' '/etc/munin/plugins/if_net0' ln -s '/usr/share/munin/plugins/if_' '/etc/munin/plugins/if_net1' (snip)
plugin の設定ができたら、munin-node を起動します。
svcadm enable svc:/site/munin-node:default
telnet で接続してみます。
% telnet localhost 4949 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. # munin node at x230.localdomain list apache_accesses apache_processes apache_volume cpu cpu-test httpd_processes iostat load netstat paging_in paging_out solaris_kernel_memory_usage vmstat_faults vmstat_page zfs_arc_access zfs_arc_efficency zfs_arc_efficency_cachelist zfs_arc_efficency_datatype zfs_arc_efficency_datatype_miss zfs_arc_size zfs_arc_size_breakdown zone_cpu_usage_x230 zone_mem_usage_x230 fetch zfs_arc_size arc_size.value 4122343912 target_size.value 4212311056 arc_min_size.value 67108864 arc_max_size.value 7163424768 . quit Connection to localhost closed by foreign host.
こんな感じで、
- list で 有効なプラグイン一覧
- fetch で値
の取得ができます。
munin server の設定
munin server は cron で定期的に
/etc/munin/munin.conf で指定された node に対して
値を取得しに行きます。
/etc/munin/munin.conf にはデフォルトで以下のように
localhost の node へ接続する設定があるので、
今回は特に何もしなくても値が取れます。
[localhost.localdomain] address 127.0.0.1 use_node_name yes
cron で実行されなければ
svc:/system/cron:default を restart してみてください
(このあたりはパッケージ側で要調整)。
apache の設定
Munin が生成したグラフが見えるように Apache を設定します。
#jposug のパッケージの設定だと
/etc/apache2/2.2/conf.d/munin.conf を以下の内容で作れば、
http://localhost/munin/ で munin が生成した html が見えるはずです。
alias /munin /var/www/html/munin <Directory /var/www/html/munin > Order allow,deny Allow from all </Directory>
以上で、Solaris 11 上での jposug の munin パッケージを使った
munin の基本的な設定は完了です。
次回、remote の node に接続する方法
(直接 munin-node、ssh, munin-async の 3 パターン)につづく(はず)。
つづきました。
- リモートの Munin node から値を取得する [2013-08-14-1]
1. Solaris 11 上での Munin のインストール & 設定 [2013-08-13-1]
2. リモートの Munin node から値を取得する [2013-08-14-1]
3. Solaris 11 で Munin asyncd を使う [2013-08-17-1]
[2013-08-17-1] Solaris 11 で Munin asyncd を使う
[2013-08-14-1] リモートの Munin node から値を取得する
[2013-08-13-1] Solaris 11 上での Munin のインストール & 設定