CoreDNS は、プラグインをチェーンする Go で記述された DNS サーバーおよびフォワーダーです。各プラグインは DNS 機能を実行します。
CoreDNS パフォーマンスの視覚化、潜在的なエラーのアラート、エラー シナリオでのトラブルシューティングに New Relic を使用します。CoreDNS は重要な Kubernetes クラスター コンポーネントです。New Relic を使用すると、以下を監視できます。
- システムの状態
- CoreDNS レイテンシ
- CoreDNS エラー
- キャッシュ統計
統合を有効にする
統合を有効にするには、次の手順に従います。
Prometheus のCoreDNS ドキュメントに従って、CoreDNS メトリクス エンドポイントを検出します。
Prometheus モニタリングをセットアップします。Prometheus メトリクスは New Relic と統合する必要があります。Prometheus Agent または Remote Write 統合を使用できます。Prometheus メトリクスの送信方法を参照してください。
重要
Prometheus Agent は、デフォルトで一連の統合からメトリックのみをスクレイピングします。
この場合、ポッドまたはエンドポイントを、文字列
coredns
またはkube-dns
を含むラベルapp.kubernetes.io/name
、app.newrelic.io/name
、k8s-app
のいずれかで識別する必要があります。次のクエリを使用して、メトリクスが期待どおりに取り込まれていることを確認します。
FROM Metric SELECT count(*) WHERE metricName LIKE 'coredns_%' FACET metricName LIMIT MAXCoreDNS クイックスタートをインストールして、組み込みのダッシュボードとアラートにアクセスします。
インポートしたら、アセットを編集または複製して、特定の要件に適合させることができます。
重要
ダッシュボードの一部のチャートには、文字列
coredns
またはkube-dns
を含むこれらのラベルapp.kubernetes.io/name
、app.newrelic.io/name
、k8s-app
のいずれかでポッドまたはエンドポイントを識別する必要がある条件のクエリが含まれています。
データを見つけて使用する
指標
Prometheus メトリックは、ディメンション メトリックとして格納されます。NRQL を使用してクエリを実行するか、データ エクスプローラーを使用して、使用可能なメトリック、ファセット、および関連付けられたディメンションによるフィルターを参照できます。
この統合によって公開されるさまざまなメトリックのセットは、 CoreDNS のドキュメントで定義されています。
次の NRQL クエリを使用して、New Relic に取り込まれているメトリクスを理解します。
一意のメトリック名を一覧表示します。
FROM Metric SELECT uniques(metricName) WHERE metricName LIKE 'coredns_%' LIMIT MAXメトリック更新の数をカウントします。
FROM Metric SELECT datapointcount() WHERE metricName LIKE 'coredns_%' LIMIT MAXデータの取り込みを見積もります (毎日の取り込み、バイト単位):
FROM Metric SELECT bytecountestimate() WHERE metricName LIKE 'coredns_%' SINCE 1 day ago
トラブルシューティング
CoreDNS ドキュメントのトラブルシューティングのヒントに従って、メトリックがクラスターで期待どおりに構成されていることを確認します。
Prometheus 統合の特定のトラブルシューティング ガイドラインを確認することもできます。