はじめに
こんにちは、DatadogでSales EngineerをしているTaka2です。
今回はDatadogのAI関連の機能について整理してみたいと思います。
この記事はDatadog Advent Calendar 2024の12/7の投稿となります。
本記事ではAI"で"監視をするAIOpsと、AI"を"監視するAI Observabilityの二つの観点でDatadogのAI関連機能をみていきます。
文字数が多くなってしまったため、興味あるところだけ抽出して読んでいただけたらと思います。
よろしくお願いします。
Datadogが提供するAI関連機能
AIOpsとAI Observability
まずはDatadogが提供するAI関連機能の全般についてみていきたいと思います。
Datadogが提供するAI関連機能をAIOpsとAI Observabilityに分けて整理すると以下の通りとなります。
AI関連機能の概要とメリット
まずは先に挙げたAI関連機能の個々の概要とメリットをみていきます。より詳細については次のセクションで触れます。
AIOps関連機能概要
Watchdog
Datadogが自動で異常を検知し、根本原因の示唆やユーザー影響を示してくれる機能です。
特に追加設定をしなくても連携したデータから自動で異常や示唆を示してくれる点がメリットです。
Bits AI
Datadogの中に組み込まれた生成AIチャットアプリです。Datadogに連携したデータやDatadogが検知したイベントに対して自然言語で問い合わせることができる機能です。
Datadogというツールの理解がなくても欲しい情報にアクセスできる点がメリットです。
機械学習アラート
監視対象と監視条件を定義して機械学習ロジックを活用したアラートを活用できる機能です。具体的なアラート種別としては、異常検知モニター、予測値モニター、外れ値モニターがあります。
複雑な設定や閾値定義をしなくても監視対象と通知先を絞って機械学習をベースとした監視ができる点がメリットです。
自然言語クエリ
DatadogではDDSQL Editorというクエリ機能をPreview版で提供しています。この機能には"自然言語でクエリできる機能"が含まれています。
ツール特有のクエリの学習をしなくても、自然言語でリソースの検索が可能となる点がメリットです。
ユーザーテストの自動生成
リアルユーザーモニタリング(RUM)というフロントエンド監視をおこなっておくと、そこで検知した実際のユーザー操作をベースにして、自動でSynthetics(外型監視)のテストシナリオを作成することが可能となる機能です。
実際にユーザーが実施した操作をベースにテストシナリオの作成ができる点がメリットです。
関連データの自動相関付け
メトリックスとイベントに対して自動相関機能が提供されています。
- メトリックスの相関機能は、1つ波形を選択することで、同時刻に検知した類似波形のデータを自動で抽出する機能です。
- イベントの相関機能は、Datadogに取り込まれたイベント、アラート、およびDatadog Watchdogからのインサイトを、定義した条件もしくは機械学習ロジックに従い、自動でグルーピングする機能です。
何か異常を検知した際に、関連するデータを自動で検索し、まとめて調査できる点がメリットです。
自動復旧
Workflowという機能を活用することで検知したアラートやスケジュールをトリガーとして、AWS,Azure,GCPなどのシステムリソースに対して再起動などの定義した処理を自動実行することが可能です。
自動復旧対応までDatadogという一つのツール内で完結させることができる点がメリットです。
AIアプリとの連携
WorkflowもしくはApp Builderという機能から、OpenAIのAPIなどAIに関する外部APIを実行することが可能です。この機能により、Datadogで検知したデータをAIに連携することが可能です。
例えば、検知したアラートを要約させたり、社内のナレッジベースと付き合わせて対応の示唆を提示させることなどが可能となります。
AI関連のAPIの呼び出しをDatadogが提供する機能を使って実装できる点がメリットです。
AI Observability関連機能概要
続いてAI"を"監視するAI Observabilityに関する機能についてみていきたいと思います。ここまでで話が長くなってしまったため、再度、AI関連機能の一覧を掲載します。
AI Integration
OpenAIのアカウントなど、AI関連サービスのアカウントとAPI連携を行い、アカウント全体のAPIコール数やトークンの使用率などを可視化する機能です。
また、APMの機能の一部として、アプリからLLMのAPI呼び出しを検知し、アプリの処理自体からプロンプトのインプットアウトプットやトークン数を可視化する機能もあります。
Datadogが提供するデフォルトのダッシュボードで可視化ができたり、推奨するアラートを活用できる点がメリットです。
LLM Observability
単にLLMのAPIを監視するにとどまらず、実際のLLMのプロンプト単位のパフォーマンスや、LLMアプリケーションにおけるRAGやToolの呼び出しといったLLM Chain全体を監視する機能です。
この機能により、LLM Chain内の個々の処理におけるトークン数の可視化、回答品質の評価、プロンプトインジェクションといったセキュリティリスクの検知などが可能となります。
AIOps関連機能詳細
ここまで機能の概要をみてきましたが、続いてAIOpsの全体感および、AIOps関連機能としてユニークなEvent Correlation、Bits AI、Watchdogについて深掘りしてみていきたいと思います。
まず、Datadogで実現できるAI Opsを一枚絵で表現したものが以下となります。公式ページにはもう少しかっこいい絵があるのですが、自分なりに整理した絵が以下となります。
こちらのAIOpsの流れ自体は、前職の先輩方が執筆された以下のAIOps本をベースに定義し、それらにDatadogの機能をマッピングする形で作成しました。
検知、調査支援、そして復旧対応というオペレーションの全てのステップにおいて、Datadogの機能が活用できる可能性があります。
続いて、Event Correlation、Bits-AI、Watchdogの三つの機能に絞ってより詳細にみていきたいと思います。
Event Correlation
まず一つ目の機能は、関連するイベント、アラートやデータを、検知したタイミングや属性情報をもとに自動でグループ化してくれるEvent Correlationという機能です。
このイベントに対する自動相関付機能は今年2024年にリリースされたばかりの機能なのですが、アラート疲れを解消するべく実装された機能となります。
まず、Event Management自体ですが、こちらは当初からある機能で、Datadogに連携したサービスのイベントや、APIやメールで取り込んだデータを一元的にイベントとして管理できる機能です。
より具体的には、例えばAWSのEventHub上のイベントや、ZabbixやPrometheusで検知したアラート、Datadogで検知したアラートをDatadogのイベントとして一元的に管理することが可能です。
その上で、取り込んだイベントに対して、Event Pipelineの機能を活用することで付加情報を付与し、分類や検索ができるようにすることが可能です。1
そして、このEvent Management機能に今年新たに追加された機能が、Event Correlationの機能です。こちらは、Datadogにイベントして取り込まれたデータを、ユーザーが指定したルールもしくは機械学習機能により自動でまとめてくれる機能となります。
この機能により、何か特定のアラートを検知した際、同じタイミングで検知したイベントや、そのタイミングにおけるメトリックスのスパイクなどを、環境やサービスなどの属性情報をベースにまとめて可視化、通知、管理することが可能となります。
EventやMetricsが相関付られている例:
これにより、大量のアラート自体を削減することが難しい場合にも、大量に発生したアラートをDatadogにEventとして取り込んでおきさえすれば、まとめて対処が可能となります。
さらに、単にアラートをまとめるだけでなく、Datadogに取り込まれたメトリックスのスパイクや、DatadogのWatchdogが検知したインサイトも合わせて見ることができるため、原因調査を加速させることが可能となります。
現在、この相関付(グループ化)機能の条件は、ユーザー定義で実施するパターンベースの方法と、ユーザー定義不要でDatadogの機械学習ロジックを使用して自動でまとめる方法の二つの方法で実現可能です。
Bits AI
続いてBits AIです。こちらはDatadogの画面UI上で生成AIのチャットbotに問い合わせ、自然言語でシステムの状態を確認できるようにする機能です。この機能を活用することでDatadogというツールの利用方法を覚えなくても自然言語で欲しい情報にアクセスすることが可能となります。
また、Datadogのインシデント管理機能と組み合わせて活用すると、Bits AIに自然言語で問い合わせることで、インシデントの対応状況のサマリーを回答してもらったり、類似インシデントを教えてもらうことなどが可能となります。
対応中のインシデント用Slackチャネルで、関連アラートをBits AIに問い合わせてみた例:
Watchdog
最後にWatchdogです。こちらの機能も昔からある機能ではありますが、Watchdogが対応する製品と提供する機能が格段に増えています。
まず、Watchdogの最大のメリットはDatadogにデータを連携さえしておけば追加設定不要で、自動で機能を活用できる点です。
Watchdogの代表的な機能は以下です。
それぞれみていきたいと思います。
-
パフォーマンス異常の自動検出:自動でDatadogに連携されたデータのスパイクやドロップなどを提示する機能です。この機能により予期せぬ異常に気付き、問題に早期に対応することが可能となります。
-
根本原因分析機能:異常を検知した際に、バージョン情報やアプリケーションの依存関係、検知したタイミングといったデータをもとに、問題の根本原因を示唆する機能です。これにより関連データや原因調査の手間を省き、障害復旧までの時間を短縮します。
-
調査中の文脈を考慮したインサイト:Datadogが提供する各種機能(APM,Log,Process,DBMなど)において、異常を示唆します。さらに、その示唆は検索条件をもとに、機能を横断して確認することが可能です。例えば、Logのページを見ていてもその時の検索条件に紐づいてAPMやインフラなど他の機能における異常の示唆もまとめて表示します。この機能により、ツールや画面を切り替えることなく、システムの異常を把握して対処できます。
LogのページにAPMの示唆が出ている例:
-
ビジネスや顧客影響の可視化:検知した異常状態における個々のユーザーへの影響を表示する機能です。この機能により、問題の影響を自動で把握し、復旧作業や顧客フォローの優先度判断に活用できます。
これらのDatadog Watchdogを活用することで、意図していなかった異常や障害にプロアクティブに気付き、ユーザーに影響を最小限にする意思決定と対処が可能となります。
AI Observability関連機能詳細
最後にAI Observabilityについてそれぞれの機能の詳細をみていきたいと思います。
AI Integration
AI Integrationは、APIをベースとしてAI関連の情報を可視化する機能です。
Datadogでは、Langchainなどのオーケストレーションレイヤや、OpenAIなどのモデルレイヤーだけでなく、AWSやAzure、GCP、OCI、さらにはNvidiaなどのインフラレイヤーまで幅広いレイヤーに対してインテグレーションを提供しています。
主要なサービスベンダーと公式にパートナーシップを締結しているため、公式に提供する仕組みと手順で連携が行える点と、Datadog自身が運用で培った知見をベースにしたデフォルトのダッシュボードと推奨アラートで、すぐに監視を開始できる点も特徴です。
推奨アラート例:
OpenAIとのIntegrationについては、以下にサンプルアプリケーションと合わせて設定方法や具体的な見え方を整理していますので、合わせてこちらも参照ください。
LLM Observability
最後にもう一つの代表的な機能であるLLM Observabilityについてみていきます。
これらについてはAWSさんとの共同Webinerに向けて作成した資料とサンプルアプリがあるため、そちらをベースに見ていきたいと思います。
Datadogが提供する価値とそれに対応する機能を整理したものが以下の通りです。
それぞれの機能を実際の画面と合わせて紹介していきたいと思います。
トラブルシューティングの迅速化
- エンドツーエンドのトレース:DatadogのLLM Observabilityを有効化するとLLM Chainのエンドツーエンドのトレースを可視化することが可能となります。
- レイヤーを横断した統合監視:LLMアプリケーションのChainが見れるだけでなく、そのLLMの処理を呼び出しているアプリケーションの処理(APM)の情報にもクリック操作で遷移して確認可能です。
LLM Observabilityで検知したChainに"View APM Trace"というAPMに遷移するボタンがある画面イメージ:
さらにそのアプリケーションの処理(APM)に遷移すると、関連するログやインフラのメトリックスといった他のテレメトリーデータもタブの切り替えで把握することが可能となります。
APMのトレースと合わせてLogが見えている例:
このように、LLMのModel単体だけでなく、呼び出すシステム(アプリケーションスタック)全体の監視もできる点が、Datadogのユニークな点となります。 - 各ステップ毎の入出力のエラーと精度の監視:LLM Chainの監視という深いレベルに視点を移してしてみた場合にも、単にAPIの呼び出しを監視するだけでなく、複数のLLM ModelのAPI呼び出しや、RAGやToolの呼び出しなど、細かなChainの処理まで可視化できます。
LLMのChainが可視化されているイメージ:
このようにアプリケーション全体からアプリケーション処理の詳細まで統合的に監視ができることで、ブラックボックスになりがちなLLMアプリケーションのトラブルシューティングを迅速化できます。
パフォーマンス向上とコスト削減
- 各ステップ毎のメトリックスのリアルタイム監視:続いて提供するのが、Chainの各Step毎のメトリックスを見ることができる点です。この機能により、個々の処理の中で消費されたToken数や、RAGやToolの呼び出しにかかった時間、その統計情報や傾向を見ることが可能となります。
LLM Chain内で呼び出されたOpenAIのAPIにおいて、消費されたToken数や推定Costが表示されている例:
- パフォーマンスとコストの統合ダッシュボード:単に個々の処理単位での情報が見れるだけでなく、デフォルトで提供されるLLM Observability専門のページおよびデフォルトで提供するダッシュボードにより、統計情報や傾向の分析結果を見ることが可能となります。
デフォルト提供のダッシュボード例:
これらの機能により、LLMに対する運用管理ツールの学習やメンテナンスにかかる工数を抑えて、LLMアプリケーションの開発と改善自体にリソースを割き、パフォーマンス向上やコスト削減を可能とします。
品質と安全性の向上
- プロンプトインジェクションやハルシネーション、ユーザー感情に対する評価:Datadogでは、プロンプトインジェクションなど、セキュリティリスクのあるインプットを自動検知する機能を提供しています。セキュリティ観点での検知以外にも、ハルシネーションやあらかじめ定義しておいたトピックとの相関、ユーザー感情などを自動で分析して検知する機能も提供しています。
デフォルトで提供されるセキュリティチェックの仕組みで検知された例:
これらのDatadogによる自動評価以外に、ユーザー側の評価結果を表示させる機能もCustom Evaluationとして提供しています。2 - プロンプト応答クラスターのグルーピング:プロンプトに対する評価結果をClusterとして表示させる機能も提供しています。このClusterの可視化により、チューニングやRAGの精度を上げるべきInputのグループを特定するなどの活用が可能です。
プロンプトの入力グルーピングした上で、回答が誤っていると評価したものを色分けして表示している例:
これらの機能により、LLMの応答品質の向上および、安全性を向上させることが可能となります。
おわりに
AI関連機能は進化と変化が早く、このような公開blogでは公開ができない既に実装済みの新機能や予定している機能改善も多数あるため、興味を持っていただいた際にはぜひお気軽にお問い合わせいただけたらと思います。
おまけ
- このBlogでは冗長になり過ぎてしまうことを防ぐため、APMやRUMなど、一部前提機能の説明を省略している箇所があります。
もしDatadogの基本機能を確認されたい場合には、以下リンク先の動画にて各機能につき5分から10分ほどで紹介していますので、合わせて確認ください。
登録が必要なリンクしか公開できなくて申し訳ありませんが、頑張って収録したのでぜひ活用いただけたら幸いです。
- DatadogによらないLLM Observability全般については、自分も(大変僭越ながら)レビューに参加させていただいた以下のLLM Observability本にて触れられていますので、もしよろしければ目を通してみてください。3
- DatadogのLLM Observabilityの検証のため、簡単に検証できるアプリと手順を以下に公開しています。見え方や設定方法を確認したい場合にはこちらも参照ください。
- LambdaからLLM Model APIを呼び出すアプリ実装をする際に参考にさせていただいたblogです。いつもQiitaの皆さんの記事に助けられています。ありがとうございます。
作成したデモアプリUI:
以上です。少しでもなにか価値ある情報の提供ができていたら幸いです。
-
このEventの処理については、@ynakaokuさんが同じくDatadog Advent Calendar 2024の12/19の記事で触れてくださる予定ですので、そちらも参照ください ↩
-
このCustom Evaluationについては、JDDUG(Japan Datadog User Group)の生みの親@chaspyさんがこの内容に触れた記事を、同じくDatadog Advent Calendar 2024の12/10の記事で書いてくださる予定のため、そちらで勉強させてもらいたいと思っています! ↩
-
本書の執筆に携わられた逆井(@k6s4i53rx)先生も同じくDatadog Advent Calendar 2024の12/20に「何か書く」そうなので、乞うご期待ですね!ワクワクで夜も寝れないですね!圧 ↩