全部产品
Search
文档中心

应用实时监控服务ARMS:Dify 大模型应用监控批量接入

更新时间:Dec 23, 2025

Dify 控制台上可以为各个应用配置监控并接入云监控可观测,但缺乏批量配置监控的能力。本文介绍如何通过调用接口自动化批量配置 Dify 应用的阿里云可观测监控。

背景

整体方案流程是通过模拟 Dify 控制台操作,使用 HTTP API 实现批量配置:

  1. 获取登录态:调用登录接口获取认证 Token。

  2. 获取应用列表:获取租户下所有应用信息。

  3. 检查应用监控配置:查询应用当前的监控配置状态。

  4. 配置阿里云监控:为应用创建阿里云可观测配置。

  5. 启用监控开关:开启应用监控。

若从 Dify 源码部署并做二次开发,也可参考上述流程和 Dify ext_commands.py 中的现有运维命令,用 Click Command 实现批量配置。

API 批量配置流程

步骤一:登录认证

调用 Dify 登录接口进行身份认证,获取租户的登录态 Token 信息。

接口:POST {base_url}/console/api/login

请求参数

{
  "email": "your_account@example.com",
  "password": "your_password",
  "remember_me": false
}

响应

{
  "result": "success"
}
Set-Cookie: access_token=<JWT>; HttpOnly; Max-Age=3600
Set-Cookie: refresh_token=<random>; HttpOnly; Max-Age=2592000
Set-Cookie: csrf_token=<JWT>; Max-Age=3600

响应中的关键信息

Cookie

用途

access_token

API 认证凭证

refresh_token

access_token 续期凭证

csrf_token

CSRF 凭证

后续请求

在请求 Header 中设置:

Cookie: access_token=xxx; refresh_token=xxx; csrf_token=xxx
X-CSRF-Token: <csrf_token>
说明

如果使用带 Session 功能的库,通常会自动管理 Cookie,此时在 Header 中添加 X-CSRF-Token 即可。

步骤二:获取应用列表

获取当前租户下的所有应用信息。

接口:GET {base_url}/console/api/apps

请求参数

参数

类型

默认值

说明

page

int

1

页码(从 1 开始)

limit

int

20

每页数量(1-100)

mode

string

"all"

应用类型过滤

name

string

-

应用名称搜索

分页说明:

  • 通过返回的 has_more 字段判断是否有下一页。

  • 获取所有应用需循环请求,直到响应中的 has_morefalse

响应

{
  "page": 1,
  "limit": 20,
  "total": 100,
  "has_more": true,
  "data": [
    {
      "id": "app-uuid",
      "name": "应用名称",
      "mode": "workflow",
      "description": "应用描述",
      "icon": "",
      "icon_type": "emoji",
      "created_at": 1234567890,
      "updated_at": 1234567890,
      "model_config": { /* 模型配置 */ },
      "workflow": { /* workflow 配置 */ },
      "tags": []
    }
  ]
}

关键字段说明:

  • id: 应用标识(后续配置监控步骤需要)。

  • name: 应用名称(后续配置监控的 app_name 需要)。

步骤三:检查应用监控配置

获取指定应用当前的监控配置状态,未配置监控才进行后续步骤。

接口:GET {base_url}/console/api/apps/{app_id}/trace

请求参数

响应

{
  "enabled": false,
  "tracing_provider": null
}
{
  "enabled": true,
  "tracing_provider": "aliyun"
}

字段说明:

  • enabled: 是否已启用监控(boolean)。

  • tracing_provider: 监控提供商名称(string)。

步骤四:配置阿里云监控

为应用创建阿里云可观测监控配置。

接口:POST {base_url}/console/api/apps/{app_id}/trace-config

请求参数

{
  "tracing_provider": "aliyun",
  "tracing_config": {
    "app_name": "xxx",
    "license_key": "your_aliyun_license_key",
    "endpoint": "http://tracing-analysis-dc-bj.aliyuncs.com"
  }
}

字段说明

字段

说明

tracing_provider

固定为 "aliyun"

tracing_config.app_name

阿里云应用名称。批量配置时不能填相同名称,相同名称会被视为同一个可观测应用。可以使用 Dify工作空间名称-Dify应用名称命名

tracing_config.license_key

阿里云 License Key,可通过DescribeTraceLicenseKey - 列出LicenseKey获取。

tracing_config.endpoint

阿里云上报端点,参考服务接入点

响应

{
  "result": "success"
}
说明

Dify 的某些版本里如果执行了创建应用配置,但未开启配置开关,控制台监控项显示会异常,启用监控开关后会恢复。

步骤五:启用监控开关

配置完成后需要启用监控开关才会生效。

接口:POST {base_url}/console/api/apps/{app_id}/trace

请求参数

{
  "enabled": true,
  "tracing_provider": "aliyun"
}

字段

类型

说明

enabled

boolean

是否启用监控(true/false)

tracing_provider

string

监控提供商名称(aliyun)

响应

{
  "result": "success"
}