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を監視 | プラスター業務日記