munin プラグイン作成方法 [ user_beancounters の failcnt値 ]
ServerMan@vpsで動作が遅くなる時は、仮想マシンのシステムリソースの割り当てに失敗するケースです。失敗しているかの確認は、「/proc/user_beancounters」のfailcnt値が見ると確認できます。この値はその都度確認するのは面倒なので、muninのプラグインを作成しました
参考URL:ServersMan@VPSで仮想マシンの動作が重い
プラグインの仕様は、cat /proc/user_beancountersを叩いて、tcpsndbuf, tcprcvbufのfailcnt値をグラフ化します
failcnt値取得
下記のコマンドで、tcpsndbuf、tcpsndbufのfailcnt値を取得できるので、その値をグラフで利用します。
tcpsndbuf、tcpsndbufの値のみ取得するのは筆者の環境だと、その項目でEntryプランの時にfailcnt値が上がっていたためです
# cat /proc/user_beancounters | grep tcpsndbuf | awk '{print $6}' # cat /proc/user_beancounters | grep tcpsndbuf | awk '{print $6}'
プラグイン作成
/usr/share/munin/plugins/beancounters_failcntのプラグインを作成し、そのファイルに実行権限をつけてます。/etc/munin/plugins/ 以下でシンボリックリンクを作成してmunin nodeを再起動するとグラフ化できます
/usr/share/munin/plugins/beancounters_failcntのプラグインを作成
プラグインをそのまま記載しています。参考にしてください
# vi /usr/share/munin/plugins/beancounters_failcnt #!/bin/bash # # Plugin for /proc/user_beancounters failcnt (tcpsndbuf, tcprcvbuf) # # # autoconf # if [ "$1" = "autoconf" ]; then echo "yes" exit 0 fi # # config # if [ "$1" = "config" ]; then echo "graph_title user_beancounters failcnt" echo 'graph_args -l 0' echo 'graph_vlabel Value' echo "graph_info This graph cat /proc/user_beancounters failcnt (tcpsndbuf, tcprcvbuf)" echo 'graph_category system' echo 'SND.label tcpsndbuf' echo 'RCV.label tcprcvbuf' exit 0 fi # # Main # echo -n "SND.value " cat /proc/user_beancounters | grep tcpsndbuf | awk '{print $6}' echo -n "RCV.value " cat /proc/user_beancounters | grep tcprcvbuf | awk '{print $6}'
実行権付与とシンボリックリンク
実行権をつけます
# chmod +x /usr/share/munin/plugins/beancounters_failcnt
シンボリックリンクを作ります
# cd /etc/munin/plugins/ # ln -s /usr/share/munin/plugins/beancounters_failcnt beancounters_failcnt # ls -l | grep beancounters_failcnt lrwxrwxrwx 1 root root 45 Dec 14 15:06 beancounters_failcnt -> /usr/share/munin/plugins/beancounters_failcnt
rootで実行しないと、下記のように「Permission denied」とエラーとなるのでrootで実行できるようにします
# /usr/sbin/munin-run beancounters_failcnt SND.value cat: /proc/user_beancounters: Permission denied RCV.value cat: /proc/user_beancounters: Permission denied
/etc/munin/plugin-conf.d/beancounters_failcntのファイルを作成して、rootで実行するように設定します
# vi /etc/munin/plugin-conf.d/beancounters_failcnt [beancounters_failcnt] user root # 動作確認 # /usr/sbin/munin-run beancounters_failcnt SND.value 12 RCV.value 0
munin-nodeを再起動します
CentOS 6.x
# /etc/init.d/munin-node restart
CentOS 7.x
# systemctl restart munin-node
動作確認
5分ほど経過してから、muninの画面にアクセスします。「system」の箇所に「user_beancounters failcnt」のグラフができているか確認します
ディスカッション
コメント一覧
まだ、コメントがありません