今回はuserParameterのお話です。
zabbixには最初から様々な値を取るための設定がテンプレートという形で提供されています。
しかし独自の値を取りたい場合もあるでしょう。今回はそのような値の取得方法です。
例として「httpdプロセス数をグラフ化する」とします。まずhttpプロセス数の数を取得するコマンドを確認しましょう。これで良いですか?
1 |
ps ax | grep 'httpd' | wc -l |
実際に実行して、正しく数値を取得出来るか確認しましょう。
次に取得するマシンのzabbix_agentd.confを編集します。
/usr/local/etc/辺りにありますかね?
1 |
UserParameter=process.httpdcount, ps ax | grep 'httpd' | wc -l |
process.httpdcountとなっている部分は値取得用のキーです。何でも構いません。
上記を追加し、zabbix_agentdを再起動します。
次にzabbix webインターフェースからの設定です。。
設定>テンプレートを開き「テンプレートの作成」をクリックします。
テンプレート名など適当にどうぞ。ここではTemplate Testとしました。
次にアプリケーションを追加します。
もう一度設定>テンプレートを開きTemplate Testの右にあるアプリケーションをクリック。右上にある「アプリケーションの作成」をクリックし、適当なアプリケーション名をつけます。ここでは「PS」にしましょうか。
最後にTemplate Testの右にあるアイテムをクリックし、同様に「アイテムの作成」をクリックします。鍵となるのは「キー」のところです。ここはzabbix_agentd.confに設定したキーを設定します。
こんな感じですか?
最後にもう一つ。どうせならこの数値の移り変わりをグラフで見たいですよね。
ということで設定>テンプレートを開きTemplate Testの右にあるグラフをクリック。右上にある「グラフの作成」をクリック。
これでテンプレートの設定は一通り完了です。お疲れ様でした。
最後にどのホストでこのテンプレートを使うのか設定しましょう。
設定>ホスト>追加したいホスト>テンプレート>追加
です。
これで独自の値をグラフ化し保存することが出来るようになります。
もちろん今日のコマンドを読み替えて
1 2 3 4 |
#maillogの行数監視 cat /var/log/maillog | wc -l #meminfoのDirtyを監視 cat /proc/meminfo | grep 'Dirty' | awk '{print $2}' |
など、様々な事に応用できます。いいですね!
本日は以上です。
zabbixのお話はこちらにもあります。