CoreDNSは、Container service for Kubernetes (ACK) クラスターでドメインネームシステム (DNS) ベースのサービス検出を実装するために使用されるデフォルトのプラグインです。 このトピックでは、CoreDNSダッシュボードを表示する方法と、ダッシュボードのメトリクスを紹介します。 このトピックでは、異常なメトリック値に基づいてエラーをトラブルシューティングする方法についても説明します。
前提条件
アプリケーションリアルタイム監視サービス (ARMS) が起動されます。 詳しくは、「ARMS の有効化」をご参照ください。
ack-arms-prometheusコンポーネントがインストールされています。 詳細については、「コンポーネントの管理」をご参照ください。
CoreDNSダッシュボードの表示
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、 を選択します。
[Prometheusモニタリング] ページで、[ネットワークモニタリング] タブをクリックします。
CoreDNSタブで、CoreDNSダッシュボードを表示できます。
ダッシュボードの説明
CoreDNSダッシュボードは、メトリクスとPrometheus Query Language (PromQL) に基づいて生成され、要求、応答、およびデータキャッシュに関する情報を表示します。 次の表に、ダッシュボードのグラフを示します。
チャート | 単位 | 説明 |
リクエスト (合計) | リクエスト /s | CoreDNSが1秒あたりに受信したリクエストの数。 |
リクエスト (成功率) | % | CoreDNSが受信したリクエストの成功率。 説明 応答コードNXDOMAINまたはNOERRORが返された場合、要求は成功と見なされます。 |
リクエスト (ゾーン別) | リクエスト /s | ゾーンごとにCoreDNSが1秒あたりに受信したリクエストの数。 |
リクエスト (qtypeによる) | リクエスト /s | 各解決タイプの1秒あたりにCoreDNSが受信したリクエストの数。 |
リクエスト (DOビット) | リクエスト /s | CoreDNSが1秒あたりに受信したリクエストの数。 DOビットを含む要求のみがカウントされる。 |
リクエスト (サイズ、udp) | バイト | CorDNSによって受信された各UDPパケットのサイズ。 |
リクエスト (サイズ、tcp) | バイト | CorDNSが受信した各TCPパケットのサイズ。 |
応答 (rcodeによる) | リクエスト /s | 各応答コードの応答数。 |
応答 (期間) | 秒 | 99パーセンタイル、90パーセンタイル、および50パーセンタイルでの応答時間。 |
回答 (サイズ、udp) | バイト | 99パーセンタイルと50パーセンタイルのUDPリクエストの応答パケットサイズ。 |
応答 (サイズ、tcp) | バイト | 99パーセンタイルと50パーセンタイルのTCPリクエストの応答パケットサイズ。 |
キャッシュ (サイズ) | 非該当 | キャッシュの数。 |
キャッシュ (ヒットレート) | % | バッファヒット率。 |
一般的な異常
異常 | 説明 |
CoreDNSによって受信される要求の数は急激に増加します。 | CoreDNSが受信したリクエストの数は、ダッシュボードのリクエスト (合計) チャートで確認できます。 CoreDNSが受信したリクエストの数が急激に増加した場合は、CoreDNSのログで最も頻繁にアクセスされるドメイン名を確認できます。 次に、リクエストの増加が正常かどうかを判断できます。 CoreDNSのログを分析および監視する方法の詳細については、「CoreDNSログの収集と分析」をご参照ください。 リクエストの増加が正常な場合は、CoreDNS用のポッドをさらに作成し、NodeLocal DNSCacheを使用してDNSパフォーマンスを向上させることを推奨します。 詳細については、「CoreDNSデプロイの変更」および「NodeLocal DNSCacheの設定」をご参照ください。 |
DNSサーバでエラーが発生し、応答コードServFailの応答数が多い。 | 応答コードServFailの応答数は、ダッシュボードの [応答 (rcodeによる)] グラフで確認できます。 応答コードServFailの応答数が多い場合は、CoreDNSのログを確認し、関連するドメイン名のトラブルシューティングを行うことを推奨します。 CoreDNSのログを分析および監視する方法の詳細については、「CoreDNSログの収集と分析」をご参照ください。 |
CoreDNSの応答時間は長いです。 | 応答時間は、ダッシュボードの [応答 (期間)] チャートで確認できます。 多数のアプリケーションが外部ドメイン名を使用する場合、CoreDNSの応答時間が長くなる可能性があります。 |
メトリクス
Application Real-Time Monitoring Service (ARMS) を有効にしてCoreDNSダッシュボードを生成しない場合、自己管理型PrometheusインスタンスでCoreDNSをモニタリングできます。 次の表に、CoreDNSメトリックを示します。
次の表に、CoreDNS 1.9.3のメトリックを示します。 詳細については、「CoreDNS公式ドキュメント」をご参照ください。
メトリック | データ型 | 説明 |
requests_total | Counter | サーバー、ゾーン、proto、family、およびtypeからのDNSクエリの数。 |
request_duration_seconds | ヒストグラム | 次の側面からの応答時間: サーバーとゾーン。 |
request_size_bytes | ヒストグラム | DNSクエリのサイズは、サーバー、ゾーン、およびprotoです。 ヒストグラムバケットの閾値は、0、100、200、300、400、511、1023、2047、4095、8291、16e3、32e3、48e3、64e3を含む。 単位は秒です。 |
do_requests_total | Counter | 次の側面からのDOビットを含むDNSクエリの数: サーバーとゾーン。 |
response_size_bytes | ヒストグラム | DNS応答のパケットサイズは、サーバー、ゾーン、およびprotoからのものです。 ヒストグラムバケットの閾値は、0、100、200、300、400、511、1023、2047、4095、8291、16e3、32e3、48e3、64e3を含む。 単位は秒です。 |
responses_total | Counter | サーバー、ゾーン、rcode、プラグインからのDNS応答の数。 |
panics_total | Counter | CoreDNSで発生するパニックの数。 |
plugin_enabled | ゲージ | プラグインが有効になっているかどうかを、サーバー、ゾーン、および名前の側面から示します。 |
https_responses_total | Counter | サーバーとステータスの観点から、HTTPS (DoH) を介したDNSクエリの数。 |