- [MUNIN+Ubuntu14.04+nginx] サーバやMySQLの状態を監視する方法
- [Munin] MuninでOpen VZゲストOSのメモリ状態を監視する
- [MUNIN] Pythonプラグインで文字コードエラーが発生する際の解決方法
- [Munin] Ubuntu+Nginx+Munin 拡大グラフが表示されないときの対処方法
この記事の内容
サーバー監視ツール「Munin」で、Open VZのゲストOSのメモリ状態を監視する手順を紹介します。
Muninには、デフォルトでメモリ監視のプラグインが含まれています。
しかし、そのままではOpen VZのゲストOSのメモリの状態を正しく監視することができません。
Open VZの管理ツールを導入し、それを使ってメモリ状態のグラフを表示できるようにしましょう。
手順
vzctlのインストール
$ sudo apt-get install vzctl
プラグインのダウンロード
OpenVZのメモリ監視用プラグインは、muninの公式プロジェクトのリポジトリ(munin-monitoring/contrib)にあります。
これを任意のディレクトリに保存し、chmod a+x vpsmem
コマンドで実行権限を付けておきます。
内容を以下に引用します。(引用元:munin-monitoring/contrib)
#!/bin/bash
#
# Monitors memory usage in openVZ or Virtuozzo
# based on http://www.huschi.net/archiv/speicher-anzeigen-mit-vzfree.html
# Author: Michael Richter, http://osor.de/
# Cleaned up and translated to english by: Marian Sigler <m@qjym.de>, 2010-08-13
#
#%# capabilities=autoconf
BEANCOUNTERS=/proc/user_beancounters
if [ "$1" == "autoconf" ]; then
if [ -e $BEANCOUNTERS ]; then
echo yes
else
echo no
fi
exit 0
fi
if [ ! -r $BEANCOUNTERS ]; then
echo "$BEANCOUNTERS not readable" >&2
exit 1
fi
if [ "$1" == "config" ]; then
limit=$(awk '/privvmpages/ {print $5*4096}' $BEANCOUNTERS)
cut -c9- <<EOF
graph_args --base 1024 -l 0 --vertical-label bytes --upper-limit $limit
graph_title VPS memory usage
graph_category memory
graph_info Shows memory usage and VPS memory limits.
graph_order maxheld held oomguar barrier limit
held.label held
held.draw AREA
held.info currently held memory
maxheld.label maxheld
maxheld.draw AREA
maxheld.info maximum held memory
oomguar.label guaranteed
oomguar.draw LINE2
oomguar.info memory guaranteed for OOM
barrier.label barrier
barrier.draw LINE2
barrier.info memory usage barrier
limit.label limit
limit.draw LINE2
limit.info memory usage limit
EOF
exit 0
fi
if [ -n "$1" ]; then
echo "Invalid argument: $1" >&2
exit 1
fi
awk '/privvmpages/ {print "held.value", $2*4096 "\nmaxheld.value", $3*4096 "\nbarrier.value", $4*4096 "\nlimit.value", $5*4096}' $BEANCOUNTERS
awk '/oomguarpages/ { print "oomguar.value", $4*4096 }' $BEANCOUNTERS
プラグインの設定
このプラグインの内容を正しく実行するにはroot
権限が必要です。
デフォルトでの実行ユーザーはmunin
になるので、設定ファイルにroot
で実行するよう記述しておきます。
管理者権限でmunin-nodeの設定ファイルを開きます。
$ sudo vim /etc/munin/plugin-conf.d/munin-node
設定ファイルに下記を追記します。
...
[vpsmem]
user root
muninとmunin-nodeをリロードして設定を有効にします。
$ sudo service munin-node restart
$ sudo service munin restart
プラグインの有効化
保存したプラグインファイルに向けて、muninのプラグインディレクトリからのシンボリックリンクを作成します。
/path/to/
の部分は実際のプラグインのパスに置き換えてください。
$ sudo ln -s /path/to/vpsmem /etc/munin/plugins/vpsmem
結果
- [MUNIN+Ubuntu14.04+nginx] サーバやMySQLの状態を監視する方法
- [Munin] MuninでOpen VZゲストOSのメモリ状態を監視する
- [MUNIN] Pythonプラグインで文字コードエラーが発生する際の解決方法
- [Munin] Ubuntu+Nginx+Munin 拡大グラフが表示されないときの対処方法