Endpoint de métricas

As métricas de observação fornecem insights sobre estatísticas de uso, tendências históricas e indicadores de desempenho para vários recursos no Adobe Experience Platform. A variável /metrics endpoint na variável Observability Insights API O permite recuperar programaticamente dados de métrica para a atividade de sua organização no Platform.

NOTE
A versão anterior do endpoint de métricas (V1) foi descontinuada. Este documento se concentra exclusivamente na versão atual (V2). Para obter detalhes sobre o endpoint V1 para implementações herdadas, consulte o Referência da API.

Introdução

O endpoint da API usado neste guia faz parte da Observability Insights API. Antes de continuar, reveja o guia de introdução para obter links para a documentação relacionada, um guia para ler as chamadas de API de exemplo neste documento e informações importantes sobre os cabeçalhos necessários para fazer chamadas com êxito para qualquer Experience Platform API.

Recuperar métricas de observabilidade

Você pode recuperar dados de métricas fazendo uma solicitação POST para o /metrics ponto de acesso, especificando as métricas que deseja recuperar na carga.

Formato da API

POST /metrics

Solicitação

curl -X POST \
  https://platform.adobe.io/data/infrastructure/observability/insights/metrics \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -d '{
        "start": "2020-07-14T00:00:00.000Z",
        "end": "2020-07-22T00:00:00.000Z",
        "granularity": "day",
        "metrics": [
          {
            "name": "timeseries.ingestion.dataset.recordsuccess.count",
            "filters": [
              {
                "name": "dataSetId",
                "value": "5edcfb2fbb642119194c7d94|5eddb21420f516191b7a8dad",
                "groupBy": true
              }
            ],
            "aggregator": "sum",
            "downsample": "sum"
          },
          {
            "name": "timeseries.ingestion.dataset.dailysize",
            "filters": [
              {
                "name": "dataSetId",
                "value": "5eddb21420f516191b7a8dad",
                "groupBy": false
              }
            ],
            "aggregator": "sum",
            "downsample": "sum"
          }
        ]
      }'
Propriedade
Descrição
start
A data/hora mais antiga da qual recuperar dados de métrica.
end
A data/hora mais recente da qual recuperar dados de métrica.
granularity
Um campo opcional que indica o intervalo de tempo pelo qual dividir os dados de métrica. Por exemplo, um valor de DAY retorna métricas para cada dia entre a variável start e end data, enquanto um valor de MONTH agruparia os resultados da métrica por mês. Ao usar esse campo, uma variável downsample A propriedade também deve ser fornecida para indicar a função de agregação pela qual agrupar dados.
metrics
Uma matriz de objetos, um para cada métrica que você deseja recuperar.
name
O nome de uma métrica reconhecida pelos Insights de capacidade de observação. Consulte a apêndice para obter uma lista completa dos nomes de métricas aceitos.
filters

Um campo opcional que permite filtrar métricas por conjuntos de dados específicos. O campo é uma matriz de objetos (um para cada filtro), com cada objeto contendo as seguintes propriedades:

  • name: o tipo de entidade para filtrar métricas. Atualmente, somente dataSets é compatível.
  • value: A ID de um ou mais conjuntos de dados. Várias IDs de conjunto de dados podem ser fornecidas como uma única cadeia de caracteres, com cada ID separada por caracteres de barra vertical (|).
  • groupBy: Quando definido como true, indica que o valor correspondente value representa vários conjuntos de dados cujos resultados de métrica devem ser retornados separadamente. Se definido como falso, os resultados da métrica para esses conjuntos de dados serão agrupados.
aggregator
Especifica a função de agregação que deve ser usada para agrupar vários registros de séries temporais em resultados únicos. Para obter informações detalhadas sobre agregadores disponíveis, consulte o Documentação do OpenTSDB.
downsample
Um campo opcional que permite especificar uma função de agregação para reduzir a taxa de amostragem de dados de métrica, classificando campos em intervalos (ou "intervalos"). O intervalo para a redução da resolução é determinado pela granularity propriedade. Para obter informações detalhadas sobre redução da resolução, consulte o Documentação do OpenTSDB.

