目的of目的

技術的な事とか趣味な事を書いて日本語の練習

Muninを導入して監視の結果を見えやすくする

我が家の自宅サーバではVC用にTeamSpeak3が,ファイル共有用にSambaが,内部DNSサーバとしてdnsmasqがサービスとして立ち上がっています.あまりにも仕事しなさすぎですがどれくらいのリソースを使用しているか知りたくなったので,監視ツールを導入することにしました.

というわけでMuninというツールを導入します.環境はArchLinuxでNICは一枚です.また,最近導入したRTX1000も監視することにします.

手順

とりあえずMuninを導入します.

% yaourt -S munin munin-node

ArchLinuxはpacmanなりyaourtでいろんなパッケージをインストールできるのが素晴らしいですね. 設定ファイルも特にいじらずで動作しそうです.結果がHTMLで出力されるのでnginxかhttpdで読めるディレクトリを指定しましょう.

#dbdir  /var/lib/munin
htmldir /srv/nginx/munin
#logdir /var/log/munin
#rundir  /run/munin

次にディレクトリの設定です.今回はnginxを使用して公開することにしました.

server {
        listen       80;
        server_name  localhost;

      location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
      }
      location /minetteperopero/ {
        alias /srv/nginx/munin/;
        index index.html index.htm;
}

この設定例だと認証も特にかけていませんが,ログを外部に公開しても得にはならなさそうなのでBasic認証でもかけておきましょう.

次は収集するデータの選択です.munin-node-configureで一覧が取得出来るのでそちらから選択します.それらは/etc/munin/plugins/にシンボリックリンクが張られるみたいですね.

sudo munin-node-configure --shell | sudo sh 

ついでにRTX1000用の設定も行います.始めにRTX1000側でSNMPと呼ばれるプロトコルを使うための設定を行います.

# snmp host 192.168.94.xxx  # Muminを動作させるサーバ
# snmp community read-only public      # パスワードのようなもの publicがパスワード

そしてMuninの設定を行います.始めに/etc/muinin/plugin-conf.d/munin-nodeに以下の内容を記述します.

[snmp_192.168.94.xxx*]
env.community public
env.version 1

最後にmunin-node-configureで設定します.

% sudo munin-node-configure --shell --snmp 192.168.94.xxx -snmpversion 1 --snmpcommunity public | sudo sh

次はcronに収集用スクリプトを追加しましょう./etc/munin/munin-cron-entryの内容をそのままcronに追加すればいいだけですね.あと,munin-nodeをsystemdでenableとstartしておきましょう.

次はパーミッションの設定です.デフォルトだとうまく動作しなかったのでmunin-checkとmunin-cronを動作させながらおかしな所を調べていきます.

参考にさせて頂いたサイト

muninでYAMAHA RTXを監視 | プラスター業務日記

BUKURO-JIN | Munin¤Ç¥ê¥½¡¼¥¹´Æ»ë ¡ÁSNMPÊÔ¡Á

muninグラフの読み方と意味 | シーズクリエイターズブログ