気が付けば5月。休みばかりで仕事が出来ないぜ(とか言ってみる)。
さて今回は、某打合せ用に作っただけなのですが、こんな事も出来るっていう事で。
・ZABBIXのエージェントは入っているけどSNMPを開放していないサーバ
上記のような条件のサーバってありますかね。
System Answer G2(以下SAG2)は基本的にエージェントレスの考えなのですが、ちょっと工夫するとZABBIXエージェントの値をSAG2に取り込むことが出来ます。
必要なのは「zabbix_get」というものです。本来は動作チェック用らしいのですが・・・?
ZABBIXエージェントにはアクティブとパッシブという考えがあって、今回はパッシブ機能領域を利用する事になります。
zqbbix_getする為のSAG2用のスクリプトはあんまりエラーチェックを噛ましていないですが、open命令でzabbix_getをコールして、値を採って、valueに表示しているだけです。
スクリプトは大した内容ではないので・・・。
で、SAG2の設定はというと、
一応、SNMP取得が出来ないサーバを想定していますので、SNMPを無効にして登録します。画像のIPは適当です。
SNMPが使えないので、取得出来る機能も制限が掛かっています。青枠は使えます。
今回は、アプリケーションのCommand Valueを使います。
パラメータに注目して下さい。zabbixだと「設定」>「ホスト」>「アプリケーション」>「アイテムの設定」の中にいる様なパラメータです。キーと言われるものですね。今回「system.cpu.util[,system,avg1]」というキーをチョイスしています。
こんな感じで、SAG2の中にZABBIXの文字が・・・結構違和感ありますね。
で、暫くすると・・・
グラフが出来てきました。横取り感半端ないですが、まぁZABBIXを使っていて、どうしてもエージェントでアレ拾ってるんだよねぇ・・・なんてCustom.Paramがあったりするかもしれません。
そういった時でも、SAG2からも取得出来るので良いですね。
ただ、アプリケーションのカスタムコマンド監視機能を使っているので、テンプレ化はちょっとキツイデス。
その代わり、本来このパラメータまでは要らないんだよなぁ・・・これだけ欲しいのだけど・・・と言った時に、手軽に利用できます。
ZABBIXだと、アレ・・・えーとあのパラメータ何処だっけ?どの階層に居るんだ?!ってなり煩雑ですが、SAG2は上記の画面イメージの流れで済むので楽ちんです。
グラフを重ねたいとかいう場合には、少しコツというか慣れは必要ですが・・・。
さて、今回急にこしらえたSAG2用ZABBIXえーじぇんとゲッツなのですが、よくよく考えたら、今までZABBIXエージェントが動いていたサーバのスクリプトすら改造して結局パラメータだけ使ってエージェント止めちゃってたのを忘れてたんですね・・・。
しかし、久々にPerlを触りましたが、見た目は構文も問題ないのに、ずっとオプションの引数の値が入らなくてハマりました。。。結局エラーにならない恐怖を何時間も味わって、別のスクリプトを起こしたら難なく動くという・・・。久々にゲンナリしました。[E:weep]
てことで、打ち合わせの支度は終わりっす[E:happy02]