生成型AIによる可観測性アシスタント New Relic Grok が発表! 自然言語で障害の根本原因調査などNew Relicの操作をナビゲート #newrelic

「CPU利用率がスパイクしたのは何故?」「アラートの設定方法は?」OpenAIの大規模言語モデル(LLM)搭載、運用担当者なら誰もが夢見たであろう世界がすぐそこに来そうです!
2023.05.13

ついに! まもなく! 可観測性(オブザーバビリティ)の世界にも生成型AI(generative AI、GenAI)がやってきます!

New Relic は日本時間 5/2 、 New Relic Grok を発表しました!

New Relic Grok とは

"grok" とは「徹底的かつ直感的に理解する」という意味の単語です。
それを冠する "New Relic Grok""The first GenAI observability assistant." と掲げられているように、日夜生成・収集される大量の観測データやアラートの山を、OpenAIの大規模言語モデル(LLM)の力を借りて攻略するための、業界初のアシスタントツールであると言えます。

Combining OpenAI’s multimodal large language models (LLMs) and the New Relic unified telemetry data platform, you can gain deep insight into a system's state simply by asking straightforward questions. Inside the New Relic platform, use a familiar chat interface to ask New Relic Grok your questions and it will respond with in-depth analysis, insights on root causes, and suggested fixes.
(Bardによる翻訳 : OpenAIの多種多様な大規模言語モデル(LLM)とNew Relicの統合テレメトリデータプラットフォームを組み合わせることで、単純な質問をするだけでシステムの状態についての深い洞察を得ることができます。New Relicプラットフォーム内では、使い慣れたチャットインターフェイスを使用してNew Relic Grokに質問し、詳細な分析、根本原因に関する洞察、および推奨される修正が得られます。)

(New Relic Nerdlog Meet Grokより引用)

なお先日発表されたBardは Grok のことをちゃんと知っていたようで、得意げに *1以下の説明をしてくれました:

具体的には、New Relic Grokは、システムのパフォーマンス、可用性、セキュリティ、およびコンプライアンスの状態に関する質問に答えることができます。たとえば、次のことができます。

* システムのCPU使用率が最近急上昇した理由を特定する。
* 特定のユーザーがアプリケーションにログインできない理由を特定する。
* データベースがクラッシュした理由を特定する。
* システムがPCI DSS準拠かどうかを確認する。

New Relic Grokは、システムの状態を理解し、問題を解決するのに役立つ貴重なツールです。

(以下訳文には、DeepL翻訳やGoogle Bardによる翻訳結果が大部分含まれます)

何ができる(とされている)か

New Relic GrokはまだGA(一般利用可)になっていないので、公開されたドキュメントからかいつまんでご紹介します。

このページには動画も多数埋め込まれているので、実際の動作イメージが気になる場合は是非そちらもご参照下さい!

計測データの検索・事象の調査

Simply ask what’s on your mind, such as, “Why is my cart not working?” New Relic Grok will analyze your telemetry data and software stack to give you the right insights, root causes, and resolutions.
(「カートが動いていない理由は?」など、思ったことを尋ねるだけです。 New Relic Grokは適切な洞察、根本原因、および解決策を提供するために、テレメトリデータとソフトウェアスタックを分析します)

つまりNew Relicが収集した膨大なデータを、まるで検索エンジンや(それこそ)ChatGPTを使うように、自然言語で質問するだけ検索できるようになる、とのこと。
他のサンプルとして、とあるアプリケーションでCPU利用率が上昇した場合に、 "What caused this CPU spike?" のように自然言語でその原因を尋ねることができるようになると書かれていました。

コードの修正補佐

New Relic Grok can automatically pinpoint code-level errors in the IDE and analyzes production telemetry, code snippets, and stack traces to prescribe a code fix.
(New Relic Grokは自動的に、IDE上でコードレベルのエラーを突き止め、修正のために本番環境のテレメトリやコードスニペット、スタックトレースを分析することができます)

New Relicには既にCodeStreamという、IDE上でテレメトリやエラーを参照しコードにひも付ける機能がありますので、その部分が強化されるということのようです。

IDE上で使える開発支援型のGenAIというと、既に各社から同様の製品がいくつも発表されていますが、実際の計測データとひも付けて使えるところが Grok のアドバンテージになりそうですね。

New Relicそのものの操作・管理の支援

Easily build a mature observability practice. New Relic Grok can help you automatically set up instrumentation and alerts, generate system health reports, and manage your account and users.
(成熟したオブザーバビリティの実践を簡単に構築することができます。New Relic Grokは、インスツルメンテーションやアラートの設定、システムヘルスレポートの生成、アカウントやユーザーの管理などを自動的に支援します)

