CoreDNS
セキュリティモニタリングが使用可能です セキュリティモニタリングが使用可能です

CoreDNS

Agent Check Agentチェック

Supported OS: Linux

概要

CoreDNS からリアルタイムにメトリクスを取得して、DNS エラーとキャッシュのヒット/ミスを視覚化および監視します。

セットアップ

ホストで実行されている Agent 用にこのチェックをインストールおよび構成する場合は、以下の手順に従ってください。コンテナ環境の場合は、オートディスカバリーのインテグレーションテンプレートのガイドを参照してこの手順を行ってください。

インストール

CoreDNS チェックは Datadog Agent パッケージに含まれています。サーバーに追加でインストールする必要はありません。

コンフィギュレーション

コンテナ化

コンテナ環境の場合は、オートディスカバリーのインテグレーションテンプレートのガイドを参照して、次のパラメーターを適用してください。

メトリクスの収集

パラメーター
<インテグレーション名>coredns
<初期コンフィギュレーション>空白または {}
<インスタンスコンフィギュレーション>{"prometheus_url":"http://%%host%%:9153/metrics", "tags":["dns-pod:%%host%%"]}

注:

  • dns-pod タグは、対象の DNS ポッド IP を追跡します。他のタグは、サービスディスカバリーを使用して情報をポーリングする dd-agent に関連付けられます。
  • ポッドでサービスディスカバリーアノテーションを実行する必要があります。デプロイの場合は、テンプレートの仕様のメタデータにアノテーションを追加します。外側のレベルの仕様には追加しないでください。
ログの収集

Datadog Agent で、ログの収集はデフォルトで無効になっています。有効にする方法については、Kubernetes ログ収集のドキュメントを参照してください。

パラメーター
<LOG_CONFIG>{"source": "coredns", "service": "<サービス名>"}

検証

Agent の status サブコマンドを実行し、Checks セクションで coredns を探します。

収集データ

メトリクス

coredns.build_info
(gauge)
A metric with a constant '1' value labeled by version, revision, and goversion from which CoreDNS was built.
coredns.response_code_count
(count)
number of responses per zone and rcode
coredns.proxy_request_count
(count)
query count per upstream.
Shown as request
coredns.cache_hits_count
(count)
Counter of cache hits by cache type
Shown as hit
coredns.cache_misses_count
(count)
Counter of cache misses.
Shown as miss
coredns.cache_prefetch_count
(count)
The number of time the cache has prefetched a cached item.
coredns.request_count
(count)
total query count.
Shown as request
coredns.request_type_count
(count)
counter of queries per zone and type
coredns.request_duration.seconds.sum
(gauge)
duration to process each query
Shown as second
coredns.request_duration.seconds.count
(count)
duration to process each query
Shown as second
coredns.proxy_request_duration.seconds.sum
(gauge)
duration per upstream interaction
Shown as second
coredns.proxy_request_duration.seconds.count
(count)
duration per upstream interaction
Shown as second
coredns.forward_request_duration.seconds.sum
(gauge)
duration per upstream interaction
Shown as second
coredns.forward_request_duration.seconds.count
(count)
duration per upstream interaction
Shown as second
coredns.forward_request_count
(count)
query count per upstream
Shown as request
coredns.forward_response_rcode_count
(count)
count of RCODEs per upstream
Shown as response
coredns.forward_healthcheck_failure_count
(count)
number of failed health checks per upstream
Shown as entry
coredns.forward_healthcheck_broken_count
(count)
counter of when all upstreams are unhealthy
Shown as entry
coredns.forward_max_concurrent_rejects
(gauge)
Counter of the number of queries rejected because the concurrent queries were at maximum.
Shown as query
coredns.forward_sockets_open
(gauge)
number of sockets open per upstream
Shown as connection
coredns.health_request_duration.count
(count)
Count for the histogram of the time (in seconds) each request took.
coredns.health_request_duration.sum
(gauge)
Sum for the histogram of the time (in seconds) each request took.
coredns.request_size.bytes.sum
(gauge)
size of the request in bytes
Shown as byte
coredns.request_size.bytes.count
(count)
size of the request in bytes
Shown as byte
coredns.response_size.bytes.sum
(gauge)
size of the request in bytes
Shown as byte
coredns.response_size.bytes.count
(count)
size of the request in bytes
Shown as byte
coredns.cache_size.count
(gauge)

Shown as entry
coredns.panic_count.count
(count)

