ksaitoの日記

日々試したことの覚え書き

zabbixでswapの使用状況を監視する

移転しました。

自動的にリダイレクトします。

自宅のサーバが1週間くらいでswapを使い果たしていることに気が付きました。
起動時点では、swapは全く使われていませんが、徐々に減っていって50%をきると急激にswapが減っているようです。

swapを使うこと自体は、物理メモリを有効に使おうとするlinuxカーネルの動作なので必ずしも悪いというわけではありませんが、swapが50%を切った段階ではスラッシングが発生していたので、メモリを足すか、動かすプロセスを減らす必要がありそうです。
スラッシングがどの時点で発生しているか確認するためにswap in/outを記録するように設定して現状を確認することにしました。

swap in/outの監視

procinfoコマンドでswap inとswap outの発生数を累計で確認することができます。
zabbix_agentdに以下のように設定して監視アイテムを追加してエージェントを再起動します。

$ tail -2 /etc/zabbix/zabbix_agentd.conf
# system
UserParameter=system.procinfo[*],procinfo|grep "$1"|cut -f5 -d":"|tr -d " "
$

以下のようにswap inとswap outが取得できるか確認できます。
再起動した直後は、どちらも0です。

$ zabbix_get -s 10.10.1.20 -k system.procinfo["swap out"]
0
$ ^out^in
zabbix_get -s 10.10.1.20 -k system.procinfo["swap in"]
0
$ 

動作確認できたらzabbixのwebインタフェースからlinuxテンプレートに以下のように登録します。

swap outも同様に設定できます。
これでしばらく様子を見ます。