概要
Bind 9 は、完全で高い移植性を備えた Domain Name System (DNS) プロトコルの実装です。Bind 9 のネームサーバー (named) は、権威サーバー、再帰的リゾルバー、DNS フォワーダー、またはこれらすべてを同時に実行することができます。
このインテグレーションは、Query、Query Errors、Network、Lame Servers、Notify、Security といったログタイプに対してリッチな情報付加と可視化を提供します。これは、DNS リクエストパターンや DNS 通信の詳細なインサイト、適切なサーバー設定や DNS 攻撃の監視を支援し、あらかじめ用意されたダッシュボードによって堅牢で信頼性の高い DNS 環境を実現します。加えて、このインテグレーションにはあらかじめ用意された検知ルールも含まれています。また、Bind 9 の統計情報をメトリクスとして収集し、必要に応じて可視化に利用できます。
セットアップ
インストール
Bind 9 インテグレーションをインストールするには、以下の Agent のインストールコマンドと手順を実行してください。詳細については Integration Management ドキュメントをご覧ください。
注: このステップは Agent のバージョンが 7.58.0 以上の場合は不要です。
Linux コマンド
sudo -u dd-agent -- datadog-agent integration install datadog-bind9==1.1.0
ログ収集
ファイルモニタリング
Bind 9 を実行しているデバイスにログインします。
named.conf
ファイルを開き、logging の設定を追加します。
logging {
channel <example_channel> {
file "/folder_path/file_name.log" versions <unlimited | <integer>> size <size> suffix <increment | timestamp>;
print-time (yes | local | iso8601 | iso8601-utc);
print-category yes;
print-severity yes;
};
category <example-category> { <example_channel>; };
}
注: print-time
の推奨値は iso8601-utc
です。Datadog はすべてのログがデフォルトで UTC タイムゾーンであることを想定しているためです。Bind 9 のログのタイムゾーンが UTC でない場合は、別のタイムゾーンを使用する手順に必ず従ってください。また、Bind 9 で定義されているカテゴリーも参照してください。
例: ロギングチャネル
logging {
channel default_log {
file "/var/log/named/query.log" versions 3 size 10m;
print-time iso8601-utc;
print-category yes;
print-severity yes;
};
category default { default_log; };
}
ファイルを保存して終了します。
サービスを再起動します。
Syslog
Bind 9 を実行しているデバイスにログインします。
named.conf
ファイルを開き、logging の設定を追加します。
logging {
channel <example_channel> {
syslog <syslog_facility>;
severity (critical | error | warning | notice | info | debug [level ] | dynamic);
print-time (yes | local | iso8601 | iso8601-utc);
print-category yes;
print-severity yes;
};
category <example-category> { <example_channel>; };
}
注: print-time
の推奨値は iso8601-utc
です。Datadog はすべてのログがデフォルトで UTC タイムゾーンであることを想定しているためです。Bind 9 のログのタイムゾーンが UTC でない場合は、別のタイムゾーンを使用する手順に必ず従ってください。また、Bind 9 で定義されているカテゴリーも参照してください。
例: ロギングチャネル
logging {
channel default_log {
syslog local3;
print-time iso8601-utc;
print-category yes;
print-severity yes;
};
category default { default_log; };
}
ファイルを保存して終了します。
syslog/rsyslog の設定を編集し、Bind 9 で選択した facility を使用して Datadog にログを送るようにします。
<syslog_facility>.* @@<DATADOG_AGENT_IP_ADDRESS>:<PORT>
以下のサービスを再起動します。
service syslog/rsyslog restart
service named restart
注: Bind 9 アプリケーションのチャンネルで print-category
と print-severity
が yes
に設定されていることを確認してください。
構成
メトリクスの収集
Agent の構成ディレクトリのルートにある conf.d/
フォルダ内の bind9.d/conf.yaml
ファイルを編集し、Bind 9 のメトリクスを収集するように設定します。サンプル bind9.d/conf.yaml を参照し、利用可能なすべての構成オプションを確認してください。
init_config:
instances:
- url: "<BIND_9_STATS_URL>"
Agent を再起動します。
ログ収集
Datadog Agent では、ログ収集はデフォルトで無効になっています。datadog.yaml
ファイルで有効にしてください。
ファイルモニタリング
Bind 9 のログを収集するには、以下の構成ブロックを bind9.d/conf.yaml
ファイルに追加します。
利用可能な構成オプションについては、サンプル bind9.d/conf.yaml を参照してください。
logs:
- type: file
path: /var/log/named/*.log
service: bind9
source: bind9
注: conf.yaml
の path
変数は、Bind 9 アプリケーションのチャンネルで構成されている file
パラメータと同じパスに変更してください。
Agent を再起動します。
Syslog
Bind 9 のログを収集するには、以下の設定ブロックを bind9.d/conf.yaml
ファイルに追加します。
利用可能な設定オプションについては、サンプル bind9.d/conf.yaml を参照してください。
logs:
- type: tcp
port: <PORT>
service: bind9
source: bind9
注: port
の値は、syslog.conf/rsyslog.conf
で指定したポート番号と同じである必要があります。
Agent を再起動します。
UTC 以外のタイムゾーンを Bind 9 Datadog ログパイプラインで指定する
Datadog はデフォルトで、すべてのログが UTC タイムゾーンであると想定しています。Bind 9 のログのタイムゾーンが UTC でない場合は、Bind 9 の Datadog パイプラインで正しいタイムゾーンを指定してください。
Bind 9 パイプラインでタイムゾーンを変更するには
Datadog の Pipelines ページに移動します。
Filter Pipelines の検索ボックスに「Bind 9」と入力します。
Bind 9 パイプライン上にカーソルを合わせ、clone ボタンをクリックします。Bind 9 パイプラインが編集可能な複製として作成されます。
次の手順で Grok Parser を編集します。
- 複製されたパイプラインで「Grok Parser: Parsing Bind 9 common log format」という名前のプロセッサーを探し、パイプラインにカーソルを合わせて
Edit
ボタンをクリックします。 - Define parsing rules の下にある
- 文字列
UTC
を、Bind 9 サーバーのタイムゾーンに対応する TZ 識別子に変更します。例として、タイムゾーンが IST の場合は Asia/Calcutta
に変更します。
- update ボタンをクリックします。
検証
Agent のステータスサブコマンドを実行し、Checks セクション内に bind9
が表示されるか確認してください。
互換性
このチェックは、すべての主要プラットフォームと互換性があります。
収集データ
ログ
Bind 9 インテグレーションでは、以下のログタイプを収集します。
イベントタイプ |
---|
Query、Query Errors、Lame Servers、Notify、Security |
メトリクス
イベント
Bind 9 チェックにはイベントは含まれません。
サービスチェック
トラブルシューティング
ログファイルを監視している際に Permission denied エラーが表示される場合は、dd-agent
ユーザーに対してファイルの読み取り権限を付与してください。
sudo chown -R dd-agent:dd-agent /var/log/named/
追加のサポートが必要な場合は、Datadog サポートへお問い合わせください。