Supported OS Linux Windows Mac OS

インテグレーションバージョン1.1.0

概要

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

ログ収集

ファイルモニタリング

  1. Bind 9 を実行しているデバイスにログインします。

  2. 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; };
    }
    
  3. ファイルを保存して終了します。

  4. サービスを再起動します。

    service named restart
    

Syslog

  1. Bind 9 を実行しているデバイスにログインします。

  2. 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; };
    }
    
  3. ファイルを保存して終了します。

  4. syslog/rsyslog の設定を編集し、Bind 9 で選択した facility を使用して Datadog にログを送るようにします。

    <syslog_facility>.* @@<DATADOG_AGENT_IP_ADDRESS>:<PORT>
    
  5. 以下のサービスを再起動します。

    service syslog/rsyslog restart
    service named restart
    

: Bind 9 アプリケーションのチャンネルで print-categoryprint-severityyes に設定されていることを確認してください。

構成

メトリクスの収集

  1. Agent の構成ディレクトリのルートにある conf.d/ フォルダ内の bind9.d/conf.yaml ファイルを編集し、Bind 9 のメトリクスを収集するように設定します。サンプル bind9.d/conf.yaml を参照し、利用可能なすべての構成オプションを確認してください。

    init_config:
    
    instances:
      - url: "<BIND_9_STATS_URL>"
    
  2. Agent を再起動します

ログ収集

  1. Datadog Agent では、ログ収集はデフォルトで無効になっています。datadog.yaml ファイルで有効にしてください。

    logs_enabled: true
    

ファイルモニタリング

  1. Bind 9 のログを収集するには、以下の構成ブロックを bind9.d/conf.yaml ファイルに追加します。

    利用可能な構成オプションについては、サンプル bind9.d/conf.yaml を参照してください。

    logs:
      - type: file
        path: /var/log/named/*.log
        service: bind9
        source: bind9
    

    : conf.yamlpath 変数は、Bind 9 アプリケーションのチャンネルで構成されている file パラメータと同じパスに変更してください。

  2. Agent を再起動します

Syslog

  1. Bind 9 のログを収集するには、以下の設定ブロックを bind9.d/conf.yaml ファイルに追加します。

    利用可能な設定オプションについては、サンプル bind9.d/conf.yaml を参照してください。

    logs:
      - type: tcp
        port: <PORT>
        service: bind9
        source: bind9
    

    : port の値は、syslog.conf/rsyslog.conf で指定したポート番号と同じである必要があります。

  2. Agent を再起動します

UTC 以外のタイムゾーンを Bind 9 Datadog ログパイプラインで指定する

Datadog はデフォルトで、すべてのログが UTC タイムゾーンであると想定しています。Bind 9 のログのタイムゾーンが UTC でない場合は、Bind 9 の Datadog パイプラインで正しいタイムゾーンを指定してください。

Bind 9 パイプラインでタイムゾーンを変更するには

  1. Datadog の Pipelines ページに移動します。

  2. Filter Pipelines の検索ボックスに「Bind 9」と入力します。

  3. Bind 9 パイプライン上にカーソルを合わせ、clone ボタンをクリックします。Bind 9 パイプラインが編集可能な複製として作成されます。

  4. 次の手順で 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 サポートへお問い合わせください。

PREVIEWING: may/embedded-workflows