ZabbixでDNS監視する設定手順と同じことを5分で始める方法

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)左側のアイコンから「設定」→「ホスト」と選択します。

ZabbixでDNS監視する設定手順1

(3)続いて監視を追加したいホストの「アイテム」を選択します。

ZabbixでDNS監視する設定手順2

(4)続いて右上の「アイテムの作成」を選択します。

ZabbixでDNS監視する設定手順3

(5)アイテムの下記項目を設定していきます。

  • 名前:DNS監視
  • タイプ:外部チェック
  • キー:check_nslookup.sh[(チェックするFQDN),(DNSサーバーIP)]
  • データ型:数値(整数) – 監視間隔:30s ※デフォルト
  • ヒストリの保存期間:90d ※デフォルト
  • トレンドの保存期間:365d ※デフォルト

ZabbixでDNS監視する設定手順4

(6)設定が完了したらテストを実施します。

アイテムタブ下部にある「テスト」ボタンを選択し、監視が実施できていることをチェックします。

右下の「値の取得とテスト」をクリックすると監視結果を得ることができます。

ポート解放時には項目「値」に1が、ポート閉塞時には項目「値」に0がそれぞれ返ります。

ZabbixでDNS監視する設定手順5

(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

関連記事