運用担当者であれば、必要なことをすべて行うために複数のツールを購入する必要がない、真にひとつのモニタリングソリューションを探すことは、よくあるケースだと思います。中には、祈るほどに求めている方もいるかもしれません。

幸いなことに、すべてのカスタムデータを New Relic に取り込むために、シルバン・エルフの予言者になる必要はありません。New Relic Instant Observabilityでは、Cloudflare や JenkinsPostman などのツールと統合した 500以上のクイックスタートバンドルが提供されています。

IT 部門で数週間以上働いたことがある人であれば、運用に必要なすべての関連データを予測し、収集し、可視化するベンダーがいないことに気づくでしょう。

では、組織固有の、自前の、専門的なアプリケーションからのデータをどのように監視すればよいのでしょうか。New Relic は、プラットフォーム、フレームワーク、スタックに基づいて、必要なデータを取得します。しかし、カスタム性の高いメトリクス、イベント、ログ、トレースは、私たちの用意したクイックスタートを用いてもすべてのユースケースにそのまま対応できない場合があります。

また、市販ツールについても考慮する必要があります。Exchange、ServiceNow、SAP などの有名なアプリケーションの中にも、さまざまなチームや組織が使用する幅広いデータが存在します。しかし、話はそこにとどまりません。温度や空調などの環境ソリューション、ローカルバックアップツール、ケーブルやネットワーク管理システムなど、さまざまなものがあります。

これらのアプリケーションはすべて、パフォーマンスに関する貴重な情報を提供し、さらには物事が問題発生に向かっている場合の前兆を示す機能を有しています。そのため、これらのデータを取り込むソリューションが社内外で見つからない場合は、ニーズに合わせてカスタマイズされたものが必要になるかもしれません。New Relic は、カスタムデータを取り込むことができる軽量でアプリケーションに依存しないソリューションで、そのすべて (およびそれ以上) を実現する能力を備えています。そして何より、当社のインフラストラクチャエージェントにバンドルされています。私たちはこのソリューションを Flex と呼んでいます。

Flex とは 

Flexとは、入力を取り込み、処理し、まるでビルド済みのインテグレーションから届いたかのように New Relic に送信するオールインワンのツールです。

Flex の仕組み 

Flex は、弊社のインフラストラクチャエージェントと設定ファイルを使用して、New Relic が使用できる形式でレポートしたいデータを生成します。CLI コマンドの出力を収集したり、ファイルの新しいエントリを定期的に読み込んで処理したり、外部 URL や API コールからデータを取得したり、その一部またはすべてを New Relic アカウントに送信してダッシュボードに表示したり、アラートトリガーの一部として使用したりすることが可能です。

Flex はどんな時に使うべきか 

社内のチケット発行システムで、チケットをクローズするまでの最長待ち時間を把握したいですか? そのような場合は Flex を使用しましょう。フィッシングメールをフィルタリングするために、最も多く受信するメールアドレスのうち、アドレス帳にないものを知りたいですか? そのような場合は Flex を使用しましょう。SQL クエリの出力と Web データ、さらには .csv に残ったデータを関連付ける必要がありますか?そのような場合は Flex を使用しましょう。

また、Flex は Kubernetes でのみ実行されるサービスの監視も行うことができるため、特定の Kubernetes クラスタのパフォーマンスを把握することもできます。あるいは、IoT デバイスやその他の特殊なハードウェアから情報を収集するために使用することもできます。また、Flex を使用して、クローズドなアプリケーションからのデータと、そのアプリケーションを実行しているサーバーのパフォーマンスデータを結びつけることも可能です。これらはほんの一部の使用例ですが、あなたの具体的なケースはどうでしょうか?もしかしたら、あなたが必要とするものは、すでに誰かが作っているかもしれません。

New Relic コミュニティは Github にサンプルリポジトリを作成し、カスタムデータに関する 200 以上のオープンソースソリューションをリストアップしています。独自のソリューションを構築したい場合には、そのための API が利用できます。 

Flex の設定に必要な知識 

もしかしたら、こんなことを考えていませんか?「確かに、Flex ならデータ取り込みができる。そのためには、自分のカスタムソリューションをコード化するために、ややこしい言語を習得する必要があるのではないだろうか?シルヴァン・エルフの預言者になるために新しいコーディング言語でレベルアップするのは嫌だ!」 

一言でいえば、答えはノーです。正規表現を学ぶ必要はありませんし、Python の list()と [] 演算子の違いについて学ぶ必要もありません。確かに、Flex ではデータのクエリを実行する必要があるため、New Relic クエリ言語、つまり NRQL (そう、NRQL は当社のプロダクト管理ディレクターが飼っている猫の名前でもあります) を少し知っている必要があります。また、YAMLの知識も必要です。YAML は人間が読める、key と value がペアになったタイプの設定ファイルです。

New Relic では、NRQL のドキュメンテーションと New Relic University コースの両方を用意しています。もしくは、私の同僚であり主席デベロッパーリレーションズ・アドボケートの Leon Adato が担当する、次回の間違いなくシンプルな Flex ブログシリーズで、5分とかからずに実行できるサンプルを試してみることもできます。彼が、Flex のセットアップとメトリクスの設定をわずか数ステップでご紹介します。 

New Relicでは、NRQL のドキュメンテーションと New Relic University コースの両方を用意しています。また、私の同僚で Principal Developer Relations Advocate である Leon Adato による、次回の Absolutely simple Flex ブログシリーズでは、5分とかからずに実行できるサンプルを試してみることもできます。彼が、Flexのセットアップとメトリクスの設定をわずか数ステップでご紹介します。