問題
メトリックデータポイントを 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 セクション で 再ラベルルール を使用して時系列または非常に一意のラベルを削除することで、報告される一意の時系列の数を減らします。 |
|
| 1分間に送信されるリクエスト数が多すぎます。これを解決するには、各リクエストにもっと多くのデータポイントを入れて、リクエストの送信頻度を下げてください。 |
|
| 1日のエラーグループ数の上限を超えました。受信したエラーグループは、その日の残りの時間はドロップされ、UTC 0時以降は通常通りになります。 これを解決するには、New Relic が収集するユニークなエラーメッセージの量を減らします。 |
インジェストされたペイロードにエラーをマッチさせる
HTTPリクエストペイロードの構文の問題の結果としてNrIntegrationError
イベントが作成されると、イベントには属性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イベントのプログラムによる取得
これらのエラーをプログラムで取得するには
インサイト クエリ API キーがあることを確認してください ( insights.newrelic.com > Manage data > API keysに移動)。
下図のようなHTTPリクエストを作成します。
ヒント
組織が EU データセンターでデータをホストしている場合は、 EU 地域のエンドポイントを使用していることを確認してください。
bash$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'"