Alibaba Cloud Monitorとは
Alibaba Cloudは、Difyアプリケーションのワンクリック監視、トレース、評価を可能にする、フルマネージドかつメンテナンス不要のオブザーバビリティプラットフォームを提供します。
Alibaba Cloud Monitorは、LoongSuiteエージェントやオープンソースのOpenTelemetryエージェントを通じて、Python/Golang/Javaアプリケーションをネイティブにサポートします。Dify LLMアプリケーションのワンクリック監視に加え、非侵入型エージェントによるDifyコンポーネントおよびその上下流依存関係のエンドツーエンドの可観測性もサポートします。詳細はCloud Monitorドキュメントをご参照ください。
Alibaba Cloud Monitorの設定方法
1. Alibaba Cloudのエンドポイントとライセンスキーの取得
- ARMSコンソールにログインし、左側のナビゲーションバーでIntegration Centerをクリックします。
- Server-side ApplicationsエリアでOpenTelemetryカードをクリックします。
- 表示されたOpenTelemetryパネルで、エクスポートプロトコルとしてgRPCを選択し、実際のデプロイに応じて接続方法とリージョンを選択します。
- Public Endpointと**Authentication Token (License Key)**を保存します。
エンドポイントにはポート番号が含まれていません(例: http://tracing-cn-heyuan.arms.aliyun.com)。
2. DifyでCloud Monitorを設定
前提条件: Dify CloudまたはCommunity Editionのバージョンがv1.6.0以上である必要があります。
- Difyコンソールにログインし、監視したいアプリケーションに移動します。
- 左側のナビゲーションバーでMonitoringを開きます。
- Tracing app performanceをクリックし、Cloud MonitorエリアでConfigureをクリックします。
- 表示されたダイアログで、手順1で取得したLicense KeyとEndpointを入力し、App Name(ARMSコンソールに表示されるアプリケーション名)をカスタマイズしてSave & Enableをクリックします。
Alibaba Cloud Monitorでの監視データの表示
設定後、Difyのアプリケーションからのデバッグまたは本番データはCloud Monitorで監視できます。
方法1: DifyアプリケーションからARMSコンソールにジャンプ
Difyコンソールでトレースが有効になっているアプリケーションを選択し、Tracing Configurationに移動して、Cloud MonitorエリアのViewをクリックします。
方法2: ARMSコンソールで直接表示
ARMSコンソールのLLM Application Monitoring > Application Listページで、対応するDifyアプリケーションに移動します。
より多くのデータにアクセス
Cloud Monitorは、Difyクラスターのさまざまなコンポーネントにアクセスしてエンドツーエンドのトレースを実現するマルチランゲージの非侵入型エージェントを提供します。
| Difyコンポーネント | エージェント | 詳細 |
|---|
| Nginx | OpenTelemetry Agent | NginxトレースにOpenTelemetryを使用 |
| API | LoongSuite-Python Agent | loongsuite-python-agent |
| Sandbox | LoongSuite-Go Agent | loongsuite-go-agent |
| Worker | OpenTelemetry Agent | OpenTelemetryを介してPythonアプリケーションデータを送信 |
| Plugin-Daemon | LoongSuite-Go Agent | loongsuite-go-agent |
監視データリスト
Cloud Monitorは、DifyのWorkflow/Chatflow/Chat/Agentアプリケーションからデータを収集することをサポートしており、ワークフローおよびワークフローノードの実行詳細、モデル呼び出し、ツール呼び出し、知識取得、さまざまなプロセスノードの実行詳細、会話やユーザー情報などのメタデータをカバーしています。
ワークフロー/Chatflowトレース情報
| Workflow | Alibaba Cloud Monitor Trace |
|---|
| workflow_id | ワークフローの一意の識別子 |
| conversation_id | 会話ID |
| workflow_run_id | この実行のID |
| tenant_id | テナントID |
| elapsed_time | この実行の所要時間 |
| status | 実行ステータス |
| version | ワークフローのバージョン |
| total_tokens | この実行で使用されたトークンの総数 |
| file_list | 処理されたファイルのリスト |
| triggered_from | この実行をトリガーしたソース |
| workflow_run_inputs | この実行の入力データ |
| workflow_run_outputs | この実行の出力データ |
| error | この実行中に発生したエラー |
| query | 実行時に使用されたクエリ |
| workflow_app_log_id | ワークフローアプリケーションログID |
| message_id | 関連するメッセージID |
| start_time | 実行開始時刻 |
| end_time | 実行終了時刻 |
ワークフロートレースメタデータ
- workflow_id - ワークフローの一意の識別子
- conversation_id - 会話ID
- workflow_run_id - この実行のID
- tenant_id - テナントID
- elapsed_time - この実行の所要時間
- status - 実行ステータス
- version - ワークフローのバージョン
- total_tokens - この実行で使用されたトークンの総数
- file_list - 処理されたファイルのリスト
- triggered_from - トリガーソース
メッセージトレース情報
| Message | Alibaba Cloud Monitor Trace |
|---|
| message_id | メッセージID |
| message_data | メッセージデータ |
| user_session_id | ユーザーのsession_id |
| conversation_model | 会話モデル |
| message_tokens | メッセージ内のトークン数 |
| answer_tokens | 回答内のトークン数 |
| total_tokens | メッセージと回答のトークンの総数 |
| error | エラー情報 |
| inputs | 入力データ |
| outputs | 出力データ |
| file_list | 処理されたファイルのリスト |
| start_time | 開始時刻 |
| end_time | 終了時刻 |
| message_file_data | メッセージに関連するファイルデータ |
| conversation_mode | 会話モード |
メッセージトレースメタデータ
- conversation_id - メッセージが属する会話のID
- ls_provider - モデルプロバイダー
- ls_model_name - モデルID
- status - メッセージステータス
- from_end_user_id - 送信ユーザーのID
- from_account_id - 送信アカウントのID
- agent_based - エージェントベースかどうか
- workflow_run_id - ワークフロー実行ID
- from_source - メッセージソース
- message_id - メッセージID
データセット取得トレース情報
| Dataset Retrieval | Alibaba Cloud Monitor Trace |
|---|
| message_id | メッセージID |
| inputs | 入力コンテンツ |
| documents | ドキュメントデータ |
| start_time | 開始時刻 |
| end_time | 終了時刻 |
| message_data | メッセージデータ |
データセット取得トレースメタデータ
- message_id - メッセージID
- ls_provider - モデルプロバイダー
- ls_model_name - モデルID
- status - メッセージステータス
- from_end_user_id - 送信ユーザーのID
- from_account_id - 送信アカウントのID
- agent_based - エージェントベースかどうか
- workflow_run_id - ワークフロー実行ID
- from_source - メッセージソース
ツールトレース情報
| Tool | Alibaba Cloud Monitor Trace |
|---|
| message_id | メッセージID |
| tool_name | ツール名 |
| start_time | 開始時刻 |
| end_time | 終了時刻 |
| tool_inputs | ツール入力 |
| tool_outputs | ツール出力 |
| message_data | メッセージデータ |
| error | エラー情報(該当する場合) |
| inputs | メッセージの入力コンテンツ |
| outputs | メッセージの回答コンテンツ |
| tool_config | ツール設定 |
| time_cost | コスト時間 |
| tool_parameters | ツールパラメータ |
| file_url | 関連ファイルのURL |
ツールトレースメタデータ
- message_id - メッセージID
- tool_name - ツール名
- tool_inputs - ツール入力
- tool_outputs - ツール出力
- tool_config - ツール設定
- time_cost - コスト時間
- error - エラー情報
- tool_parameters - ツールパラメータ
- message_file_id - メッセージファイルID
- created_by_role - 作成者の役割
- created_user_id - 作成者のユーザーID