NGINX Ingress Controller は、 Kubernetes (およびその他のコンテナー化された) 環境に特化したロード バランサーです。Ingress コントローラーは、Kubernetes アプリケーション トラフィック ルーティングの複雑さを抽象化し、Kubernetes サービスと外部サービス間のブリッジを提供します。
NGINX Ingress Controller は、Prometheus サーバーまたはエージェントによってスクレイピングできるメトリックを公開します。これらのメトリクスは、進行中のプロセス接続と、システムが処理している現在の入力負荷を通知します。これらのメトリクスは、イングレス構成のリロードについても通知し、構成リロード エラーまたは予期しない構成変更に関するアラート条件を強化します。
New Relic を使用して、NGINX Ingress Controller のパフォーマンスの可視性を高め、潜在的な構成エラーについて警告します。New Relic を使用すると、以下を監視できます。
- 設定のリロード モニタリング(エラーと最後に成功したリロード)
- 入力クラスによってファセットされたスループット
- ペイロード サイズと応答時間に関する要求と応答の洞察
- CPU とメモリの統計
統合を有効にする
統合を有効にするには、次の手順に従います。
Prometheus のNGINX Ingress Controller のドキュメントに従って、メトリクス エンドポイントを検出します。
Prometheus モニタリングをセットアップします。Prometheus メトリクスは New Relic と統合する必要があります。Prometheus Agent または Remote Write 統合を使用できます。Prometheus メトリクスの送信方法を参照してください。
重要
Prometheus Agent は、デフォルトで一連の統合からメトリックのみをスクレイピングします。
この場合、ポッドまたはエンドポイントを、文字列
nginx
を含むラベルapp.kubernetes.io/name
、app.newrelic.io/name
、k8s-app
のいずれかで識別する必要があります。次のクエリを使用して、メトリクスが期待どおりに取り込まれていることを確認します。
FROM Metric SELECT count(*) WHERE metricName LIKE 'nginx_%' FACET metricName LIMIT MAX組み込みの と アラート にアクセスするには、 NGINX Ingress Controller クイックスタート をインストールします。
インポートしたら、アセットを編集または複製して、特定の要件に適合させることができます。
重要
ダッシュボードの一部のグラフには、ポッドまたはエンドポイントの識別を必要とする条件付きのクエリが含まれており、これらのラベル
app.kubernetes.io/name
、app.newrelic.io/name
、k8s-app
のいずれかに文字列nginx
が含まれています。
データを見つけて使用する
指標
Prometheus メトリックは、ディメンション メトリックとして格納されます。NRQL を使用してクエリを実行するか、データ エクスプローラーを使用して、使用可能なメトリック、ファセット、および関連付けられたディメンションによるフィルターを参照できます。
この統合によって公開されるさまざまなメトリックのセットは、NGINX Ingress Controller のドキュメントで定義されています。
次の NRQL クエリを使用して、New Relic に取り込まれているメトリクスを理解します。
一意のメトリック名を一覧表示します。
FROM Metric SELECT uniques(metricName) WHERE metricName LIKE 'nginx_%' LIMIT MAXメトリック更新の数をカウントします。
FROM Metric SELECT datapointcount() WHERE metricName LIKE 'nginx_%' LIMIT MAXデータの取り込みを見積もります (毎日の取り込み、バイト単位):
FROM Metric SELECT bytecountestimate() WHERE metricName LIKE 'nginx_%' SINCE 1 day ago
トラブルシューティング
NGINX Ingress Controller ドキュメントのトラブルシューティングのヒントに従って、メトリックがクラスターで期待どおりに構成されていることを確認します。
Prometheus 統合の特定のトラブルシューティング ガイドラインを確認することもできます。