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トライアルにサインアップして、ダッシュボードに情報を入力してください。

 

ソフトウェアエンジニア、インフラエンジニアなど自社開発や自社運用の現場で経験を積んだのち外資系ソフトウェアベンダーでのテクニカルサポートを経て現職。New Relicユーザーだった経験あり。コミュニティでの登壇活動も多く、Microsoft MVPを7年連続受賞中。Microsoft Certified Azure Solutions Architect Expert。得意分野はC#をはじめとするソフトウェア開発、Kubernetes関連技術およびパブリッククラウド。 View posts by .