問題
Prometheus OpenMetrics integration for Docker or Kubernetes をインストールしましたが、New Relic の UI でデータがまばらであったり、メトリクスが欠けていたり、データにギャップがあることに気づきました。
解決策
一部のメトリクスが定期的に収集されていない場合は、次のようにしてください。
CPUがスロットルされていないか、コンテナに割り当てられているメモリが十分かどうかを確認します。
コンテナに十分なリソースが用意されていない場合、サンプルの間隔を長くしてデータを送信することがあります。メモリの上限が低いと、統合が強制終了して再起動されることがあります。リソースの適切な制限と要求は、監視するターゲットの数や、各ターゲットが公開するメトリクスの数によって異なる場合があります。詳細については、大規模環境の構成に関するドキュメント( )の ガイドラインを参照してください。
[* インテグレーションのログに以下のエラーメッセージが表示されていないか確認してください。
{"err":"unexpected post response code: 413: Request Entity Too Large"}この問題は、一部のペイロードがドロップされる原因となります。現在、新しいリリースでは修正されています。この問題が発生した場合は、イメージを最新のものに更新してください。* 統合機能が監視している
/metrics
エンドポイントの一部がタイムアウトしたり、回答に数秒かかったりすると、データのスクレイピングが遅くなることがあります。複数のエンドポイントが回答に膨大な時間を要する場合、統合のパフォーマンスが低下する可能性があります。これは、データの断続的な欠落につながります。それらのエンドポイントを検出するために、実行します。
SELECT average(nr_stats_integration_fetch_target_duration_seconds)FROM Metric where clusterName=’clustername' SINCE 30 MINUTES AGO FACET target LIMIT 30このクエリは、Prometheus OpenMetricsインテグレーションで公開されているデータを取得し、各エンドポイントの取得に要した時間を表示しています。
レイテンシーが
1s
以上のエンドポイントを修正するか、Prometheus のスクレイピングラベルを削除してモニタリングから除外してください。* これらのエンドポイントを削除することが現実的ではなく、回答の遅延が避けられない場合は、より多くのワーカーを並行して実行するように統合を設定します。これにより、インテグレーションは同時により多くのエンドポイントを取得することができます。そのためには、インテグレーションを最新のバージョンに更新し、新しい設定オプション
worker_threads
を適用してください。4、6、8、そして16と、徐々に増やしていくことをお勧めします。この回避策は問題を最小限に抑えるものであり、複数のエンドポイントが悪さをしている場合は、やはりパフォーマンスが低下します。また、ワーカーの数が増えるとメモリやCPUの消費量が増えるため、それに合わせてメモリやCPUを増やす必要があります。* 監視しているすべてのエンドポイントのレイテンシーが低く、コンテナがスロットルされていない場合は、次のクエリを実行します。これにより、インテグレーションがすべてのターゲットをスクレイプするのにかかっている時間を確認することができます。また、設定されている
scrape_duration
を超えている場合は、データを送信します。SELECT latest(nr_stats_integration_process_duration_seconds) FROM Metricwhere clusterName=’clustername' SINCE 30 MINUTES AGO TIMESERIESまず、インテグレーションを公開されている最新のイメージに更新します。次に、すべてのターゲットをスクレイプするのに必要な時間を短縮するために、設定オプション
worker_threads
でワーカーの数を増やします。r_stats_integration_process_duration_seconds
が定義されたscrape_duration
に近づくまで、4から6、8、そして16へと徐々に増やしていくことをお勧めします。メモリ消費量とCPU使用率が増加することに注意してください。](/docs/integrations/prometheus-integrations/install-configure-openmetrics/configure-prometheus-openmetrics-integrations)