O console do Dify permite configurar o monitoramento de aplicações individuais e integrá-las ao Cloud Monitor para observabilidade, mas não oferece suporte à configuração em lote. Para configurar o monitoramento de observabilidade da Alibaba Cloud em aplicações Dify em lote, chame as APIs disponíveis.
Contexto
O processo simula as operações do console do Dify por meio de APIs HTTP para configurar o monitoramento em lote:
Obter o status de autenticação: Chame a API de login para obter um token de autenticação.
Recuperar a lista de aplicações: Obtenha informações sobre todas as aplicações do tenant.
Verificar a configuração de monitoramento da aplicação: Consulte o status atual da configuração de monitoramento de uma aplicação.
Configurar o monitoramento da Alibaba Cloud: Crie uma configuração de observabilidade da Alibaba Cloud para uma aplicação.
Ativar o monitoramento: Ligue o monitoramento da aplicação.
Se você implantar o Dify a partir do source code, também é possível configurar em lote seguindo o processo acima e usando os comandos de O&M do arquivo ext_commands.py do Dify com Click Command.
Fluxo de configuração em lote via API
Etapa 1: Fazer login e autenticar
Chame a API de login do Dify para autenticar e obter o token de login do tenant.
API: POST {base_url}/console/api/login
Parâmetros da requisição
{
"email": "your_account@example.com",
"password": "your_password",
"remember_me": false
}
Resposta
{
"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
Informações relevantes na resposta
|
Cookie |
Finalidade |
|
|
Credencial de autenticação da API |
|
|
Credencial para renovar o access_token |
|
|
Credencial de proteção contra Cross-Site Request Forgery (CSRF) |
Requisições subsequentes
No cabeçalho da requisição, defina:
Cookie: access_token=xxx; refresh_token=xxx; csrf_token=xxx
X-CSRF-Token: <csrf_token>
Se você usar uma biblioteca com suporte a sessões, ela geralmente gerencia os cookies automaticamente. Nesse caso, basta adicionar X-CSRF-Token ao cabeçalho.
Etapa 2: Obter a lista de aplicações
Recupere todas as aplicações do tenant atual.
API: GET {base_url}/console/api/apps
Parâmetros da requisição
|
Parâmetro |
Tipo |
Valor padrão |
Descrição |
|
|
int |
1 |
Número da página, começando em 1. |
|
|
int |
20 |
Quantidade de itens por página. Valores válidos: 1 a 100. |
|
|
string |
"all" |
Filtra pelo tipo de aplicação. |
|
|
string |
- |
Busca pelo nome da aplicação. |
Instruções de paginação:
Use o campo
has_moreretornado para verificar se existe uma próxima página.Para recuperar todas as aplicações, repita as requisições até que o campo
has_morena resposta sejafalse.
Resposta
{
"page": 1,
"limit": 20,
"total": 100,
"has_more": true,
"data": [
{
"id": "app-uuid",
"name": "Application Name",
"mode": "workflow",
"description": "Application Description",
"icon": "",
"icon_type": "emoji",
"created_at": 1234567890,
"updated_at": 1234567890,
"model_config": { /* Model Configuration */ },
"workflow": { /* workflow configuration */ },
"tags": []
}
]
}
Descrição dos campos relevantes:
id: O ID da aplicação, necessário nas etapas subsequentes de configuração do monitoramento.name: O nome da aplicação, exigido no parâmetroapp_nameao configurar o monitoramento.
Etapa 3: Verificar a configuração de monitoramento da aplicação
Consulte o status atual da configuração de monitoramento de uma aplicação. Prossiga para as etapas seguintes apenas se o monitoramento ainda não estiver configurado.
API: GET {base_url}/console/api/apps/{app_id}/trace
Parâmetros da requisição
app_id: O ID da aplicação. Obtenha esse ID em Step 2: Retrieve the application list.
Resposta
{
"enabled": false,
"tracing_provider": null
}
{
"enabled": true,
"tracing_provider": "aliyun"
}
Descrição dos campos:
enabled: Indica se o monitoramento está ativo (booleano).tracing_provider: O nome do provedor de monitoramento (string).
Etapa 4: Configurar o monitoramento da Alibaba Cloud
Crie uma configuração de monitoramento de observabilidade da Alibaba Cloud para uma aplicação.
API: POST {base_url}/console/api/apps/{app_id}/trace-config
Parâmetros da requisição
{
"tracing_provider": "aliyun",
"tracing_config": {
"app_name": "xxx",
"license_key": "your_aliyun_license_key",
"endpoint": "http://tracing-analysis-dc-bj.aliyuncs.com"
}
}
Descrição dos campos
|
Campo |
Descrição |
|
|
Fixo como |
|
|
O nome da aplicação na Alibaba Cloud. Cada aplicação deve ter um nome exclusivo; nomes idênticos são tratados como a mesma aplicação de observabilidade. Use o formato |
|
|
A License Key da Alibaba Cloud. Para mais informações, consulte DescribeTraceLicenseKey - List LicenseKey. |
|
|
O endpoint de envio de dados da Alibaba Cloud. Para mais informações, consulte Endpoints. |
Resposta
{
"result": "success"
}
Em algumas versões do Dify, as métricas de monitoramento no console podem apresentar anomalias se você crie uma configuração sem ativá-la. As métricas voltam ao normal após a ativação do monitoramento.
Etapa 5: Ativar o monitoramento
Após configurar o monitoramento, ative-o para que as definições entrem em vigor.
API: POST {base_url}/console/api/apps/{app_id}/trace
Parâmetros da requisição
{
"enabled": true,
"tracing_provider": "aliyun"
}
|
Campo |
Tipo |
Descrição |
|
|
boolean |
Define se o monitoramento deve ser ativado (true/false). |
|
|
string |
O nome do provedor de monitoramento (aliyun). |
Resposta
{
"result": "success"
}