• ログイン

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

NRIntegrationError イベントによる Metric API のトラブルシューティング

問題

メトリックデータポイントを 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はエラーに関するより詳細な情報を提供します。 categoryrateLimitの場合、レート制限のタイプの詳細については、 rateLimitTypeフィールドも調べる必要があります。

カテゴリー

rateLimitType

説明と解決策

BadRequest

(設定なし)

JSON ペイロードに問題があります。これには、JSONの構文エラー、属性名や値が長すぎることなどがあります。

messageフィールドをチェックして、正確な問題を判別してください。次に、JSONペイロードを確認し、適切なセマンティックガイドラインを満たしていることを確認するために更新します。

RateLimit

DatapointsPerMinute

1分あたりのデータポイントの送信数が多すぎます。このエラーが表示された場合は、データを送信する頻度を減らすか、メトリックレートの制限値の変更を要求することができます。New Relic のアカウント担当者に連絡するか、 サポートポータル にアクセスしてください。

RateLimit

UniqueTimeseriesPerDay

containerIdURIなどの一意の値が多数ある属性があります。このエラーを解決するには、問題の原因となっている可能性のある属性を確認して削除します。必要に応じて、データ削除ルールを使用して、取り込み時に属性を削除できます。

RateLimit

UniquePrometheusTimeseries

Prometheus サーバーが New Relic の remote_write エンドポイント を介して、あまりにも多くのユニークなタイムスケールを報告しています。

Prometheus のサーバー構成 を変更してスクレイプされるターゲットの数を減らすか、サーバー構成の remote_write セクションrelabel rules を使用してタイムスケールや非常にユニークなラベルを削除することで、報告されるユニークなタイムスケールの数を減らします。

RateLimit

RequestsPerMinute

1分間に送信されるリクエスト数が多すぎます。これを解決するには、各リクエストにもっと多くのデータポイントを入れて、リクエストの送信頻度を下げてください。

RateLimit

ErrorGroupsPerDay

1日のエラーグループ数の上限を超えました。受信したエラーグループは、その日の残りの時間はドロップされ、UTC 0時以降は通常通りになります。

これを解決するには、New Relic が収集するユニークなエラーメッセージの量を減らします。

インジェストされたペイロードにエラーをマッチさせる

HTTPリクエストペイロードの構文の問題の結果としてNrIntegrationErrorイベントが作成されると、イベントには属性apiKeyPrefixrequestIdが含まれます。

  • 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 キー )。

  2. 下図のような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'"
Copyright © 2022 New Relic株式会社。

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