Todos os produtos
Search
Central de documentação

Simple Log Service:Funções de análise de causa raiz

Última atualização: Jul 03, 2026

O Simple Log Service oferece ferramentas avançadas de alerta e análise para diagnosticar problemas e identificar subdimensões anômalas. Se ocorrer uma anomalia em uma métrica de série temporal, use uma função de análise de causa raiz para determinar quais atributos de dimensão causam o desvio.

rca_kpi_search

Sintaxe

select rca_kpi_search(varchar_array, name_array, real, forecast, level)

A tabela a seguir descreve os parâmetros.

Parâmetro

Descrição

Valor

varchar_array

Atributos da dimensão.

Array. Exemplo: array[col1, col2, col3].

name_array

Nomes das dimensões.

Array. Exemplo: array['col1', 'col2', 'col3'].

real

Valor real da combinação de atributos correspondente.

Tipo: double. Aceita todos os números reais.

forecast

Valor previsto da combinação de atributos correspondente.

Tipo: double. Aceita todos os números reais.

level

Quantidade de atributos de dimensão a incluir no conjunto de causas raiz de saída. Defina este parâmetro como 0 para retornar todos os conjuntos de causas raiz identificados.

Tipo: long. Valores válidos: 0 ≤ level ≤ Número de dimensões a analisar (comprimento de varchar_array).

Exemplo

  • Consulta e análise:

    Use uma subconsulta para organizar os valores reais e previstos de cada atributo detalhado. Em seguida, chame a função rca_kpi_search para analisar a causa raiz da anomalia.

    * not Status:200 | 
    select rca_kpi_search(
     array[ ProjectName, LogStore, UserAgent, Method ],
     array[ 'ProjectName', 'LogStore', 'UserAgent', 'Method' ], real, forecast, 1) 
    from ( 
    select ProjectName, LogStore, UserAgent, Method,
     sum(case when time < 1552436040 then real else 0 end) * 1.0 / sum(case when time < 1552436040 
    then 1 else 0 end) as forecast,
     sum(case when time >=1552436040 then real else 0 end) *1.0 / sum(case when time >= 1552436040 
    then 1 else 0 end) as real
     from ( 
    select '("__time__" - ("__time__" % 60))' as time, ProjectName, LogStore, UserAgent, Method, COUNT(*) as real 
    from log GROUP by time, ProjectName, LogStore, UserAgent, Method ) 
    GROUP BY ProjectName, LogStore, UserAgent, Method limit 100000000)
  • Saída: Os resultados da análise incluem um gráfico de área de série temporal e várias entradas expansíveis de conjuntos de causas raiz. A tabela do conjunto de causas raiz contém as colunas region, project, Logstore, useragent, method, rsst, change e score. Nesse contexto, rsst representa o valor estatístico da submétrica da causa raiz, enquanto score indica a pontuação de anormalidade dessa causa. Um pequeno gráfico de linha de tendência da submétrica correspondente aparece à direita para facilitar a inspeção visual das flutuações durante a anomalia.

Estrutura de saída:

{
  "rcSets": [
    {
      "rcItems": [
        {
          "kpi": [{"attr": "xxx", "val": "xxx"}],
          "nleaf": 100,
          "change": 0.524543,
          "score": 0.1454543
        }
      ]
    }
  ]
}

A tabela a seguir descreve os itens de exibição.

Parâmetro

Descrição

rcSets

Array de conjuntos de causas raiz.

rcItems

Array de itens que compõem o conjunto de causas raiz.

kpi

Array que representa as condições de um item no conjunto de causas raiz. Cada elemento do array é um objeto em que attr corresponde ao nome da dimensão e val ao valor do atributo.

nleaf

Número de folhas nos dados brutos abrangidas por um item KPI no conjunto de causas raiz.

Nota

Uma folha corresponde a uma entrada de log da combinação de atributos mais granular.

change

Proporção da variação anômala total atribuída às folhas deste item.

score

Pontuação de anormalidade deste item de causa raiz. O valor varia no intervalo [0, 1].

A saída é um objeto JSON. O código a seguir mostra um exemplo:

{
  "rcSets": [
  {
    "rcItems": [
    {
      "kpi": [
      {
        "attr": "country",
        "val": "*"
      },
      {
        "attr": "province",
        "val": "*"
      },
      {
        "attr": "provider",
        "val": "*"
      },
      {
        "attr": "domain",
        "val": "example.com"
      },
      {
        "attr": "method",
        "val": "*"
      }
      ],
      "nleaf": 119,
      "change": 0.3180687806279939,
      "score": 0.14436007709620113
    }
    ]
  }
  ]
}