• /
  • ログイン
  • 無料アカウント

Prometheusリモート書込みインテグレーションのセットアップ

いくつかの簡単のステップで、New RelicでPrometheusデータフローを取得できます。このページでは、リモート書込みインテグレーションの基本的な設定や、いくつかの一般的なトラブルシューティングのトピックを取り上げます。高可用性(HA)設定でのPrometheusサーバーのインテグレーションに関する情報は、Prometheusの高可用性ドキュメントをご覧ください。

インテグレーションの設定

New Relic OneのPrometheusリモート書込みセットアップランチャーに移動してから、これらのステップを実行します。

Prometheusデータを追加する
  1. 接続するPrometheusサーバーの名前とremote_write URLを入力します。重要:サーバーに対して入力する名前で、データに属性が作成されます。これは、New Relicにデータを送信しているPrometheusサーバーを識別する名前にもなります。

  2. 新たな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

    欧州連合のアカウント:EUから接続している場合は、以下のURLを使用してください。

    https://metric-api.eu.newrelic.com/prometheus/v1/write

    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 
      bearer_token:YOUR_LICENSE_KEY
  3. Prometheusサーバーを再起動します。

  4. New Relic UIでデータを表示するたとえば、インテグレーションをセットアップするときに自動的に作成されるリモート書き込みダッシュボードを使用します。

PrometheusおよびNew Relicメトリックタイプのマッピング

Prometheusリモート書き込みプロトコルには、New Relicにメトリクスを送信するときに、メトリクスタイプの情報や、その他の有用なメトリクスメタデータは含まれません。リモート書き込みプロトコルにこの情報は含まれていないため、New RelicはPrometheusの命名規則に基づきメトリクスタイプを推測します。これらの命名規則に従わないメトリクスは、正しくマッピングされない場合があります。

New Relicは、以下に示すPrometheusメトリクスの命名規則に基づき、PrometheusメトリクスタイプをNewRelicメトリクスタイプにマッピングします。

  • metricName_bucketはNew Relicカウントメトリクスタイプとして保存されます。
  • metricName_countはNew Relicカウントメトリクスタイプとして保存されます。
  • metricName_totalはNew Relicカウントメトリクスタイプとして保存されます。
  • metricName_sumはNew Relic概要メトリクスタイプとして保存されます。

それ以外はすべて、New Relicゲージメトリクスタイプとして保存されます。

メトリクスタイプマッピングを上書きする

Prometheus命名規則に従っていないメトリクスがある場合、メトリクスタイプを示すnewrelic_metric_typeラベル付きのメトリクスでリモート書き込みをタグに設定できます。このラベルは、New Relicによって受信されると無効になります。

例:my_counterという名前のカウンターメトリクスがあります。これには、_bucket_countまたは_totalという当社の命名規則のサフィックスがありません。この状況では、メトリクスはカウンターではなくゲージとして識別されます。これを修正するには、以下の再ラベル設定をprometheus.ymlに追加します。

- url: https://metric-api.newrelic.com/prometheus/v1/write?X-License-Key=...
write_relabel_configs:
- source_labels: [__name__]
regex: ^my_counter$
target_label: newrelic_metric_type
replacement: "counter"
action: replace

このルールはmy_counterという名前のメトリクスに一致し、そのメトリクスをカウンターとして識別するnewrelic_metric_typeラベルを追加します。以下の(大文字と小文字を区別する)値を代替値として使用できます。

  • counter
  • ゲージ
  • 概要

newrelic_metric_typeラベルが受け取ったメトリクス上にあり、有効な値の1つに設定されている場合、New Relicは、データパイプライン内のダウンストリーム消費前に、示されたタイプをメトリクスに割り当てます(また、ラベルを無効化します)。上記の命名規則に従わない複数のメトリクスがある場合、複数の規則を追加でき、各規則はさまざまなソースラベルに一致します。

送信済みメトリクスの許可リストまたは拒否リストの設定

New Relicに送信するデータをより細かく制御する必要がある場合は、メトリクスのサブセットを送信できます。これを行うには、keepまたはdenyのサブパラメーターアクション値を持つwrite_relabel_configsパラメーターでリモート書き込みを構成します。

この例では、正規表現に一致するメトリクスのみを送信します。一致しないメトリクスは送信されません。または、action: drop を使用して、正規表現に一致するすべてのメトリクスを削除することもできます。

- url: https://metric-api.newrelic.com/prometheus/v1/write?X-License-Key=...
write_relabel_configs:
- source_labels: [__name__]
regex: "coredns_(.*)|etcd_(.*)"
action: keep

このKubernetesの例は、このHelmチャートのvalues.yamlファイルを使用します。別のHelmチャートを使用している場合は、そのremoteWriteドキュメントを確認してください(例えば、一部のHelmファイルでは代わりにcamelcase writeRelabelConfigsを使用します)。

remoteWrite:
- url: https://metric-api.newrelic.com/prometheus/v1/write?X-License-Key=...
write_relabel_configs:
- source_labels: [__name__]
regex: "coredns_(.*)|etcd_(.*)"
action: keep

リモート書込みの動作をカスタマイズする

New Relicで複数のアカウントに書き込みを行っている場合、または複数のPrometheusデータソースをNew Relicの同じアカウントに接続している場合、以下のパラメーターをカスタマイズできます。詳細については、リモート書き込みチューニングに関するドキュメントを参照してください。

エラーメッセージのトラブルシューティング

New Relicからインテグレーションのエラーメッセージを受信、またはPrometheusサーバーを再起動後にPrometheusサーバーログでエラーメッセージを受信する場合は、リモート書き込みのトラブルシューティングドキュメントを確認してください。これには、欠落した文字や不正な文字、不正なリクエスト、長すぎるリクエストエンティティ、レート制限エラーなど、一般的なエラーの修正方法が含まれています。

インテグレーションを削除する

Prometheusリモート書き込みインテグレーションを削除すると、新規データのフローを停止しますが、過去データのパージや削除はされません。インテグレーションを削除するには、Prometheus YMLファイルから設定コードスニペットを削除してから、サーバーを再起動します。

その他のヘルプ

さらに支援が必要な場合は、これらのサポートと学習リソースを確認してください:

問題を作成するこのページを編集する
Copyright © 2020 New Relic Inc.