Prometheusに保存していたデータをそのままNew Relicに保存し、Grafanaダッシュボードを使い続ける方法について、「Create Grafana Dashboards with Prometheus Data Stored in New Relic」の抄訳をお伝えします。

 

Grafanaは、データを本当に良く見せてくれます。

Grafanaを使用して異なるデータセットの可視化とアラートを行っている多くのユーザーに話を聞いてきたところ、多くのユーザーがGrafanaを高く評価しているということが分かりました。Grafanaは簡単に立ち上げて実行でき、幅広いテレメトリーデータストアに接続でき、公式およびコミュニティで作成されたダッシュボードが豊富に用意されているので、すぐに始められます。また、Grafanaはオープンソースでもあります。

恐らくGrafanaユーザーの多くはでダッシュボードを構築するのに長い時間を費やしてきて、またダッシュボードを信頼するようになっており、それを失いたくないと思っているでしょう。

そして、我々New Relicも失ってほしいとは思っていません。

そのため、New RelicはGrafana Labsと提携し、当社のTelemetry Data PlatformをPrometheusのメトリクスのデータソースとして使用し、既存のダッシュボードに表示することができるようになりました。これにより、PrometheusとGrafanaを維持したまま、New Relicが提供する信頼性、拡張性、セキュリティをシームレスに活用することができます。

PrometheusからGrafanaへのプラットフォームリンク

Prometheusに内蔵されたリモート書き込み機能は、既存のPrometheusサーバから、完全に管理されたスケーラブルな時系列プラットフォームであるTelemetry Data Platformにメトリクスを転送します。Telemetry Data Platformは、Prometheusのメトリクスからアプリケーションログや分散トレースに至るまで、すべてのデータソース間の関係を完全に接続されたグローバルな視点で見ることができます。

Prometheusリモート書き込み統合を設定し、Telemetry Data PlatformをGrafanaのPrometheusデータソースとして設定しても、現在の体験をなくすわけではありません。既存のGrafanaダッシュボードに変更はありません。New Relicに保存されているPrometheusデータを使って、新しいダッシュボードを構築することも可能です。

GrafanaでPrometheusデータストアとしてTelemetry Data Platformを構成する方法

例えば、次の2ステップだけで、PrometheusデータストアをTelemetry Data Platformに置き換え、GrafanaでPrometheusデータソースとして追加できます。最終的には、PrometheusデータをNew Relicに送信することができ、Grafanaは既存のPrometheus固有のダッシュボードにそのデータを入力します。

注:この処理にはPrometheusのバージョン2.15.0以上とGrafanaのバージョン6.7.0以上が必要です。また、New Relicにサインアップする必要があります。

ステップ1: Prometheus リモート書き込み統合でNew Relicにデータを流す

Instrument Everything - USまたはInstrument Everything - EUに移動し、Prometheusタイルをクリックして、以下の手順を実行します。

1. 接続先のPrometheusサーバーの名前を入力し、remote writeURLを生成します。

2. 生成されたremote writeスニペット(URL付き)をコピーして、Prometheus設定ファイル(prometheus.yml)に追加します。この情報を追加するのに適した場所は、globalセクションと同じインデントレベルの global_configの下です。

# my global config

global:

 scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. 

 evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.

 # scrape_timeout is set to the global default (10s).



remote_write:

- url: https://metric-api.newrelic.com/prometheus/v1/write?X-License-Key=[prometheus-demo-1 key]&prometheus_server=prometheus-demo-1

設定ファイルを持っていない場合は、Prometheusの設定ドキュメントを確認するか、この設定ファイルの例を参照してください。

3. Prometheusサーバーを再起動してください。

4. See your data.をクリックしてください。"Data received successfully..."というメッセージが表示されるはずですが、New Relicでデータを確認するには数分かかるかもしれません。

 

これであなたのPrometheusのデータは、Telemetry Data Platformに流れ込みました。

Prometheus のremote write統合を設定する方法の詳細については、ドキュメントを参照してください

ステップ2: New Relicに保存されているPrometheusデータを使用するようにGrafanaダッシュボードを設定します。

Grafana の Prometheus データストアとして Telemetry Data Platform に切り替えると、Prometheus ダッシュボードをそのまま維持することができます。Telemetry Data PlatformをPrometheusデータソースとして追加するだけです。

  1. New Relic クエリキーを生成します。New Relic Oneのホーム画面から、More > Insightsをクリックし、Insightsの左側のナビで、Manage data > API Keysをクリックします。
  2. クエリキーの横にある+アイコンをクリックし、[Notes]フィールドに、キーを使用している目的の簡単な説明を入力して、[Save your notes]クリックします。
  3. 後で必要になるので、[Show]をクリックして新しいAPIキーをコピーします。
  4. Grafanaのホーム画面で、[Configuration]> [Data Sources]をクリックします。既存のPrometheusデータソースが表示されます。これをクリックして編集します。
  5. New Relicのデータ領域に基づいて、データソースのURLフィールドを更新します。

  米国:https://prometheus-api.newrelic.com

  EU: https://prometheus-api.eu.newrelic.com

  1. AccessフィールドをServerに設定します。
  2. [Custom Headers]で、[Add Header]を選択します。ヘッダーの値をX-Query-Keyに設定し、上記でコピーしたAPIキーを追加します。
  3. [Save & Test]をクリックします。”Data source is working”というメッセージが表示され、「戻る」をクリックすると、PrometheusデータソースのURLがTelemetryデータプラットフォームを指していることが反映されるはずです。
  4. Prometheusのダッシュボードに移動してください。New RelicからのPrometheusデータがチャートに表示されているのがわかるはずです。

これでPrometheusのデータはNew Relicに保存され、Grafanaでの可視化に使用できます。設定は簡単で、ダッシュボードを再構築する必要はありません。

Grafana用のPrometheusデータソースとしてNew Relicを設定する方法の詳細については、ドキュメントを参照してください。

Grafana Enterpriseユーザー:GrafanaからすべてのTelemetry Data Platformデータをクエリしましょう!

なぜPrometheusのデータまででとどまるのでしょう?Telemetry Data Platformを使用すると、Telegraf、OpenTelemetry、Logstash、Kubernetesなど、あらゆるソースからメトリクス、イベント、ログ、トレースをインジェストすることができます。Grafanaのダッシュボードにすべてを反映させることができます。

Grafana Enterpriseを使用している場合は、New Relicデータソースプラグインを必ずインストールしてください。このプラグインを使用すると、New Relicクエリ言語(NRQL)を使用して、Telemetry Data Platformに保存されている他のデータソースのメトリクス、ログ、トレースをクエリすることができます。これらのNRQLの結果を使用して、Grafana Enterpriseでテレメトリ・ダッシュボードを構築することができます。

プラグインの詳細については、Grafana Labsのブログ記事をご覧ください。

Grafana LabsとNew Relic-相性は抜群です。

技術革新の速度と技術の多様性を考えると、本当の意味でインパクトのあるオブザーバビリティツールを作るためには、従来から競争があった分野でのコラボレーションが必要になります。Grafana Labsとのコラボレーションを楽しみにしており、すべての人にオブザーバビリティを提供できることを楽しみにしています。始める準備ができたら、Grafana Enterpriseトライアルにサインアップして、ダッシュボードに情報を入力してください。