Resposta

Uma resposta bem-sucedida retorna os pontos de dados resultantes para as métricas e os filtros especificados na solicitação.

{
  "metricResponses": [
    {
      "metric": "timeseries.ingestion.dataset.recordsuccess.count",
      "filters": [
        {
          "name": "dataSetId",
          "value": "5edcfb2fbb642119194c7d94|5eddb21420f516191b7a8dad",
          "groupBy": true
        }
      ],
      "datapoints": [
        {
          "groupBy": {
            "dataSetId": "5edcfb2fbb642119194c7d94"
          },
          "dps": {
            "2020-07-14T00:00:00Z": 44.0,
            "2020-07-15T00:00:00Z": 46.0,
            "2020-07-16T00:00:00Z": 36.0,
            "2020-07-17T00:00:00Z": 50.0,
            "2020-07-18T00:00:00Z": 38.0,
            "2020-07-19T00:00:00Z": 40.0,
            "2020-07-20T00:00:00Z": 42.0,
            "2020-07-21T00:00:00Z": 42.0,
            "2020-07-22T00:00:00Z": 50.0
          }
        },
        {
          "groupBy": {
            "dataSetId": "5eddb21420f516191b7a8dad"
          },
          "dps": {
            "2020-07-14T00:00:00Z": 44.0,
            "2020-07-15T00:00:00Z": 46.0,
            "2020-07-16T00:00:00Z": 36.0,
            "2020-07-17T00:00:00Z": 50.0,
            "2020-07-18T00:00:00Z": 38.0,
            "2020-07-19T00:00:00Z": 40.0,
            "2020-07-20T00:00:00Z": 42.0,
            "2020-07-21T00:00:00Z": 42.0,
            "2020-07-22T00:00:00Z": 50.0
          }
        }
      ],
      "granularity": "DAY"
    },
    {
      "metric": "timeseries.ingestion.dataset.dailysize",
      "filters": [
        {
          "name": "dataSetId",
          "value": "5eddb21420f516191b7a8dad",
          "groupBy": false
        }
      ],
      "datapoints": [
        {
          "groupBy": {},
          "dps": {
            "2020-07-14T00:00:00Z": 38455.0,
            "2020-07-15T00:00:00Z": 40213.0,
            "2020-07-16T00:00:00Z": 31476.0,
            "2020-07-17T00:00:00Z": 43705.0,
            "2020-07-18T00:00:00Z": 33227.0,
            "2020-07-19T00:00:00Z": 34977.0,
            "2020-07-20T00:00:00Z": 36735.0,
            "2020-07-21T00:00:00Z": 36737.0,
            "2020-07-22T00:00:00Z": 43715.0
          }
        }
      ],
      "granularity": "DAY"
    }
  ]
}
Propriedade
Descrição
metricResponses
Uma matriz cujos objetos representam cada uma das métricas especificadas na solicitação. Cada objeto contém informações sobre a configuração de filtro e os dados de métrica retornados.
metric
O nome de uma das métricas fornecidas na solicitação.
filters
A configuração de filtro para a métrica especificada.
datapoints
Uma matriz cujos objetos representam os resultados da métrica e dos filtros especificados. O número de objetos na matriz depende das opções de filtro fornecidas na solicitação. Se nenhum filtro for fornecido, a matriz conterá apenas um único objeto que representa todos os conjuntos de dados.
groupBy
Se vários conjuntos de dados tiverem sido especificados na variável filter para uma métrica, e a variável groupBy estiver definida como true na solicitação, esse objeto conterá a ID do conjunto de dados que o dps se aplica a.

