使うときに気にしないといけない基本的な内容
自分の設置環境はFedora17だけど、それほど違いはないと思う。
externalscriptsの位置
デフォルトでは /etc/zabbix/externalscripts/ が外部監視スクリプトを置く位置。
( manualでは/usr/local/share/zabbix/externalscriptsって書いてあるけど、yumで入れると違う)
zabbix_server.confの中に
ExternalScripts=/path/to/externals/
みたいに設定しておけば好きな位置に変更可能。
この設定されたディレクトリの位置に実行ファイルを置けばアイテムの追加で外部チェックで使用可能
アイテム追加時のキーと引数の関係
check_http_status[{HOST.CONN}, "8080"]
上記のように記載すると
check_http_status {HOST ip address} 8080
のようにして引数が渡されてスクリプトが実行される。
1.8系までは自動的に最初の引数にホストのip アドレスが渡されていたけど、
2.0系以降は自分で指定してあげる必要があるので、マクロ等を使って渡す必要があります。
使えるマクロの一覧は↓
https://www.zabbix.com/documentation/2.0/manual/appendix/macros/supported_by_location
実行結果の返し方
標準出力への吐き出しが返りの値として使われて、標準エラーと終了コードは破棄されるようです。
# !/bin/sh
url -s http://$1:$2/server-status | grep IdleWorkers | awk '{print $2}'