Pular para o conteúdo principal
🔐 Não envie Informações Pessoais Identificáveis (PII) para a AppSignal. Filtre PII (por exemplo, nomes, e-mails) dos logs e use um ID, hash ou identificador pseudonimizado no lugar.

Para entidades cobertas pela HIPAA, mais informações sobre como assinar um Business Associate Agreement (BAA) podem ser encontradas em nossa documentação de Business Add-Ons.

Endpoint

Você pode fazer POST de logs para o AppSignal. Seus logs precisam estar formatados em NDJSON e enviados para o seguinte endpoint:
https://appsignal-endpoint.net/logs/json?api_key=YOUR_LOG_SOURCE_API_KEY

NDJSON

Nosso endpoint HTTP-JSON espera que os logs sejam enviados em formato NDJSON para o endpoint. NDJSON significa Newline Delimited JSON, o que quer dizer que cada linha de log é seu próprio objeto JSON, por exemplo:
{"timestamp": "2022-06-02T04:17:25.783Z", "message": "foo", [...]}
{"timestamp": "2022-06-02T04:17:26.000Z", "message": "bar", [...]}

Dados obrigatórios

Abaixo está um exemplo de mensagem NDJSON (formatada para leitura). Você pode ler mais sobre os dados que o AppSignal requer na seção Campos obrigatórios.

Exemplo de mensagem

Aviso: Esta mensagem está formatada usando quebras de linha para facilitar a leitura. Seu cliente precisa enviar a linha de log como uma única linha, sem quebras de linha.
{
  "timestamp": "2022-06-02T04:17:25.783Z",
  "group": "organisations",
  "severity": "warn",
  "message": "This is a test message",
  "hostname": "frontend1",
  "attributes": {
    "org": "appsignal",
    "step": 1,
    "seen_terms": true,
    "entries": 10.01
  }
}

Campos obrigatórios

O AppSignal irá descartar silenciosamente qualquer mensagem que não contenha os campos obrigatórios abaixo ou que tenha valores incorretos.
O payload NDJSON que você envia ao AppSignal precisa conter os seguintes campos:

timestamp

Um timestamp formatado em RFC 3339 com precisão de nanossegundos de 3 dígitos.
YAML
YYYY-MM-DDThh:mm:ss.sss
2022-01-12T07:20:50.520Z

group

String de uma palavra que permite ao usuário separar linhas de log por um determinado contexto (por exemplo, logs para uma parte específica da sua aplicação, o group pode ser “admin”, “payments”, “database” ou “background”).

severity

O campo severity aceita os seguintes valores: unknown, trace, debug, info, notice, warn, error, critical, alert e fatal.

message

Mensagem em Plaintext.

hostname

Hostname do servidor que envia a mensagem.

Campos opcionais

Os seguintes campos são opcionais, mas recomendados para dados de log mais ricos:

attributes

Atributos que podem ser usados para filtrar ou buscar a mensagem, com as seguintes regras:
  • Atributos não podem ser aninhados ou conter arrays
  • O tamanho máximo da chave é 50 caracteres
  • A quantidade máxima de atributos é 100
  • Os seguintes primitivos são aceitos como valores:
    • String: idealmente usada como “tags”, por exemplo, valores de uma palavra, com um máximo de 100 caracteres
    • Integer: 10
    • Double: 0.01
    • Boolean: true/false

format

Sobrescreve o formato configurado da fonte de log ao fazer parsing da message. Aceita plaintext, logfmt, json ou autodetect; valores desconhecidos são ignorados.