アプリケーションのテレメトリデータをNew Relicに送信するためには、それなりに設定や連携のための作業が必要になりますが、New Relic Grokはそこも支援してくれるとのこと。
ただ単に検索のためだけにGenAIを使うわけではない、というところが、現場を分かっている感じがしていいですね!

なお別のところには以下のような記述があり、例えばAWSなどのクラウドサービスなどに連携のための設定が必要な部分も、Terraformでその設定方法が表示されることが期待できます。

Setup instrumentation and monitoring: Identify instrumentation gaps and provide instructions on instrumenting services, set up missing alerts, and automate alerts using Terraform.

「ツールを使うための工数」は、必要ではあるものの本質的には「アプリケーションサービスの提供」に直接貢献しない部分で、できればなるべく少なく済ませたいところだと思います。そこに稼動を割くことができないために可観測性をあきらめている現場も多い感触があります。
New RelicはSaaSというだけで、オンプレミスのモニタリング環境に比べてだいぶその部分を軽減できる製品ですが、そこからさらにGrokが支援してくれるということで、助かるというところも多いのではないでしょうか。

FAQ

この時点で気になるところがありますが、いくつか確認してみます。

でも、日本語は使えないんでしょう? --> いいえ!

記事冒頭に貼った動画内で一瞬、日本語や韓国語でGrokに指示をする演出があります!

とはいえ、「どの言語が使えるか」について、現時点では明記されていません。
利用可能な言語については以下のように記述されています:

Natural language queries: Use plain language (in more than 50 languages) to craft analysis queries and translate query results into simple explanations for easy sharing with all teams, including executives.
(自然言語によるクエリ : 50以上の自然言語をつかって、分析クエリを組み立て、その結果を、取締役を含む全てのチームメンバーへ簡単に共有するためにシンプルに説明します)>

そもそもGrokがOpenAIの言語モデルを使っていることは明記されています。日本語も高い確率でこの50言語のなかに含まれている。。。と、個人的には期待しています。 *2

いつから使えるの? 価格は?

GAの時期は現時点では公開されていませんが、こちらのページに記載された内容によると、今年 2023年中にいくつかの機能をリリースすることを目指しているようです。

We’re currently inviting people to sign up for our free limited preview, which is coming soon. While we cannot guarantee specific dates for when you will get access and when features will be available for preview, expect different features to roll out throughout the rest of CY2023.

気になる価格についても、上述の文に続けて "Pricing for New Relic Grok will be determined at GA (general availability)."(GAの時点で公開) と記載されていました。 *3

なお、Limited Preview の待機リスト(Early Access)への登録が始まっているので、そちらを済ませておきましょう!

ちなみに Preview の開始時期は明記されていませんが、複数箇所で「まもなく(soon)」と表現されていました。

まとめと所感

オブザーバビリティツールでは、チーム内の最高のデバッガーは、通常、もっとも好奇心の強いエンジニアです。

これは名著「オブザーバビリティ・エンジニアリング」からの引用です。

近年、ITサービスには「より便利に」「より機敏に」そして「いつも使える」と、非常に高いレベルの信頼性が求められています。
「可観測性(オブザーバビリティ)」と表現される概念はこの「時代の要請」に対して、画一的な閾値監視から脱却し、広く収集した計測(テレメトリ)データから将来を予測、あるいは発生してしまった事象の原因を特定し、素早く対処することを目的にしています。この動きはもちろん SRE の理念や「開発と運用を一体化する」DevOps ともリンクしており、アプリケーションの質を高めることで不具合そのものを減らし運用負荷を下げるという「シフトレフト」の概念とも繋がっています。

一方で、近年のサービス非常に複雑なインフラとアプリケーションからなりたっており、そこから収集される計測(テレメトリ)データも膨大です。そのためその膨大なデータを見きれない・見ることを諦めて、結局限定的な、もっといえば従来的な「監視」に甘んじているところも多いのではないでしょうか。

New Relic Grokは、その問題にOpenAIによる大規模言語モデル(LLM)・生成型AI(GenAI)を持ち込むことで対応しようという、現時点で画期的な、かつ「誰もが望んでいた」製品のように思えます。
おそらく「ちゃんと」動かすには、収集するテレメトリデータの種類を増やしたり、タグ付けや変更管理など、いろいろと追加設定も必要になるように思えますが、発表によればそこについても Grok にサポートしてもらえそうです。

実際に使ってみたら「思ってたのと違った。。」となることは何にでも往々にしてあることですが、それでも昨今のGenAIの進化具合をみると、少なくとも今後しばらくは主流になる流れなのではと期待できます。
何より、AIに「障害の原因は?」と尋ねることができるなんて、SF好きのエンジニアなら誰もが夢見たことがある世界のようでわくわくしますね!

実際に使えるようになったら、またレポートしたいと思います!


脚注

  1. 主観です
  2. GAの時点で使えることを祈ってます!
  3. お安く使えると嬉しいですね!