Zabbixで名前解決ができているのか監視する
はじめに
こんにちは。eunseoです。
本記事では、Zabbixで監視しているDNSサーバーで名前解決が出来ているか、出来ていないかを監視する手順について紹介します。
概要
Zabbixの外部チェックとは、Zabbixの監視アイテムの1つで、Zabbixサーバーがシェルスクリプトやバイナリを実行し、その結果を監視アイテムの値として使用することができる機能です。
Zabbixサーバーからnslookupコマンドやdigコマンドを使って、DNSサーバーに登録されているドメインの状況を確認します。
正常に情報を取得できた場合「0」を返す。
正常に情報を取得できなかった場合「0以外」を返す。
今回の対象のドメイン名 : nhn-techorus.com
# nslookup -q nhn-techorus.com ; echo $? *** Invalid option: q Server: 127.0.0.1 Address: 127.0.0.1#53 Non-authoritative answer: Name: nhn-techorus.com Address: 203.174.73.145 0
シェルスクリプト
外部チェックを使うために、Zabbixサーバー上にあるシェルスクリプト(外部スクリプト)を作成し実行する必要があります。
シェルスクリプト配置の確認
シェルスクリプトを作成する前にExternalScriptsの配置を確認します。
(デフォルトでは /etc/zabbix/externalscripts/ が外部監視スクリプトを置く位置)
# grep ExternalScripts /etc/zabbix/zabbix_server.conf ExternalScripts=/usr/lib/zabbix/externalscripts
シェルスクリプトの作成
/usr/lib/zabbix/externalscripts/の下に「nhn-techorus.com.sh」の名でシェルスクリプトを作成します。
# cd /usr/lib/zabbix/externalscripts/ # vi nhn-techorus.com.sh
nhn-techorus.com.sh
#!/bin/bash DOMAINDATA=$(nslookup $1 $2 | grep Name | awk '{print $2}' | tail -n 1) result=0 if [[ $DOMAINDATA == $1 ]]; then echo $result else result=1 echo $result fi
シェルスクリプトの設定(権限・所有者)
シェルスクリプトを作成したら所有者を「zabbix」に変更し、権限を「755」に与えます。
# cd /usr/lib/zabbix/externalscripts/ # chown zabbix:zabbix nhn-techorus.com.sh # chmod 755 nhn-techorus.com.sh
シェルスクリプトの実行確認
作成したシェルスクリプトが正常に実行されているかを試してみます。
# /usr/lib/zabbix/externalscripts/nhn-techorus.com.sh nhn-techorus.com 0
正常に実行できると0が返り、正常に実行できない場合は0以外の値が返ってきます。
Zabbix設定
シェルスクリプトを実行するZabbixの監視システム及びトリガーを作成します。
アイテム作成
- アイテムの設定画面から対象のホストを選択し、「アイテムの作成」をクリックします。
- 以下のようにアイテムを設定します。
・名前:DNS名前解決
・タイプ:外部チェック
・キー:シェルスクリプト名[ドメイン名,{HOST.IP}]
(nhn-techorus.com.sh[nhn-techorus.com,{HOST.IP}])
・監視間隔(秒):180
・アプリケーション:DNS
これ以外はデフォルトでOK - 有効にチェックされていることを確認し、「追加」をクリックします。
トリガー作成
- トリガーの設定画面から対象のホストを選択し、「トリガーの作成」をクリック
- 以下のようにトリガーを設定します。
・名前:DNS名前解決
・条件式:{ドメイン名:シェルスクリプト名[ドメイン名,{HOST.IP}].last()}<>0
({nhn-techorus.com:nhn-techorus.com.sh[nhn-techorus.com,{HOST.IP}].last()}<>0)
・深刻度 : 軽度の障害 - 有効にチェックされていることを確認し、「追加」をクリックします。
以上で、DNSの監視設定は完了です。
DNSサーバーに障害が発生し、名前解決が出来なかった場合、Zabbixは「1」に上がり軽度の障害としてアラートが報告されます。
まとめ
本記事では、Zabbixで監視しているDNSサーバーで名前解決が出来ているか、出来ていないかを監視する手順について紹介しました。
テックブログ新着情報のほか、AWSやGoogle Cloudに関するお役立ち情報を配信中!
Follow @twitterRecommends
こちらもおすすめ
-
Zabbix6.0のネイティブHA機能を試してみた
2022.3.1
-
第5回JAWS-UG初心者支部勉強会に参加してきました
2016.4.20
-
Okta導入物語(2)~テンプレートとSAML~
2024.4.1
Special Topics
注目記事はこちら
データ分析入門
これから始めるBigQuery基礎知識
2024.02.28
AWSの料金が 10 %割引になる!
『AWSの請求代行リセールサービス』
2024.07.16