A Análise Inteligente de Anomalias armazena os resultados em um Logstore dedicado chamado internal-ml-log. Os dados de resultado contêm campos de tag comuns compartilhados entre todos os tipos de tarefa, além de campos específicos para inspeção inteligente, análise de texto, previsão de séries temporais e análise de drill-down.
A partir de 15 de julho de 2025 (UTC+8), o recurso de análise inteligente de anomalias não estará mais disponível para novos usuários. Os usuários existentes podem continuar a usá-lo.
-
Escopo do impacto
Os seguintes recursos principais deixarão de ser publicados: verificação inteligente de integridade, análise de texto e previsão de séries temporais.
-
Soluções de migração de recursos
Os recursos machine learning syntax, scheduled query and analysis (scheduled SQL) e dashboard do SLS podem substituir totalmente os recursos não publicados.
Estrutura de tag comum
Todos os tipos de tarefa compartilham os seguintes campos de tag comuns em seus dados de resultado.
Para consultar os dados de resultado de uma tarefa específica, filtre pelos campos __tag__:__job_name__ e __tag__:__schedule_id__.
__tag__:__apply_time__:1638414250
__tag__:__batch_id__:a8343****5b0fd
__tag__:__data_type__:anomaly_detect
__tag__:__instance_name__:29030-****7bcdd
__tag__:__job_name__:etl-1637****3966-398245
__tag__:__model_name__:d52b5****c45397
__tag__:__region__:chengdu
__tag__:__schedule_id__:2457f****ebcdd
|
Campo |
Descrição |
|
|
O momento em que o modelo inspeciona o lote de dados. Unidade: segundos. |
|
|
O ID do lote. Todos os dados processados em uma única execução do algoritmo compartilham o mesmo ID de lote. |
|
|
O tipo de dados. Valores válidos:
|
|
|
O nome da instância da tarefa, composto pelo ID do projeto e pelo ID do agendamento. Cada tarefa de inspeção inteligente é mapeada para um nome de instância exclusivo no service de backend. |
|
|
O nome da tarefa, exclusivo dentro de um projeto. |
|
|
O nome do modelo. Cada entidade em uma tarefa possui um modelo exclusivo, e cada nome de modelo corresponde a uma única entidade de série temporal. |
|
|
A região onde a tarefa é executada. |
|
|
O ID da instância da tarefa. Cada tarefa é mapeada para um ID de instância exclusivo no service de backend. |
Inspeção inteligente (treinamento de modelo)
O campo tag:data_type indica o tipo de log. As abas a seguir descrevem os campos para cada tipo de log.
Estatísticas de execução
Quando __tag__:__data_type__ assume o valor job_statistic, os dados de resultado contêm as seguintes estatísticas de execução da tarefa de treinamento do modelo.
|
Parâmetro |
Descrição |
|
meta |
O projeto e o Logstore que contêm a source de dados para a tarefa de treinamento do modelo. O valor é um objeto JSON. |
|
project_name |
O projeto que contém a source de dados. |
|
logstore_name |
O Logstore que contém a source de dados. |
|
result |
O conteúdo do resultado. O valor é um objeto JSON. |
|
event_msg |
O progresso da tarefa de treinamento do modelo em um carimbo de data/hora específico. |
|
occ_time |
O carimbo de data/hora do progresso da tarefa de treinamento do modelo. |
|
tips |
Um resumo do progresso do treinamento do modelo. Exemplo: "Model saved". |
Resultados de detecção
Quando __tag__:__data_type__ assume o valor detection_process, os dados de resultado contêm os seguintes campos de resultado de detecção.
|
Parâmetro |
Descrição |
|
meta |
O projeto e o Logstore que contêm a source de dados. O valor é um objeto JSON. |
|
project_name |
O projeto que contém a source de dados. |
|
logstore_name |
O Logstore que contém a source de dados. |
|
result |
O conteúdo do resultado. O valor é um objeto JSON. |
|
dim_name |
O nome de uma característica da entidade. |
|
score |
A pontuação de anomalia de uma característica da entidade em um momento específico. |
|
value |
O valor de uma característica da entidade em um momento específico. |
|
is_train_step |
Indica se o ponto de dados da entidade pertence ao conjunto de treinamento. |
Resultados do conjunto de validação
Quando __tag__:__data_type__ assume o valor eval_report, os dados de resultado contêm os seguintes resultados do conjunto de validação para cada entidade após a conclusão da tarefa.
|
Parâmetro |
Descrição |
|
entity |
A entidade à qual o modelo pertence. O valor está no formato de par chave-valor. |
|
meta |
O projeto e o Logstore que contêm a source de dados. O valor é um objeto JSON. |
|
project_name |
O projeto que contém a source de dados. |
|
logstore_name |
O Logstore que contém a source de dados. |
|
result |
O conteúdo do resultado. O valor é um objeto JSON. |
|
evaluation_metrics.auc |
A AUC (Área Sob a Curva) para o conjunto de validação, calculada pelo modelo supervisionado da entidade. |
|
evaluation_metrics.macro_f1 |
A pontuação F1 macro para o conjunto de validação, calculada pelo modelo supervisionado da entidade. |
|
evaluation_metrics.precision |
A precisão para o conjunto de validação, calculada pelo modelo supervisionado da entidade. |
|
evaluation_metrics.recall |
O recall para o conjunto de validação, calculado pelo modelo supervisionado da entidade. |
|
time_config.training_start_time |
A hora de início do treinamento do modelo para a entidade. Unidade: segundos. |
|
time_config.training_stop_time |
A hora de término do treinamento do modelo para a entidade. Unidade: segundos. |
|
time_config.validation_end_time |
A hora de término da validação do modelo para a entidade. Unidade: segundos. |
|
time_config.predict_time |
A duração da validação do modelo para a entidade. Unidade: segundos. |
|
time_config.train_time |
A duração do treinamento do modelo para a entidade. Unidade: segundos. |
|
statistic.train_data_meta.train_anomaly_num |
O número de pontos de anomalia no conjunto de treinamento para a entidade. |
|
statistic.train_data_meta.train_data_length |
O tamanho do conjunto de treinamento para a entidade. |
|
statistic.evaluation_data_meta.evaluation_anomaly_num |
O número de pontos de anomalia no conjunto de validação para a entidade. |
|
statistic.evaluation_data_meta.evaluation_data_length |
O tamanho do conjunto de validação para a entidade. |
Inspeção inteligente
O campo tag:data_type indica o tipo de log. As abas a seguir descrevem os campos para cada tipo de log.
Estatísticas de execução
Quando __tag__:__data_type__ assume o valor job_statistic, os dados de resultado contêm estatísticas de execução da tarefa.
{
"__tag__:__job_name__": "etl-1637133966-398245",
"__tag__:__region__": "chengdu",
"__tag__:__data_type__": "job_statistic",
"__tag__:__apply_time__": "1638415928",
"__tag__:__instance_name__": "29030-2457fbbd724de9421da8c73d37debcdd",
"result": {
"maxEntity": {
"host": "machine_001",
"ip": "192.0.2.1"
},
"maxTime": 1638415994,
"minEntity": {
"host": "machine_001",
"ip": "192.0.2.1"
},
"minTime": 1638415994,
"nTotalEntity": 1
}
}
|
Parâmetro |
Descrição |
|
result |
O objeto de resultado. O valor é um objeto JSON. |
|
maxEntity |
Informações sobre a entidade com o ponto de dados mais recente em relação ao consumo atual de dados. |
|
maxTime |
O carimbo de data/hora do ponto de dados mais recente de uma entidade, em relação ao consumo atual de dados. |
|
nTotalEntity |
O número total de entidades que a tarefa atual está inspecionando. |
Progresso de inspeção da entidade
Quando __tag__:__data_type__ assume o valor job_progress, os dados de resultado mostram o progresso de inspeção para uma entidade específica. Use esses dados para determinar se uma nova entidade foi detectada ou se uma entidade existente parou de enviar dados.
{
"__tag__:__job_name__": "etl-1637133966-398245",
"__tag__:__region__": "chengdu",
"__tag__:__data_type__": "job_progress",
"__tag__:__apply_time__": "1638415883",
"__tag__:__instance_name__": "29030-2457fbbd724de9421da8c73d37debcdd",
"result": {
"new_entity": false,
"recently_arrived_time": 1638415994
},
"meta": {
"logstore_name": "machine_monitor",
"project_name": "sls-ml-demo"
},
"entity": {
"host": "machine_001",
"ip": "192.0.2.1"
}
}
|
Parâmetro |
Descrição |
|
meta |
O projeto e o Logstore da tarefa atual. O valor é um objeto JSON. |
|
project_name |
O projeto que contém a source de dados. |
|
logstore_name |
O Logstore que contém a source de dados. |
|
result |
O objeto de resultado. O valor é um objeto JSON. |
|
new_entity |
Indica se uma nova entidade foi detectada. |
|
recently_arrived_time |
O carimbo de data/hora do último ponto de dados válido recebido da entidade especificada no campo entity. |
|
entity |
Um objeto JSON contendo as dimensões que identificam a entidade. |
Dados de resultado de anomalia
Quando __tag__:__data_type__ assume o valor anomaly_detect, os dados de resultado contêm resultados de detecção de anomalias.
{
"__time__": 1638416474,
"__tag__:__batch_id__": "a5870979816fc507cbeebc6b1133af0a",
"__tag__:__schedule_id__": "2457fbbd724de9421da8c73d37debcdd",
"__tag__:__apply_time__": "1638416291",
"__tag__:__job_name__": "etl-1637133966-398245",
"__tag__:__model_name__": "d52b59a6bfb3adcf2ee62a5064c45397",
"__tag__:__data_type__": "anomaly_detect",
"__tag__:__region__": "chengdu",
"__tag__:__instance_name__": "29030-2457fbbd724de9421da8c73d37debcdd",
"result": {
"anomaly_type": "None",
"dim_name": "value",
"is_anomaly": false,
"score": 0,
"value": "0.780000"
},
"meta": {
"logstore_name": "machine_monitor",
"project_name": "sls-ml-demo"
},
"entity": {
"host": "machine_001",
"ip": "192.0.2.1"
}
}
|
Parâmetro |
Descrição |
|
entity |
A entidade de monitoramento derivada dos dados de source. O valor é um objeto JSON. |
|
meta |
Os metadados derivados da configuração da tarefa de inspeção inteligente. O valor é um objeto JSON. |
|
project_name |
O projeto que contém o Logstore. |
|
logstore_name |
O Logstore que contém a source de dados. |
|
result |
O objeto de resultado contendo o resultado da inspeção para cada ponto de dados. |
|
dim_name |
O nome da métrica, derivado dos dados de source. Para séries temporais univariadas e multivariadas, cada objeto result contém o resultado da inspeção para uma única métrica. |
|
value |
O valor da métrica identificada por result.dim_name, derivado dos dados de source. |
|
score |
Uma pontuação de anomalia de 0 a 1 que quantifica a gravidade de uma anomalia. Uma pontuação maior indica uma anomalia mais grave. |
|
is_anomaly |
Indica se o ponto de dados é considerado uma anomalia.
|
|
anomaly_type |
O tipo de anomalia determinado preliminarmente pelo modelo. Tipos suportados: spike, drift, jitter, missing e threshold exceeded. Consulte Anomaly types. |
Análise de texto
A tabela a seguir lista os campos comuns para resultados de análise de texto, excluindo os campos de tag comuns.
|
Parâmetro |
Descrição |
|
algo_type |
O tipo de algoritmo. |
|
result_type |
O tipo de resultado. |
|
result |
O conteúdo do resultado. O valor é um objeto JSON. A estrutura do campo result depende do campo result_type. |
|
meta |
Os metadados. O valor é um objeto JSON. |
|
project_name |
O projeto que contém o Logstore. |
|
LogStore_name |
O Logstore que contém a source de dados. |
|
topic |
O tópico de log da source de dados. |
|
query |
O método para extrair dados, como o uso de um grupo de consumidores. |
|
win_size |
O tamanho da janela de tempo. |
|
version |
A versão do algoritmo. |
A estrutura do campo result depende do campo result_type, conforme descrito nas seções a seguir.
O campo result_type é cluster_info
Quando result_type é cluster_info, o campo result contém informações da categoria de log:
"result": {
"cluster_id": "xxxx",
"cluster_pattern": "xxxx",
"cluster_active_age": 120,
"cluster_alive_age": 150,
"anomaly_score": 0.1,
"count": 2,
"source": []
}
|
Parâmetro |
Descrição |
|
result.cluster_id |
O ID da categoria de log. |
|
result.cluster_pattern |
O modelo de log para a categoria de log. |
|
result.cluster_active_age |
O número de janelas de tempo nas quais a categoria de log esteve ativa. Uma categoria de log está ativa em uma janela de tempo se logs dessa categoria aparecerem nessa janela. |
|
result.cluster_alive_age |
O número de janelas de tempo desde que a categoria de log apareceu pela primeira vez. |
|
result.anomaly_score |
A pontuação de anomalia da categoria de log. |
|
result.count |
O número de logs na categoria de log. |
|
result.source |
Os valores possíveis para as variáveis no modelo de log. |
O campo result_type é group_info
Quando result_type é group_info, o campo result contém informações do grupo de categorias de log:
"result": {
"group_anomaly_score": 0.1,
"group_age": 10,
"group_n_event": 190,
"group_n_cluster": 10
}
|
Parâmetro |
Descrição |
|
result.group_anomaly_score |
A pontuação de anomalia do grupo de categorias de log. |
|
result.group_age |
O número sequencial da janela de tempo atual. |
|
result.group_n_event |
O número total de logs no grupo de categorias de log durante a janela de tempo atual. |
|
result.group_n_cluster |
O número total de categorias de log no grupo de categorias de log durante a janela de tempo atual. |
O campo result_type é anomaly_info
Quando result_type é anomaly_info, o campo result contém informações do evento de anomalia:
"result": {
"anomaly_id": "xxxx",
"anomaly_type": "xxxx",
"value": 0,
"anomaly_score": 0.0,
"expect_lower": 0.0,
"expect_upper": 0.0
}
|
Parâmetro |
Descrição |
|
result.anomaly_id |
O ID da categoria de log associada à anomalia. |
|
result.anomaly_type |
O tipo de anomalia. |
|
result.value |
O valor do evento. O significado de result.anomaly_type determina como interpretar o campo result.value. |
|
result.anomaly_score |
A pontuação de anomalia. |
|
result.expect_lower |
O limite inferior do valor esperado do evento (campo result.value). |
|
result.expect_upper |
O limite superior do valor esperado do evento no campo result.value. |
Previsão de séries temporais
A tabela a seguir lista os campos comuns nos resultados de previsão de séries temporais, excluindo os campos de tag comuns.
|
Parâmetro |
Descrição |
|
algo_type |
O tipo de algoritmo. O valor é |
|
result_type |
O tipo de resultado. O valor é |
|
result |
O conteúdo do resultado. O valor é um objeto JSON. A estrutura do campo result depende do campo result_type. |
|
meta |
Os metadados. O valor é um objeto JSON. |
|
project_name |
O nome do projeto que contém o Logstore. |
|
LogStore_name |
O nome do Logstore que contém a source de dados. |
|
topic |
O tópico de log da source de dados. |
|
version |
A versão do algoritmo. |
A estrutura do campo result depende do campo result_type, conforme descrito nas seções a seguir.
Quando result_type é prediction_ok
Quando result_type é prediction_ok, a previsão foi bem-sucedida. Cada entrada de log contém o resultado da previsão para um ponto na série temporal. O campo result tem a seguinte estrutura:
{
"entity": "xxxx",
"metric": "xxxx",
"time": xxxx,
"value": "xxxx",
"expect_value": "xxxx",
"expect_lower": "xxxx",
"expect_upper": "xxxx"
}
|
Parâmetro |
Descrição |
|
result.entity |
O ID da entidade da série temporal. |
|
result.metric |
A métrica da série temporal. |
|
result.time |
O carimbo de data/hora do ponto atual na série temporal. |
|
result.value |
O valor real do ponto atual. |
|
result.expect_value |
O valor previsto para o ponto atual. |
|
result.expect_lower |
O limite inferior previsto para o ponto atual. |
|
result.expect_upper |
O limite superior previsto para o ponto atual. |
Quando result_type é prediction_error
Quando result_type é prediction_error (e __tag__:__data_type__ é job_error_message), a previsão falhou. O campo result tem a seguinte estrutura:
{
"entity": "xxxx",
"metric": "xxxx",
"error_type": "xxxx",
"error_msg": "xxxx"
}
|
Parâmetro |
Descrição |
|
result.entity |
O ID da entidade da série temporal. |
|
result.metric |
A métrica da série temporal. |
|
result.error_type |
O tipo de erro. |
|
result.error_msg |
Os detalhes do erro. |
Análise de drill-down
A tabela a seguir lista os campos comuns nos resultados da análise de drill-down, excluindo os campos de tag comuns.
|
Parâmetro |
Descrição |
|
result |
O resultado. O valor é um objeto JSON. A estrutura do campo result depende do campo __tag__:__data_type__. |
O campo __tag__:__data_type__ indica o tipo de log. As abas a seguir descrevem os campos para cada tipo de log.
Progresso
Quando tag:data_type é job_progress, o campo result contém informações de progresso da tarefa.
|
Campo |
Descrição |
|
result.from_ts |
A hora de início da tarefa. |
|
result.to_ts |
A hora de término da tarefa. Um valor de |
|
result.progress |
O progresso atual da tarefa. |
|
result.message |
Informações de status sobre o progresso atual da tarefa. |
Status
Quando tag:data_type é job_status, o campo result contém informações de status da tarefa de análise de drill-down.
|
Campo |
Descrição |
|
result.from_ts |
A hora de início da tarefa. |
|
result.to_ts |
A hora de término da tarefa. Um valor de |
|
result.status |
O status da tarefa. |
|
result.message |
As informações de status da tarefa. |
Causa raiz
Quando tag:data_type é root_cause, o campo result contém informações de causa raiz da análise de drill-down.
|
Campo |
Descrição |
|
result.status |
Se uma causa raiz foi encontrada para o evento. Valores válidos:
|
|
result.snapshot_time |
O carimbo de data/hora dos dados de série temporal multidimensional usados para a análise de drill-down. |
|
result.elapsed_time |
A duração da análise de causa raiz para o evento. |
|
result.event_info |
O evento que acionou a análise de causa raiz. |
|
result.root_cause |
Se result.status for |
|
result.reason |
Se result.status for |