什么是 阿里云云监控
阿里云提供的全托管免运维可观测平台,一键开启 Dify 应用的监控追踪和评估。阿里云云监控原生支持 Python/Golang/Java 应用通过 LoongSuite
探针 & 开源 OpenTelemetry 探针接入,在一键开启 Dify 大模型应用监控外,还支持通过无侵入探针对 Dify 组件及其上下游依赖的全链路可观测。
更多详情,请参考 云监控。
如何配置 云监控
1. 获取阿里云 Endpoint 和 License Key
- 登录 ARMS 控制台,在左侧导航栏单击 接入中心。
- 在 服务端应用 区域单击 OpenTelemetry 卡片。
-
在弹出的 OpenTelemetry 面板中选择数据上报方式为 gRPC,并依据实际部署情况选择连接方式和地域。
- 保存 公网接入点(Endpoint) 和 鉴权 Token(License Key)。
说明
Endpoint 不带端口号,例如 http://tracing-cn-heyuan.arms.aliyuncs.com。
2. 将 云监控 与 Dify 集成
📌 前提条件 Dify Cloud | 社区版本号需 ≥ v1.6.0
- 登录 Dify 控制台,并进入需要监控的 Dify 应用。
- 在左侧导航栏单击 监测。
-
单击 追踪应用性能,然后在 云监控 区域单击 配置。
- 在弹出的对话框中输入步骤 1 获取的 License Key 和 Endpoint,并自定义 App Name(ARMS 控制台显示的应用名称),然后单击 保存并启用。
在 云监控 中查看监控数据
配置完成后,Dify 内应用的调试或生产数据可以在 云监控 中进行监控。方式一:从 Dify 应用跳转 ARMS 控制台
在 Dify 控制台选择已开启应用追踪的应用,进入 追踪配置,在 云监控 区域单击 查看。
方式二:直接在 ARMS 控制台查看
在 ARMS 控制台的 LLM 应用监控 > 应用列表 页面进入对应的 Dify 应用。接入更多数据
云监控提供了多语言无侵入探针,支持接入Dify集群的各个组件,实现全链路追踪。| Dify 组件 | 探针 | 详情 |
|---|---|---|
| Nginx | OpenTelemetry 探针 | 使用OpenTelemetry对Nginx进行链路追踪 |
| Api | LoongSuite-Python 探针 | loongsuite-python-agent |
| Sandbox | LoongSuite-Go 探针 | loongsuite-go-agent |
| Worker | OpenTelemetry 探针 | 通过OpenTelemetry上报Python应用数据 |
| Plugin-Daemon | LoongSuite-Go 探针 | loongsuite-go-agent |
监测数据清单
云监控支持采集Dify的Workflow/Chatflow/Chat/Agent应用,采集数据包括工作流和工作流节点的执行明细,涵盖模型调用、工具调用、知识检索和各类流程节点的执行明细数据以及会话和用户信息等元数据Workflow/Chatflow Trace信息
Workflow Trace Info- workflow_id - Workflow 的唯一标识
- conversation_id - 对话 ID
- workflow_run_id - 此次运行的 ID
- tenant_id - 租户 ID
- elapsed_time - 此次运行耗时
- status - 运行状态
- version - Workflow 版本
- total_tokens - 此次运行使用的 token 总数
- file_list - 处理的文件列表
- triggered_from - 触发此次运行的来源
- workflow_run_inputs - 此次运行的输入数据
- workflow_run_outputs - 此次运行的输出数据
- error - 此次运行中发生的错误
- query - 运行时使用的查询
- workflow_app_log_id - Workflow 应用日志 ID
- message_id - 关联的消息 ID
- start_time - 运行开始时间
- end_time - 运行结束时间
- workflow node executions - workflow 节点运行信息
- Metadata
- workflow_id - Workflow 的唯一标识
- conversation_id - 对话 ID
- workflow_run_id - 此次运行的 ID
- tenant_id - 租户 ID
- elapsed_time - 此次运行耗时
- status - 运行状态
- version - Workflow 版本
- total_tokens - 此次运行使用的 token 总数
- file_list - 处理的文件列表
- triggered_from - 触发来源
Message Trace信息
Message Trace Info- 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 - 对话模式
- Metadata
- 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 Trace信息
Dataset Retrieval Trace Info- message_id - 消息 ID
- inputs - 输入内容
- documents - 文档数据
- start_time - 开始时间
- end_time - 结束时间
- message_data - 消息数据
- Metadata
- 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 Trace信息
Tool Trace Info- 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
- Metadata
- 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