概要
PowerDNS Recursor のパフォーマンスを追跡し、異常または注意が必要なトラフィックを監視します。この Agent チェックでは、Recursor から以下のような多様なメトリクスを収集することができます。
- クエリ回答時間: 1 ミリ秒、10 ミリ秒、100 ミリ秒、1 秒未満、および 1 秒以上の時間がかかった応答の数を確認します。
- クエリのタイムアウト
- キャッシュヒット数およびミス数
- タイプごとの回答率: SRVFAIL、NXDOMAIN、NOERROR
- 無視および削除されたパケット数
その他にも多数あります。
セットアップ
インストール
PowerDNS Recursor チェックは Datadog Agent パッケージに含まれています。Recursor に追加でインストールする必要はありません。
構成
PowerDNS の準備
このチェックは、PowerDNS Recursor の統計 API を使ってパフォーマンス統計を収集します。4.1 より前のバージョンの pdns_recursor は、デフォルトで統計 API が有効ではありません。古いバージョンを実行している場合は、Recursor 構成ファイル (たとえば /etc/powerdns/recursor.conf
) に次の行を追加して有効にしてください。
webserver=yes
api-key=changeme # v4.0 以降でのみ使用可能
webserver-readonly=yes # デフォルトは no
#webserver-port=8081 # デフォルトは 8082
#webserver-address=0.0.0.0 # デフォルトは 127.0.0.1
pdns_recursor 3.x を実行している場合は、これらのオプション名の前に experimental-
を付けてください。たとえば、experimental-webserver=yes
とします。
pdns_recursor 4.1 以上を実行している場合は、api-key
のみを設定します。
Recursor を再起動すると、統計 API が有効になります。
ホスト
ホストで実行中の Agent に対してこのチェックを構成するには
Agent のコンフィギュレーションディレクトリのルートにある conf.d/
フォルダーの powerdns_recursor.d/conf.yaml
ファイルを編集します。使用可能なすべてのコンフィギュレーションオプションについては、サンプル powerdns_recursor.d/conf.yaml を参照してください。
init_config:
instances:
## @param host - string - required
## Host running the recursor.
#
- host: 127.0.0.1
## @param port - integer - required
## Recursor web server port.
#
port: 8082
## @param api_key - string - required
## Recursor web server api key.
#
api_key: "<POWERDNS_API_KEY>"
## @param version - integer - required - default: 3
## Version 3 or 4 of PowerDNS Recursor to connect to.
## The PowerDNS Recursor in v4 has a production ready web server that allows for
## statistics gathering. In version 3.x the server was marked as experimental.
##
## As the server was marked as experimental in version 3 many of the metrics have
## changed names and the API structure (paths) have also changed. With these changes
## there has been a need to separate the two concerns. The check now has a key value
## version: which if set to version 4 queries with the correct API path on the
## non-experimental web server.
##
## https://doc.powerdns.com/md/httpapi/api_spec/#url-apiv1serversserver95idstatistics
#
version: 3
Agent を再起動します。
ログ収集
Datadog Agent で、ログの収集はデフォルトで無効になっています。以下のように、datadog.yaml
でこれを有効にする必要があります。
以下を実行して、systemd-journal
グループに dd-agent
ユーザーを追加します。
usermod -a -G systemd-journal dd-agent
PowerDNS Recursor のログの収集を開始するには、次のコンフィギュレーションブロックを powerdns_recursor.d/conf.yaml
ファイルに追加します。
logs:
- type: journald
source: powerdns
使用可能なすべての構成オプションの詳細については、サンプル powerdns_recursor.d/conf.yaml を参照してください。
Agent を再起動します。
コンテナ化
コンテナ環境の場合は、オートディスカバリーのインテグレーションテンプレートのガイドを参照して、次のパラメーターを適用してください。
パラメーター | 値 |
---|
<INTEGRATION_NAME> | powerdns_recursor |
<INIT_CONFIG> | 空白または {} |
<INSTANCE_CONFIG> | {"host":"%%host%%", "port":8082, "api_key":"<POWERDNS_API_KEY>", "version": 3} |
ログ収集
Datadog Agent で、ログの収集はデフォルトで無効になっています。有効にする方法については、Kubernetes ログ収集を参照してください。
パラメーター | 値 |
---|
<LOG_CONFIG> | {"source": "powerdns"} |
検証
Agent の status
サブコマンドを実行し、Checks セクションで powerdns_recursor
を探します。
収集データ
メトリクス
イベント
PowerDNS Recursor チェックには、イベントは含まれません。
サービスチェック
powerdns_recursor.can_connect
Agent チェックが監視対象の Gearman インスタンスに接続できない場合は、CRITICAL
を返します。それ以外の場合は、OK
を返します。
Statuses: ok, クリティカル
トラブルシューティング
ご不明な点は、Datadog のサポートチームまでお問合せください。