Se esse objeto aparecer vazio na resposta, a variável correspondente dps se aplica a todos os conjuntos de dados fornecidos na variável filters matriz (ou todos os conjuntos de dados no Platform se nenhum filtro foi fornecido).
dps
Os dados retornados para a métrica, o filtro e o intervalo de tempo fornecidos. Cada chave nesse objeto representa um carimbo de data e hora com um valor correspondente para a métrica especificada. O período entre cada ponto de dados depende da granularity valor especificado na solicitação.

Apêndice

A seção a seguir contém informações adicionais sobre como trabalhar com a /metrics terminal.

Métricas disponíveis available-metrics

As tabelas a seguir listam todas as métricas expostas pelo Observability Insights, discriminados por Platform serviço. Cada métrica inclui uma descrição e um parâmetro de consulta de ID aceito.

NOTE
Todos os parâmetros de consulta de ID listados são opcionais, a menos que declarado o contrário.

Data Ingestion ingestion

A tabela a seguir descreve as métricas do Adobe Experience Platform Data Ingestion. Métricas no negrito são métricas de assimilação por transmissão.

Métrica de insights
Descrição
Parâmetro de consulta de ID
timeseries.ingestion.dataset.size
Tamanho cumulativo de todos os dados assimilados de um conjunto de dados para todos os conjuntos de dados.
ID do conjunto de dados
timeseries.ingestion.dataset.dailysize
Tamanho dos dados assimilados com base no uso diário para um conjunto de dados ou para todos os conjuntos de dados.
ID do conjunto de dados
timeseries.ingestion.dataset.batchfailed.count
Número de lotes com falha para um conjunto de dados ou para todos os conjuntos de dados.
ID do conjunto de dados
timeseries.ingestion.dataset.batchsuccess.count
Número de lotes assimilados para um conjunto de dados ou para todos os conjuntos de dados.
ID do conjunto de dados
timeseries.ingestion.dataset.recordsuccess.count
Número de registros assimilados para um conjunto de dados ou para todos os conjuntos de dados.
ID do conjunto de dados
timeseries.data.collection.validation.category.present.count
Número total de mensagens de "presença" inválidas para um conjunto de dados ou para todos os conjuntos de dados.
ID do conjunto de dados
timeseries.data.collection.inlet.total.messages.received
Número total de mensagens recebidas para uma entrada de dados ou para todas as entradas de dados.
ID de entrada
timeseries.data.collection.inlet.total.messages.size.received
Tamanho total dos dados recebidos para uma entrada de dados ou para todas as entradas de dados.
ID de entrada
timeseries.data.collection.inlet.success
Número total de chamadas HTTP bem-sucedidas para uma entrada de dados ou para todas as entradas de dados.
ID de entrada
timeseries.data.collection.inlet.failure
Número total de chamadas HTTP com falha para uma entrada de dados ou para todas as entradas de dados.
ID de entrada

Identity Service identity

A tabela a seguir descreve as métricas do Adobe Experience Platform Identity Service.

Métrica de insights
Descrição
Parâmetro de consulta de ID
timeseries.identity.dataset.recordsuccess.count
Número de registros gravados em suas fontes de dados por Identity Service, para um conjunto de dados ou todos os conjuntos de dados.
ID do conjunto de dados
timeseries.identity.dataset.recordfailed.count
Número de registros com falha por Identity Service, para um conjunto de dados ou para todos os conjuntos de dados.
ID do conjunto de dados
timeseries.identity.dataset.namespacecode.recordfailed.count
Número de registros de identidade com falha por um namespace.
ID de namespace (Obrigatório)
timeseries.identity.dataset.namespacecode.recordskipped.count
Número de registros de identidade ignorados por um namespace.
ID de namespace (Obrigatório)
timeseries.identity.graph.imsorg.uniqueidentities.count
Número de identidades exclusivas armazenadas no gráfico de identidade de sua organização.
N/D
timeseries.identity.graph.imsorg.namespacecode.uniqueidentities.count
Número de identidades exclusivas armazenadas no gráfico de identidade de um namespace.
ID de namespace (Obrigatório)
timeseries.identity.graph.imsorg.graphstrength.uniqueidentities.count
Número de identidades exclusivas armazenadas no gráfico de identidade de sua organização para uma determinada intensidade de gráfico ("desconhecido", "fraco" ou "forte").
Intensidade do gráfico (Obrigatório)

