UserParameter の設定
Zabbix のデフォルトのテンプレートにない情報を取得したり,監視たりする場合には,zabbix-agent 側で shellscript 等を実行することで欲しい情報を取得したり,監視したりすることが可能です.
Ruby のバージョンを取得する場合
zabbix-agent 側の設定
/etc/zabbix/zabbix_agentd.conf
## コマンドの実行を許可(デフォルト: disabled) EnableRemoteCommands=1 ## 実行するコマンド(キー,コマンド) UserParameter=ruby.version,/opt/ruby/bin/ruby -v
zabbix-server 側の設定
- アイテムの追加
- [設定] - [ホスト] で [アイテムの作成] をクリック
- [説明] を適当に入力
- [キー] に ruby.version を入力
- [データ型] を文字に列に指定
- [保存]
これで,[監視データ] - [最新データ] の [その他] に UserParameter で指定したコマンドの結果が表示されます.
プロセスの監視をする場合
zabbix-agent 側の設定
/etc/zabbix/zabbix_agentd.conf
## コマンドの実行を許可(デフォルト: disabled) EnableRemoteCommands=1 ## example.rb の実行と停止 ## 実行するコマンド(キー,コマンド) UserParameter=ruby.process,ps aux | grep ruby | grep -v grep | wc -l
zabbix-server 側の設定
- アイテムの追加
- [設定] - [ホスト] で [アイテム] をクリック
- [アイテムの作成] をクリック
- [説明] を適当に入力
- [キー] に ruby.process を入力
- [保存]
- トリガーの追加
- [設定] - [ホスト] で [トリガー] をクリック
- [トリガーの作成] をクリック
- [名前] を適当に入力
- [条件式] に {centos-5:ruby.process.last(0)}<1 を入力
- [深刻度] を適当に設定
- [保存]
これで設定は完了です.
[監視データ] - [トリガー] で状態が確認できます.
今回の場合は,プロセスが確認できれば [ステータス] に 正常 と表示され,プロセスが確認できなければ [ステータス]に 障害 と表示されます.
- 正常
- 障害