Argo CD は Kubernetes コントローラーであり、実行中のすべてのアプリケーションを継続的に監視し、それらのライブ状態を Git リポジトリで指定された望ましい状態と比較します。
New Relic を使用して、Prometheus メトリクスに基づいたダッシュボードを表示し、k8s クラスターの Argo CD インフラストラクチャをよりよく理解します。New Relic を使用すると、以下を監視できます。
- アプリケーションのヘルス ステータス
- アプリケーションの同期ステータス
- Argo CDコントローラーの統計
- Argo CD サーバーの統計
- リポジトリ統計
統合を有効にする
統合を有効にするには、次の手順に従います。
Prometheus モニタリングをセットアップします。Prometheus メトリクスは New Relic と統合する必要があります。Prometheus Agent for Kubernetes または Prometheus Remote Write 統合を使用できます。詳細については 、Prometheus メトリクスを送信する方法を 参照してください。
重要
Prometheus Agent は、デフォルトで一連の統合からメトリックのみをスクレイピングします。
この場合、ポッドまたはエンドポイントを、文字列
argocd
を含むラベルapp.kubernetes.io/name
、app.newrelic.io/name
、k8s-app
のいずれかで識別する必要があります。次のクエリを使用して、メトリクスが期待どおりに取り込まれていることを確認します。
FROM Metric SELECT count(*) WHERE instrumentation.name = 'remote-write' AND metricName LIKE 'argocd_%' FACET metricName LIMIT MAX組み込みの と アラート にアクセスするには、 Argo CD クイックスタート をインストールします。
インポートしたら、アセットを編集または複製して、特定の要件に適合させることができます。
重要
ダッシュボードの一部のグラフには、ポッドまたはエンドポイントの識別を必要とする条件付きのクエリが含まれており、これらのラベル
app.kubernetes.io/name
、app.newrelic.io/name
、k8s-app
のいずれかに文字列argocd
が含まれています。
指標を見つけて使用する
Prometheus メトリックは、ディメンション メトリックとして格納されます。NRQL を使用してクエリを実行するか、データ エクスプローラーを使用して、使用可能なメトリック、ファセット、および関連付けられたディメンションによるフィルターを参照できます。
この統合によって公開されるさまざまなメトリックのセットは、 Argo CD ドキュメントで定義されています。
次の NRQL クエリを使用して、New Relic に取り込まれているメトリクスを理解します。
一意のメトリック名を一覧表示します。
FROM Metric SELECT uniques(metricName) WHERE instrumentation.name = 'remote-write' AND metricName LIKE 'argocd_%' LIMIT MAX1 分あたりのデータ ポイント:
FROM Metric SELECT rate(datapointcount(), 1 minute) WHERE instrumentation.name = 'remote-write' AND metricName LIKE 'argocd_%' LIMIT MAXデータの取り込みを見積もります (毎日の取り込み、バイト単位):
FROM Metric SELECT bytecountestimate() WHERE instrumentation.name = 'remote-write' AND metricName LIKE 'argocd_%' SINCE 1 day ago
トラブルシューティング
次のコマンドを使用して、Argo CD Prometheus エンドポイントが、Argo CD で構成された任意の K8s ノードでメトリックを発行していることを確認します。
bash$curl <Argo CD-Pod-IP>:8082/metricsPrometheus 統合の特定の トラブルシューティング ガイドライン を確認することもできます。