問題
メトリックデータポイントを Metric API に送信しましたが、データを照会しても期待したものが表示されません。次のチェックリストを使用して、根本的な原因を特定します。
- データを正しく照会していることを確認してください 。
- APIが返す HTTPステータスコードを確認する 。認証失敗などの問題は、HTTPステータスコードで診断することができます。
- Prometheus サーバーから New Relic の remote_write エンドポイント を介してデータを送信している場合は、Prometheus サーバーのログを確認し、New Relic エンドポイントからのエラーや 2xx ではない HTTP 応答を確認してください。
- アカウントに問い合わせ
NrIntegrationError
イベント.New Relic のインジェストエンドポイントは非同期で、つまり が HTTP レスポンスを返した後にエンドポイントがペイロード _を検証します。ペイロードの検証中に何らかの問題が発生した場合、NrIntegrationError
イベントがお客様のアカウントに作成されます。また、New Relic はNrIntegrationError
イベントを使用して、様々な料金制限に達した際にお客様に通知します。
解決策### エラーの詳細を見る
NrIntegrationError
イベントの使用方法については、 NrIntegrationError
を参照してください。Metric APIインジェストの問題を調べるためのNRQLの例を示します。
SELECT count(*) FROM NrIntegrationError WHERE newRelicFeature = 'Metrics' facet category, message limit 100 since 24 hours ago
category
は、エラーのタイプを示し、 message
は、エラーに関するより詳細な情報を提供します。 category
が rateLimit
である場合、 rateLimitType
フィールドも調べて、レート制限のタイプに関する詳細情報を得る必要があります。
カテゴリー | rateLimitType | 説明と解決策 |
---|---|---|
| (設定なし) | JSON ペイロードに問題があります。これには、JSONの構文エラー、属性名や値が長すぎることなどがあります。
|
|
| 1分あたりのデータポイントの送信数が多すぎます。このエラーが表示された場合は、データを送信する頻度を減らすか、メトリックレートの制限値の変更を要求することができます。New Relic のアカウント担当者に連絡するか、 サポートポータル にアクセスしてください。 |
|
|
|
|
| Prometheus サーバーが New Relic の remote_write エンドポイント を介して、あまりにも多くのユニークなタイムスケールを報告しています。 Prometheus のサーバー構成 を変更してスクレイプされるターゲットの数を減らすか、サーバー構成の remote_write セクション で relabel rules を使用してタイムスケールや非常にユニークなラベルを削除することで、報告されるユニークなタイムスケールの数を減らします。 |
|
| 1分間に送信されるリクエスト数が多すぎます。これを解決するには、各リクエストにもっと多くのデータポイントを入れて、リクエストの送信頻度を下げてください。 |
|
| 1日のエラーグループ数の上限を超えました。受信したエラーグループは、その日の残りの時間はドロップされ、UTC 0時以降は通常通りになります。 これを解決するには、New Relic が収集するユニークなエラーメッセージの量を減らします。 |
インジェストされたペイロードにエラーをマッチさせる
NrIntegrationError
イベント が HTTP リクエストのペイロードの構文問題の結果として作成された場合、そのイベントには apiKeyPrefix
と requestId
という属性が含まれます。* apiKeyPrefix
は、データの送信に使用したAPIキーの最初の6文字と一致します。
requestId
は、HTTP レスポンスで送信されたrequestId
と一致しています。これらのフィールドを表示するには、次の NRQL クエリを実行します。
SELECT message, apiKeyPrefix, requestId FROM NrIntegrationError limit 100
特定の requestId
を確認するには、以下の NRQL クエリを実行します。
SELECT * FROM NrIntegrationError where requestId ='REQUEST_ID'
NrIntegrationError
イベントのプログラムによる取得これらのエラーをプログラムで取得するには1. Insights クエリの API キー を持っていることを確認してください(アクセス先: insights.newrelic.com > Manage data> API キー )。
下図のようなHTTPリクエストを作成します。
ヒント
お使いのアカウントがEUデータセンターでデータをホストする場合は、適切なEU地域アカウント向けAPIエンドポイントを使用していることを確認してください。
curl -H "Accept: application/json" -H "X-Query-Key:YOUR_API_KEY_HERE" "https://insights-api.newrelic.com/v1/accounts/YOUR_ACCOUNT_HERE/query?nrql=SELECT%20*%20FROM%20NrIntegrationError%20where%20newRelicFeature='Metrics'"