Prev / Next

2013-08-13 / Solaris 11 上での Munin のインストール & 設定

@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]

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