新しくなったNew Relic Oneでの製品体系の一つ、Telemetry Data PlatformではNew RelicのAgentだけではなく、OSSのツールからのデータも収集しダッシュボードを作ることができます。Prometheusでメトリクスデータを収集し、Grafanaでダッシュボードを作っている方も多いと想いますが、扱うデータ量の増大に悩む方も多いと聞いています。Telemetry Data PlatformではスケールアップしていくPrometheusからのデータを問題なく扱える上に、Grafanaのダッシュボードをそのまま使うこともできます。「Effortlessly Scale Prometheus With the Telemetry Data Platform—And Keep Your Grafana Dashboards, Too!」の抄訳にて詳しい使い方をみていきましょう。
ギリシャ神話に出て来る巨人の1人Prometheus(プロメテウス)は、人類に火をもたらしました。そしてCNCFは、世界中のオープンソースユーザーにPrometheusをもたらしました。
そして今、当社はNew RelicにPrometheusをもたらしました。
インフラストラクチャメトリクスは重要であり、Prometheusが多くの企業に欠かせないことを当社は理解しています。その人気の理由は明らかです。インストールが簡単で、Kubernetesの標準メトリクスツールであり、Grafanaとシームレスに一体化して、活動的な開発者/ユーザーのコミュニティができあがっているからです。
とはいえ、それ一つでどんな場合にも通用するものではないことも理解しています。事業とともに成長を目指す小さなチームには、Prometheusのデプロイメントを管理しスケーリングする課題がある一方ベンダー管理のソリューションはコスト的に手が届きません。複雑なシステムと大容量のテレメトリーデータを扱う企業チームは、複数のサイロ化されたPrometheusとGrafanaのインスタンスを使用しており、問題が発生したときの平均検出/解決時間が長引くことが少なくありません。
可用性や拡張性をめぐる制約も加わり、Prometheusはすぐに業務上の重荷になりかねません。
Prometheusはそのままに、New Relicを使うと制約を克服することができます。そのためPrometheusリモート書込みインテグレーションとGrafanaのサポートをNew Relic Telemetry Data Platformの鍵と位置づけます。しかも今日から無料で利用できるのです。
標準的なPrometheus環境 vs New Relic Telemetry Data Platform
Telemetry Data Platformは、オープンソースの、あるいはベンダー固有の、あるいはベンダーに依存しないあらゆるテレメトリーデータを一か所に保管できる、全面的に管理された拡張性の高い時系列プラットフォームです。スケールすることを前提に構築されており、パワフルで、テラバイトサイズのクエリデータをミリ秒単位のレスポンスタイムで処理します。
Prometheusのビルトインリモート書込み機能は、貴社の既存のPrometheusサーバーのメトリクスをTelemetry Data Platformに転送できます。メトリクスがTelemetry Data Platformにくると、今すぐ13か月間の保持/オンデマンドの拡張性をご利用になれます。貴社のテレメトリーデータが全て1か所にあれば、あらゆるソフトウェアスタックからのデータを結合/グループ化するダッシュボードを構築できます。Prometheusメトリクスからアプリケーションログ、各マイクロサービス間の分散トレースまで、あらゆるデータソース間の関係を、完全に接続されたグローバルビューで把握できます。
制約を減らすという観点から、以下について考えてみてください。
貴社のニーズ | 標準的なPrometheus環境 | New Relic |
データの永続性 | 15日間のデフォルト保持、それ以前のデータの削除 | 13か月間の保持 |
拡張性 | 水平スケーリングしない。メモリ使用率は保管データの量に比例し、データが増えるとノードメモリの限界に達する | 拡張性のあるマルチテナントアーキテクチャ |
データのグローバルビュー | ノード間のシームレスで効率的なデータ結合ができない。ノード間でデータにアクセスするには複数のGrafanaインスタンス、もしくは追加のボルトオンソリューションが必要 | Prometheusその他全てのデータストレージを統一された1つのデータベース。New Relicから、もしくはGrafanaを使ってクエリ可能 |
管理のしやすさ | アーキテクチャが複雑で、正しいセットアップ/設定/運用にDIY精神とドメインの専門知識が必要 | New RelicのPrometheus/Grafanaインテグレーションでは数分でセットアップが可能 |
セキュリティ | エンタープライズグレードで基本的なセキュリティ性の不足。セキュリティを強化するには、ツールの追加と継続的なメンテナンスが必要 | あらゆるデータとあらゆるユーザー向けのビルトインエンタープライズグレードのセキュリティ |
Prometheusリモート書込みインテグレーションについて
Prometheusにあまり慣れていない、あるいは成熟したPrometheus環境を備えていないお客様向けのPrometheus OpenMetricsインテグレーションとは異なり、Prometheusリモート書込みインテグレーションは、独自のPrometheus環境を維持しながら、Telemetry Data Platformにもデータを送信したい方向けです。
Prometheus YAMLファイルにリモート書込みを設定すると、Prometheusデータはほぼ即座にTelemetry Data Platformに送り込まれます。データを可視化するには2つの選択肢があります。
- New RelicのUIで:チャートビルダーでNew Relic Query Language (NRQL)またはPromQLスタイルを使用する(後述)か、ダッシュボードやカスタムアプリケーションを使用します。
- Grafana:Data PlatformをGrafanaにおけるPrometheusデータソースとして設定します。
Prometheusリモート書込みインテグレーションの設定方法
始める前に、バージョン2.15.0以降のPrometheusが実行されていることを確認してください。
Prometheusリモート書込みをセットアップするには、Instrument Everything – USまたはInstrument Everything – EUに移動し、Prometheusタイルをクリックして、以下の手順を実行します。
- 接続するPrometheusサーバーの名前を入力し、自分のリモート書込みURLを生成します。注:入力に使用した名前でデータ属性が生成され、接続先のPrometheusサーバーが識別します。
- 生成されたリモート書込みスニペット(URL付き)をコピーして、PrometheusYAMLファイルに追加します。
- Prometheusサーバーを再起動します。
- New RelicまたはGrafanaで自分のデータを見ることができます。
リモート書込み動作のカスタマイズに関する詳細は、ドキュメンテーションを参照してください。
New RelicをGrafanaでPrometheusデータソースとして設定する方法
Prometheusリモート書込みインテグレーションをセットアップして、Telemetry Data PlatformをGrafanaのPrometheusデータソースとして設定する際には、PromQLスタイルシンタックスを使用して、New Relicに保管されているPrometheusデータで既存のGrafanaダッシュボードを埋め込むことができます。
Grafanaのバージョン6.7.0以降が必要です。
- New RelicでX-Queryキーを新規作成します。
- Grafanaのホーム画面からConfiguration > Data Sourcesと進み、Add data sourceをクリックします。
- Time series databasesオプションの下にあるAdd data sourceスクリーンからPrometheusを選択します。
- 新規Prometheusデータソースの任意の名前を入力します。
- デフォルトのトグルを設定します。これをPrometheusクエリのデフォルトデータソースにするかどうかによってどちらかに設定されます。
- Off:デフォルトのデータソースにしない
- On:デフォルトのデータソースにする
- URLを正しく入力します。
- Custom Headersの下にあるAdd Headerを選択します。X-Query-Keyと、ステップ1で作成したキーを入力します。
- HTTPメソッドはGETを選択します。
- 保存とテストをクリックします。
設定情報の詳細は、ドキュメンテーションを参照してください。
Telemetry Data PlatformにおけるPromQLからNRQLへの変換
NRQLのような新言語の学習は大きな進歩となり得ますし、PromQLの知識も習得してきたことでしょう。この移行を楽に行えるように、当社はトランスレータを作成しました。これを利用すれば、書いていたPromQLシンタックスをNRQLクエリに変換できます。チャートビルダーでPromQLを選択して、クエリを入力します。
今のところ当社はいくつかの集計/算術/数学/レート関数に対応していますが、さらなるPromQLへのサポートも計画しています。
詳細はPromQLドキュメンテーションを参照してください。
PrometheusデータをTelemetry Data Platformで強化してみましょう
Telemetry Data Platformがあれば、統一性を持ちながらPrometheusなどのあらゆるソースからのメトリクス、イベント、ログ、トレースの収集/解析/可視化/アラートを行えます。リモート書込みインテグレーションを利用すれば、追加サーバー/データストアのホストおよび運用コストや複雑さを軽減でき、貴社のPrometheusデータは、繁忙期に対応できるよう設計されたデータベースに確実に送られます。
今すぐ登録して、毎月100GBのデータ収集とFull-Stack Observabilityのユーザーライセンスを1つ、無料でご利用ください。今日からPrometheusとGrafanaのインテグレーションを始めましょう。
The views expressed on this blog are those of the author and do not necessarily reflect the views of New Relic. Any solutions offered by the author are environment-specific and not part of the commercial solutions or support offered by New Relic. Please join us exclusively at the Explorers Hub (discuss.newrelic.com) for questions and support related to this blog post. This blog may contain links to content on third-party sites. By providing such links, New Relic does not adopt, guarantee, approve or endorse the information, views or products available on such sites.