Real-Time Customer Profile profile

A tabela a seguir descreve as métricas para Real-Time Customer Profile.

Métrica de insights
Descrição
Parâmetro de consulta de ID
timeseries.profiles.dataset.recordread.count
Número de registros lidos do Data Lake por Profile, para um conjunto de dados ou para todos os conjuntos de dados.
ID do conjunto de dados
timeseries.profiles.dataset.recordsuccess.count
Número de registros gravados em suas fontes de dados por Profile, para um conjunto de dados ou para todos os conjuntos de dados.
ID do conjunto de dados
timeseries.profiles.dataset.batchsuccess.count
Número de Profile lotes assimilados para um conjunto de dados ou para todos os conjuntos de dados.
ID do conjunto de dados

Mensagens de erro

Respostas dos /metrics O endpoint pode retornar mensagens de erro em determinadas condições. Essas mensagens de erro são retornadas no seguinte formato:

{
    "type": "http://ns.adobe.com/aep/errors/INSGHT-1000-400",
    "title": "Bad Request - Start date cannot be after end date.",
    "status": 400,
    "report": {
        "tenantInfo": {
            "sandboxName": "prod",
            "sandboxId": "49f58060-5d47-34rd-aawf-a5384333ff12",
            "imsOrgId": "{ORG_ID}"
        },
        "additionalContext": null
    },
    "error-chain": [
        {
            "serviceId": "INSGHT",
            "errorCode": "INSGHT-1000-400",
            "invokingServiceId": "INSGHT",
            "unixTimeStampMs": 1602095177129
        }
    ]
}
Propriedade
Descrição
title
Uma string que contém a mensagem de erro e o possível motivo pelo qual ela ocorreu.
report
Contém informações contextuais sobre o erro, incluindo a sandbox e a organização em uso na operação que o acionou.

A tabela a seguir lista os diferentes códigos de erro que podem ser retornados pela API:

Código de erro
Título
Descrição
INSGHT-1000-400
Conteúdo de solicitação inválido

Algo deu errado com a carga da solicitação. Verifique se a formatação da carga é exatamente igual à mostrada acima. Qualquer um dos possíveis motivos pode acionar esse erro:

  • Campos obrigatórios ausentes, como aggregator
  • Métricas inválidas
  • A solicitação contém um agregador inválido
  • Uma data inicial ocorre após uma data final
INSGHT-1001-400
Falha na consulta de métricas
Ocorreu um erro ao tentar consultar o banco de dados de métricas devido a uma solicitação inválida ou a própria consulta não pode ser analisada. Verifique se a solicitação está formatada corretamente antes de tentar novamente.
INSGHT-1001-500
Falha na consulta de métricas
Ocorreu um erro ao tentar consultar o banco de dados de métricas devido a um erro no servidor. Tente a solicitação novamente e, se o problema persistir, entre em contato com o suporte ao Adobe.
INSGHT-1002-500
Erro de serviço
A solicitação não pôde ser processada devido a um erro interno. Tente a solicitação novamente e, se o problema persistir, entre em contato com o suporte ao Adobe.
INSGHT-1003-401
Erro de validação de sandbox
A solicitação não pôde ser processada devido a um erro de validação de sandbox. Verifique se o nome da sandbox fornecido na x-sandbox-name o cabeçalho representa uma sandbox válida e ativada para sua organização antes de tentar a solicitação novamente.
recommendation-more-help
d82ad670-3501-465b-afee-a91200fdc02c