Shown as entry
coredns.go.gc_duration_seconds.count
(gauge)
Count of the GC invocation durations.
Shown as second
coredns.go.gc_duration_seconds.sum
(gauge)
Sum of the GC invocation durations.
Shown as second
coredns.go.gc_duration_seconds.quantile
(gauge)
Quantiles of the GC invocation durations.
Shown as second
coredns.go.goroutines
(gauge)
Number of goroutines that currently exist.
Shown as thread
coredns.go.info
(gauge)
Information about the Go environment.
coredns.go.memstats.alloc_bytes
(gauge)
Number of bytes allocated and still in use.
Shown as byte
coredns.go.memstats.alloc_bytes_total
(gauge)
Total number of bytes allocated even if freed.
Shown as byte
coredns.go.memstats.buck_hash_sys_bytes
(gauge)
Number of bytes used by the profiling bucket hash table.
Shown as byte
coredns.go.memstats.frees_total
(gauge)
Total number of frees.
coredns.go.memstats.gc_cpu_fraction
(gauge)
CPU taken up by GC
Shown as percent
coredns.go.memstats.gc_sys_bytes
(gauge)
Number of bytes used for garbage collection system metadata.
Shown as byte
coredns.go.memstats.heap_alloc_bytes
(gauge)
Bytes allocated to the heap
Shown as byte
coredns.go.memstats.heap_idle_bytes
(gauge)
Number of idle bytes in the heap
Shown as byte
coredns.go.memstats.heap_inuse_bytes
(gauge)
Number of Bytes in the heap
Shown as byte
coredns.go.memstats.heap_objects
(gauge)
Number of objects in the heap
Shown as object
coredns.go.memstats.heap_released_bytes
(gauge)
Number of bytes released to the system in the last gc
Shown as byte
coredns.go.memstats.heap_sys_bytes
(gauge)
Number of bytes used by the heap
Shown as byte
coredns.go.memstats.last_gc_time_seconds
(gauge)
Length of last GC
Shown as second
coredns.go.memstats.lookups_total
(gauge)
Number of lookups
Shown as operation
coredns.go.memstats.mallocs_total
(gauge)
Number of mallocs
Shown as operation
coredns.go.memstats.mcache_inuse_bytes
(gauge)
Number of bytes in use by mcache structures.
Shown as byte
coredns.go.memstats.mcache_sys_bytes
(gauge)
Number of bytes used for mcache structures obtained from system.
Shown as byte
coredns.go.memstats.mspan_inuse_bytes
(gauge)
Number of bytes in use by mspan structures.
Shown as byte
coredns.go.memstats.mspan_sys_bytes
(gauge)
Number of bytes used for mspan structures obtained from system.
Shown as byte
coredns.go.memstats.next_gc_bytes
(gauge)
Number of heap bytes when next garbage collection will take place
Shown as byte
coredns.go.memstats.other_sys_bytes
(gauge)
Number of bytes used for other system allocations
Shown as byte
coredns.go.memstats.stack_inuse_bytes
(gauge)
Number of bytes in use by the stack allocator
Shown as byte
coredns.go.memstats.stack_sys_bytes
(gauge)
Number of bytes obtained from system for stack allocator
Shown as byte
coredns.go.memstats.sys_bytes
(gauge)
Number of bytes obtained from system
Shown as byte
coredns.go.threads
(gauge)
Number of OS threads created.
Shown as thread
coredns.plugin_enabled
(gauge)
A metric that indicates whether a plugin is enabled on per server and zone basis.
coredns.process.cpu_seconds_total
(count)
Total user and system CPU time spent in seconds.
Shown as second
coredns.process.max_fds
(gauge)
Maximum number of open file descriptors.
Shown as file
coredns.process.open_fds
(gauge)
Number of open file descriptors.
Shown as file
coredns.process.resident_memory_bytes
(gauge)
Resident memory size in bytes.
Shown as byte
coredns.process.start_time_seconds
(gauge)
Start time of the process since unix epoch in seconds.
Shown as second
coredns.process.virtual_memory_bytes
(gauge)
Virtual memory size in bytes.
Shown as byte

イベント

CoreDNS チェックには、イベントは含まれません。

サービスのチェック

coredns.prometheus.health:

Agent がメトリクスのエンドポイントに到達できない場合は、CRITICAL を返します。

トラブルシューティング

ご不明な点は、Datadog のサポートチームまでお問合せください。

開発

Agent ベースのインテグレーションの テストおよび開発方法については、メインドキュメントを参照してください。