• English日本語한국어
  • ログイン今すぐ開始

この機械翻訳は参考用に提供されます。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、こちらのページをご覧ください。

問題を作成する

Prometheus エージェントのトラブルシューティング ガイド

詳細なログの取得

verboseLogまたはglobal.verboseLog変数をtrueに設定することにより、 newrelic-prometheus-agentチャートで詳細ログを有効にできます。

# (...)
global:
verboseLog: true
# (...)

これが値ファイルで更新されたら、次の helm upgrade コマンドを実行します。

bash
$
helm upgrade <RELEASE_NAME> newrelic-prometheus-configurator/newrelic-prometheus-agent \
>
--namespace <NEWRELIC_NAMESPACE> \
>
-f values-newrelic.yaml \
>
[--version fixed-chart-version]

ターゲットのメトリックが表示されない

指定されたフィルタに一致する Kubernetes 内のターゲットを検出するjobが少なくとも 1 つ必要です。そうでない場合、ターゲットはstatic_targetとしてリストされている必要があります。

Kubernetes でデフォルト構成を使用している場合は、ポッドまたはサービスにprometheus.io/scrape=trueアノテーションがあることを確認してください。

デフォルトでは、Prometheus エージェントはPrometheus 統合からのみメトリクスをスクレイピングします。クラスター内のすべての Prometheus エンドポイントをスクレイピングすることを選択しない限り、Prometheus エージェントはsource_labelsで定義されたラベルを使用して、スクレイピングするエンドポイントをフィルタリングします。

ダッシュボードに指標が表示されない

Prometheus 統合によって提供される一部のダッシュボードは、Kubernetes ラベルによってフィルタリングされている可能性があります。詳細については、対応する統合ドキュメントを確認してください。

指標のステータスを確認する

すべてのターゲット スクレイプは、すべてのターゲット メトリックでupメトリックを生成します。スクレイピングが成功した場合、これらの指標の値は1になります。成功しなかった場合、それらの値は0です。

FROM Metric SELECT latest(up) WHERE cluster_name= 'YOUR_CLUSTER_NAME' AND pod = 'TARGET_POD_NAME' TIMESERIES

このメトリックがターゲットに存在しない場合は、削除された可能性があります。

値が0の場合、スクレイピングは失敗しています。

フィルター規則によってドロップされたターゲット

ドロップされたターゲットを確認するには、Prometheus API のtargets endpointを使用できます。

ドロップされたすべてのターゲットを JSON 形式で一覧表示し、検出されたすべてのラベルを表示するには、次のコマンドを実行します。

bash
$
kubectl exec newrelic-prometheus-agent-0 -- wget -O - 'localhost:9090/api/v1/targets?state=dropped' 2>/dev/null

ターゲットスクレイプ失敗

upメトリクスの値が0の場合、ターゲットは Prometheus によって積極的にスクレイピングされていますが、スクレイピングは失敗したことを意味します。詳細ログで理由を確認するには、次のようなログ エントリを使用します。

bash
$
prometheus ts=timestamp caller=scrape.go:1332 level=debug component="scrape manager" scrape_pool=kubernetes-job-pod target=http://1.2.3.4:80/metrics msg="<error>" err="<error detail>"

Prometheus API のtargets endpointを使用して、アクティブなターゲット リストを確認することもできます。

JSON ですべてのアクティブなターゲットを一覧表示し、検出されたすべてのラベルを表示するには、次のコマンドを実行します。

bash
$
kubectl exec newrelic-prometheus-agent-0 -- wget -O - 'localhost:9090/api/v1/targets?state=active' 2>/dev/null

失敗したターゲットが一覧表示され、次のような出力のlastErrorフィールドにエラーが表示されます。

{
"status": "success",
"data": {
"activeTargets": [
{
"discoveredLabels": <map of labels>,
"labels": <map of labels>,
"scrapePool": "kubernetes-job-pod",
"scrapeUrl": "http://172.17.0.5:80/metrics",
"globalUrl": "http://172.17.0.5:80/metrics",
"lastError": <error detail>,
"lastScrape": "2022-09-19T14:19:20.543747971Z",
"lastScrapeDuration": 0.000372542,
"health": "down",
"scrapeInterval": "15s",
"scrapeTimeout": "10s"
},
...
]
}
}
Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.