ZabbixでサーバーをDNS監視する方法を詳しく解説します。最後にクラウドサービスを使い無料かつ5分でDNS監視を始める方法も紹介しているので参考にしてみてください。
ZabbixのDNS監視方法
さっそく、ZabbixでサーバーのDNS監視をする方法を見ていきます。
試行環境ネットワーク構成
試行環境は、Zabbixサーバーと監視対象サーバーをスイッチ経由で接続して構築します。
今回Zabbixサーバーと監視対象サーバーはAWSのEC2を利用して準備しました。(ZabbixのDNS監視設定手順の紹介ですのでAWSのEC2によるサーバーインスタンス作成方法は割愛します。)
Zabbixサーバーとエージェントのインストール方法
Zabbixサーバーのインストールについては、「Zabbixの構築手順、インストールから初期設定まで。AWSのCentOS編」の記事を参考にしてください。
Zabbixエージェントのインストールについては、「Zabbix Agentのインストールと設定手順をWindows、Linuxともに詳しく解説」の記事を参考にしてください。
DNS監視の設定方法
監視対象のDNSサーバーで名前解決ができるか監視をする設定を行います。
(1)次のシェルスクリプトを作成しておく
check_nslookup.sh #!/bin/bash nslookup=`nslookup $1 $2` result=0 if [[ $nslookup == *$1* ]]; then result=1 echo $result else echo $result fi
(2)チェックスクリプトをZabbix サーバーの以下のパスに配置します。
/usr/lib/zabbix/externalscripts/check_nslookup.sh
※事前に/etc/zabbix/zabbix_server.confにて外部スクリプトの配置場所を記載しておく。今回はデフォルトの場所を使用。
(3)下記ZabbixのURLにアクセスします
http://[ZabbixマネージャーのIPアドレス]/zabbix
(2)左側のアイコンから「設定」→「ホスト」と選択します。
(3)続いて監視を追加したいホストの「アイテム」を選択します。
(4)続いて右上の「アイテムの作成」を選択します。
(5)アイテムの下記項目を設定していきます。
- 名前:DNS監視
- タイプ:外部チェック
- キー:check_nslookup.sh[(チェックするFQDN),(DNSサーバーIP)]
- データ型:数値(整数) – 監視間隔:30s ※デフォルト
- ヒストリの保存期間:90d ※デフォルト
- トレンドの保存期間:365d ※デフォルト
(6)設定が完了したらテストを実施します。
アイテムタブ下部にある「テスト」ボタンを選択し、監視が実施できていることをチェックします。
右下の「値の取得とテスト」をクリックすると監視結果を得ることができます。
ポート解放時には項目「値」に1が、ポート閉塞時には項目「値」に0がそれぞれ返ります。
(7)障害発生時にメール通知されるよう設定します。
障害発生時にメール通知される方法については「Zabbixのアラートをメール通知する設定手順とメール文をカスタマイズする方法」をご覧ください。
DNS監視の重要性
DNS サーバーを監視することで、DNS サーバーの可用性とパフォーマンスを常に把握でき、不測の事態で名前解決にエラーが発生した場合でも迅速に対応していけます。
今回はDNSの名前解決の可否を監視する内容のみご紹介しましたが、DNSのスプーフィング/キャッシュ ポイズニングのチェックを目的としたレコード監視も重要です。
DNSスプーフィングとDNSキャッシュポイズニングは同じ意味で、DNSシステムの脆弱性を悪用し、正規のサーバーから偽のサーバーへトラフィックを誘導するサイバー攻撃のことです。
DNSスプーフィング/キャッシュポイズニングを受けると、名前解決に使用されるレコード情報が変更されてしまい、悪意のあるWebサイトなどへアクセスさせられてしまいます。
監視したいレコードを監視システムから定期的に名前解決させて情報を比較することで、DNSスプーフィング/キャッシュポイズニングを受けてもすぐに異常を発見できます。
その他にも、例えば誰かが間違って MX レコードを変更してしまった場合、会社全体のメールが使えなくなる可能性もあります。レコード監視を実施することで、このような想定していない変更作業に気づけるのです。
ただし、Zabbix でレコード監視を実施するためには、さらなるシェルスクリプトの作り込みが必要になってきます。
無料かつスムーズにDNS監視を始める方法
サーバーをDNS監視する場合には、Zabbixサーバーとエージェントのインストール・各種設定が必要です。またレコード監視をするには追加でシェルスクリプトの作り込みが必要になってしまいます。
この作業は慣れない方ほど手間になってしまうでしょう。
その点、SaaS型のSite24x7(サイトトゥエンティーフォーセブン)であれば、エージェントをインストールするだけでホストが認識され、サインアップ後に無料でスムーズにDNS監視を始められます。
シェルスクリプトの作り込みも必要ありません。
試行環境ネットワーク構成
試行環境は、Site24x7と監視対象サーバーをインターネット経由で接続して構築します。
Site24x7エージェントのインストール方法
ここでは、WindowsとLinuxの場合について、それぞれインストール方法をみていきます。
Windowsの場合
(1)管理 > インベントリ > 監視 > 監視の追加 とクリックします。
(2)監視の追加ページでサーバー監視を選択します。
(3)説明の表示をWindowsから選択し、Site24x7 Windows Serverエージェントのダウンロードをクリックすると、Windows監視が追加されます。
(4)ダウンロードしたmsiファイルを監視対象Windowsサーバーに移動します。
(5).msiファイルを開くと、Site24x7 Windowエージェント セットアップウィザードが起動します。
(6)次へをクリックします。
(7)デバイスキーを入力し、インストールを開始します。
※デバイスキーは、Site24x7トップページから「管理」→「開発者」→「デバイスキー」 と選択すると見つかります。
(8)エージェントを置くインストールフォルダを選択してください。
※エージェントを置くフォルダには読み書き権限が必要です。
(9)ウィザードの指示に従い、インストール手順を完了させてください。
Linuxの場合
Linuxエージェントのダウンロード・インストールには、次のコマンドをLinuxの端末で実行します。OSが32ビット版か64ビット版かは問いません。
sudo -E bash -c “$(curl -sL https://staticdownloads.site24x7.com/server/Site24x7InstallScript.sh)” readlink -i -key=<Device Key>
※デバイスキーは、Site24x7トップページから「管理」→「開発者」→「デバイスキー」 と選択すると見つかります。
Site24x7でのDNS監視の設定方法
(1)Site24x7にログインします。
(2)トップページ左側メニューから「監視」右側の「+」を選択します。
(3)続いて「インベントリ」→「監視の追加」→「DNSサーバー」と選択します。
(4)DNS監視のための各種情報を設定します。
- 表示名:DNS監視
- DNSサーバー:[監視対象DNSサーバーのIPアドレス]よ
- ポート:53※デフォルト
- 接続タイムアウト:10秒※デフォルト
- 質問の名前:ns1.example.localdomain※任意の名前解決したいFQDN
- チェック間隔:5分※デフォルト
- 監視ロケーション:Japan※デフォルト
- しきい値と可用性:Default Threshold – DNS※デフォルト
- 通知プロファイル:Default Notification※デフォルト
(5)画面下部の「保存」をクリックします。
その他詳細は「DNS監視ヘルプページ」をご覧下さい。
Site24x7を導入するメリット
すでにお伝えした通り、Site24x7には複数のメリットがあります。
1. 難しいシェルスクリプトの作り込みをせずにレコード監視ができる
Site24x7は設定を操作するだけでレコード監視の値チェックが簡単にできるようになります。zabbixの時に必要だったシェルスクリプトの作り込みは必要ありません。
2. DNS以外の監視もスムーズに実施できる
DNS以外にも、WebサービスやSMTPサーバーなど、Zabbixでは監視できない複数のインターネットサービスも含めてモニタリングできます。
3. DNSのさまざまな応答を検証できる
今回ご紹介した内容以外にも、DNS監視のための各種情報を設定する際に項目「応答の検証」にて正規表現を利用することで、下記のようなDNS検証を簡単に実施できます。
- ${127.0.0.1|127.0.0.2}:127.0.0.1および127.0.0.2以外の新規レコードが追加された際にアラートします。
- ${^127.*$}:IPアドレスが127から始まっているかどうかを確認します。
その他、Zabbixとの比較について詳しく知りたい方は「Zabbix vs SaaS 比較!無料で始められるクラウド型監視サービス」の記事をご覧ください。
まとめ
ZabbixでDNS監視を実施する場合、特にレコード監視を実施する場合には、細かいシェルスクリプトの作り込みが必要になってきます。その点Site24x7であれば設定操作と正規表現の記述だけで柔軟なDNS監視が実施できます。
もちろんDNS以外の監視項目についてもスムーズに実施できます。
細かい作り込みに手を焼いている方は、各種監視が誰でも比較的簡単に実施できるSite24x7を、ぜひ一度お使いになってみてはいかがでしょうか。
プランと価格の詳細はこちら:
https://www.site24x7.jp/pricing.html
FREEプランのサインアップはこちら:
https://www.site24x7.jp/signup.html?pack=1&l=ja
ZabbixとSite24x7の機能比較一覧はこちら:
https://www.site24x7.jp/zabbix-alternative.html
関連記事
- Zabbix 6.0 サーバー構築手順(インストールから初期設定まで)
- Zabbix Agentのインストールと設定手順
- Zabbixでログ監視する手順(Windowsイベントログ監視・Syslog監視)
- Zabbixでプロセス監視する手順
- Zabbixでアラートをメール通知する手順
- ZabbixのPing実行手順とPing監視する手順
- ZabbixでWeb監視とシナリオ監視する手順
- ZabbixのSNMP監視手順とNetFlowでトラフィックを可視化する方法
- ZabbixでCPU使用率を監視する手順
- Zabbixで死活監視する手順
- Zabbixでポート監視する手順
- Zabbixでサービス監視する手順(Windowsサービス監視)
- Zabbixでメモリ使用率を監視する手順
- Zabbixでリソース監視する手順
- Zabbixでディスク使用率を監視する手順
- ZabbixでDNS監視する手順
- ZabbixでDockerコンテナを監視する手順
免責事項:ここに記載されているすべての著作権、商標、商号は、元の所有者の所有物です。このWebページに含まれる情報は、一般的な情報提供のみを目的としており、そのような情報は、正確性、信頼性、または完全性について調査、監視、または確認されていません。 当社は、ここに含まれる情報への依存に起因する誤り、または損失に対する責任を明示的に否認します。