今回はZabbixのデフォルトで用意されていない監視を実施できるUserParameterという
機能を紹介していきます。
Zabbixはサーバ側に設置したスクリプトを利用し、監視項目として
取得することができます。※UserParameterという機能を利用します。
例えば監視対象のサーバがインターネットへ接続できているか等。
プロセス監視はそのプロセスの死活しか監視できませんが、実際に動いて
成功しているかまで監視することができます。
例) nslookup コマンドを実行し、tech1000.net の名前解決ができているか等
実際の設定例を紹介させていただきます。
どのような動きになるか
スクリプトを利用した監視の概要として、下記の図のようになります。
今回は監視対象のサーバが名前解決できているか、という構成で説明していきます。
①Zabbixサーバは監視対象のサーバにインストールされているZabbix Agentへスクリプト実行の命令を出します。
②監視対象サーバのZabbix Agentはスクリプトを実行します。
③、④ 実行された結果をZabbixサーバへ返します。
⑤実行され返ってきた値を元に障害(名前解決に成功、失敗)を判定します。
設定する内容
スクリプトを利用した監視の場合、下記の内容を設定する必要があります。
【監視対象サーバ側】
監視対象サーバのZabbix agentにてUserParameterの定義
監視対象サーバへスクリプトを設置
設置したスクリプトの権限設定
【Zabbixサーバ側】
Zabbixサーバへスクリプト監視のアイテム、トリガーの設定
監視対象サーバ側設定
監視対象サーバのZabbix agentにてUserParameterの定義
監視対象サーバでUserParameterを定義します。
監視対象サーバへログインし、ZabbixAgentコンフィグを編集します。
編集ファイル:/etc/zabbix/zabbix_agentd.conf
上記ファイルへ下記を追記します。
UserParameter=[アイテム名],[設置パス][スクリプト名]
$ vi /etc/zabbix/zabbix_agentd.conf
<<省略>> ### Option: UserParameter # User-defined parameter to monitor. There can be several user-defined parameters. # Format: UserParameter=<key>,<shell command> # See 'zabbix_agentd' directory for examples. # # Mandatory: no # Default: # UserParameter= UserParameter=nslookup,/home/user/nslookup.sh ← 左記を追記 <<省略>>
監視対象サーバへスクリプトを設置
UserParameterで定義したパスへスクリプトを設置します。
今回は/home/user/を定義しているので、そこへスクリプトを設置します。
cd /home/user/ ← 設置場所へ移動 vi nslookup.sh ← 新規ファイル作成 <<以下スクリプト内容>> #!/bin/bash # nslookupコマンドを実行し、「tech1000.net」のIPアドレスだけ表示 nslookup tech1000.net | grep "Address" | grep -v "#53" | cut -d" " -f2
上記スクリプトを実行すると下記が返ってきます。
[root@test ~]# sh ./nslookup.sh 157.7.107.196
設置したスクリプトの権限設定
Zabbixがスクリプトを実行することができるようにスクリプトファイルに権限を付与します。
chmod 755 nslookup.sh
Zabbixサーバ側設定
アイテムの設定
設定したUserParameterのアイテムをZabbbixサーバ側で設定します。
アイテムの新規作成より下記で作成します。
名前:名前解決
タイプ:Zabbixエージェント
キー:nslookup
データ型:文字列
トリガーの作成
作成したアイテムのトリガーを作成します。
実際にnslookupコマンドにて取得したIPが一致しない場合アラートとして発砲する
というトリガーを作成します。
名前:名前解決失敗
条件式:{www.town.motobu.okinawa.jp:nslookup.str(“157.7.107.196“)}=0
デフォルトで用意されていない監視項目を自分で作成できるので、運用業務等で
とても重宝しますので、ぜひ実施してみてください。
以上、皆さんの参考になれば幸いです。
[…] TECH1000 Zabbix 3.2.4でスクリプトによる監視(UserParameter)http://tech1000.net/… […]