いくつかの簡単のステップで、New RelicでPrometheusデータフローを取得できます。アカウントをまだお持ちでない場合は、新たにNew Relicにサインアップできます。
このページでは、リモート書込みインテグレーションの基本的な設定や、いくつかの一般的なトラブルシューティングのトピックを取り上げます。高可用性インテグレーションに関する情報については、Prometheus高可用性リソースをご覧ください。
インテグレーションの設定
Prometheusリモート書込み設定ページで、次のステップを完了します。
- 接続しているPrometheusサーバーの名前と、
remote_write
URLを入力します。サーバーの名前を入力すると、データについての属性が作成され、その名前が、接続しているPrometheusサーバーの特定に使用する名前となります。
- 新たな
remote_write
URLを、Prometheus YMLファイルに追加します。この情報は、グローバル
セクションと同じインデントにある、ファイルのglobal_config
の下に追加してください。次の構文を使用することをお勧めします。remote_write: - url: https://metric-api.newrelic.com/prometheus/v1/write?prometheus_server=<YOUR_DATA_SOURCE_NAME>
代わりに、次の設定を使用することもできます。bearer_token:<YOUR_LICENSE_KEY> remote_write: - url: https://metric-api.newrelic.com/prometheus/v1/write?X-License-Key=<YOUR_LICENSE_KEY>&prometheus_server=<YOUR_DATA_SOURCE_NAME>
KubernetesとHelmを使用してリモート書込みインテグレーションを完了している場合、リモート書込みURLをHelmの
values.yaml
ファイルに書き込んでください。remoteWrite: []
を、以下の例と同じ2行に置き換えます。リモート書き込みURLを使用し、残りのファイルに一致するインデントを使用してください。remoteWrite: - url: https://metric-api.newrelic.com/prometheus/v1/write?prometheus_server=<YOUR_DATA_SOURCE_NAME> bearerToken:<YOUR_LICENSE_KEY>
- Prometheusサーバーを再起動します。
- データを表示する。
リモート書込みの動作をカスタマイズする
New Relicで複数のアカウントに書き込みを行っている、または複数のPrometheusデータソースをNew Relicの同じアカウントに接続している場合、次のパラメーターをカスタマイズできます。
- X-ライセンスキー
-
アカウントのライセンスキーは、APIキーではありません。ライセンスキーは、認証と、どのアカウントにデータを書き込むかの特定に使用します。
詳細:
- 別のNew Relicアカウントやサブアカウントに書き込むようPrometheusを設定している場合、それぞれのリモート書込みURLで異なるキーを使用してください。
prometheus_server
URLパラメーター-
prometheus_server
パラメーターは、NRDBに書き込まれる統計を追加するのに使用するラベルまたは属性です。Grafanaデータソースを設定して結果を特定のprometheus_server
からのものに限定する場合、これと同じラベルを使用してください。
インテグレーションのトラブルシューティング
New Relicからインテグレーションのエラーメッセージ、またはPrometheusサーバーの再起動後にPrometheusサーバーログでエラーメッセージを受信した場合、いくつかのアクションにより問題を解決しデータフローを適切なものとすることができます。一般的な問題とエラーメッセージに関するいくつかのヒントは次のとおりです。
一般的なエラーと問題:
- 設定ファイルのリモート書込みURLに文字がない、または間違っている(例としてはエンドポイントやライセンスキー、
prometheus_server
名)、またはファイルで情報の場所が正しくないことで、Prometheusサーバーが起動しなかったり、リモート書込みが適切に機能しなかったり、エラーメッセージがPrometheusサーバーログに表示されます。 - 400: 不正なリクエストエラー。不正なリクエストエラーでデータが表示されない場合、設定ファイルをチェックし、リモート書込み情報の場所が正しいことと、文字がなかったり正しくないということがないことを確認します。
- 413: リクエストエンティティが大きすぎます。この場合、複数のフィールドまたはペイロード全体で限度を超えているリクエストを送信しています。
- 429: レート制限エラー。この場合、一度に送信するデータの量のレート制限に達しています(例:1分当たりの濃度またはデータポイント)。送信しているPrometheusまたは一般メトリックデータの量を減らすか、レート制限の増加を要請して、問題を解決できます。
次のいずれかまたは両方を行い、New Relicでエラーメッセージを調査できます。
- NRQLを使用してエラーメッセージでクエリを実行してから、UIのメッセージフィールドに、問題の原因についての説明が表示されていることを確認します。例えば:
SELECT * FROM NrIntegrationError WHERE newRelicFeature = 'Metrics'
- 個別のエラーを時間内に調査し、いつどこで発生するかや同時に発生する問題を確認し、それに基づきターゲットを絞ったトラブルシューティングを実行します。例えば:
SELECT count(*) FROM NrIntegrationError WHERE newRelicFeature = 'Metrics' TIMESERIES
- データを正常に送信できるがクエリを行えないことを検証した場合、検査済みの数の制限などその他の種類の制限を実行できます。これにより、インテグレーションプロセスの間、次のようなエラーメッセージの裏付けとすることができます。
Prometheusデータソースのデータを取得できません<name>
。
インテグレーションを削除する
インテグレーションを削除するには、Prometheus YMLファイルから設定コードスニペットを削除し、サーバーを再起動します。
インテグレーションを削除すると、新規データのフローが停止しますが、過去データのパージや削除は行われません。