Calico CNI は、 Kubernetes、仮想マシン、およびベアメタル ワークロード向けの、広く採用され、実戦でテスト済みのオープン ソース ネットワーキングおよびネットワーク セキュリティ ソリューションです。Calico は、クラウド ネイティブ アプリケーション用に 2 つの主要なサービスを提供します。
- ワークロード間のネットワーク接続。
- ワークロード間のネットワーク セキュリティ ポリシーの適用。
New Relic を使用して、k8s クラスターの Calico CNI を理解するのに役立つ Prometheus メトリクスに基づくダッシュボードを表示します。New Relic を使用すると、以下を監視できます。
- インスタンスごとのアクティブなネットワーク ポリシー
- インスタンスおよびチェーン タイプ (filter、mangle、nat、および raw) によるアクティブな IP テーブル ルール
- IP テーブルの保存と復元のエラー
- BPF が Calico のデータプレーンとして使用されている場合の BPF 固有のメトリック
統合を有効にする
統合を有効にするには、次の手順に従います。
Prometheus のCalico ドキュメントに従って、Calico メトリクス エンドポイントを見つけます。
Prometheus モニタリングをセットアップします。Prometheus メトリクスは New Relic と統合する必要があります。Prometheus Agent または Remote Write 統合を使用できます。Prometheus メトリクスの送信方法を参照してください。
重要
Prometheus Agent は、デフォルトで一連の統合からメトリックのみをスクレイピングします。
この場合、ポッドまたはエンドポイントを、文字列
calico
を含むラベルapp.kubernetes.io/name
、app.newrelic.io/name
、k8s-app
のいずれかで識別する必要があります。次のクエリを使用して、メトリクスが期待どおりに取り込まれていることを確認します。
FROM Metric SELECT count(*) WHERE metricName LIKE 'felix_%' FACET metricName LIMIT MAXCalico クイックスタートをインストールして、組み込みのダッシュボードとアラートにアクセスします。
インポートしたら、アセットを編集または複製して、特定の要件に適合させることができます。
重要
ダッシュボードの一部のグラフには、ポッドまたはエンドポイントの識別を必要とする条件付きのクエリが含まれており、これらのラベル
app.kubernetes.io/name
、app.newrelic.io/name
、k8s-app
のいずれかに文字列calico
が含まれています。
データを見つけて使用する
指標
Prometheus メトリックは、ディメンション メトリックとして格納されます。NRQL を使用してクエリを実行するか、データ エクスプローラーを使用して、使用可能なメトリック、ファセット、および関連付けられたディメンションによるフィルターを参照できます。
この統合によって公開されるさまざまなメトリックのセットは、 Calico のドキュメントで定義されています。
次の NRQL クエリを使用して、New Relic に取り込まれているメトリクスを理解します。
一意のメトリック名を一覧表示します。
FROM Metric SELECT uniques(metricName) WHERE metricName LIKE 'felix_%' LIMIT MAXメトリック更新の数をカウントします。
FROM Metric SELECT datapointcount() WHERE metricName LIKE 'felix_%' LIMIT MAXデータの取り込みを見積もります (毎日の取り込み、バイト単位):
FROM Metric SELECT bytecountestimate() WHERE metricName LIKE 'felix_%'SINCE 1 day ago
トラブルシューティング
次のコマンドを使用して、Calico CNI で構成された任意の K8s ノードで Calico Prometheus エンドポイントがメトリックを発行していることを確認します。
bash$curl <Calico-Pod-IP>:9091/metricsCalico ドキュメントのトラブルシューティングのヒントに従って、メトリックがクラスターで期待どおりに構成されていることを確認してください。
Prometheus 統合の特定のトラブルシューティング ガイドラインを確認することもできます。