Logs

Endpoint POST /api/v1/logs and POST /v1/logs

Dois endpoints gravam na mesma tabela: o formato JSON próprio do Blipit e o endpoint de logs do OpenTelemetry. Ambos aceitam qualquer uma das chaves e são limitados por requisição, por minuto e por mês.

1Formato do Blipit

X-Blipit-Key ou Authorization: Bearer, pública ou secreta. Corpo: um array JSON, um único objeto ou NDJSON; até 1.000 linhas e 1 MB depois de desfazer gzip, deflate ou brotli. Por linha: message (obrigatório, cortado em 8 KB; msg também é aceito), level (trace, debug, info, warn, error, fatal; ausente é info), timestamp (ISO ou epoch, limitado a um dia para trás e cinco minutos para a frente), service, environment, trace_id, attributes (objeto plano, até 50 valores string, número ou booleano).

sh
curl https://in.blipit.io/api/v1/logs \
  -H "Content-Type: application/json" -H "X-Blipit-Key: <secret key>" \
  -d '[{"level":"error","message":"payment declined","service":"api","trace_id":"4bf92f3577b34da6a3ce929d0e0e4736","attributes":{"order_id":42,"gateway":"stripe"}}]'

2Respostas

202 {accepted: true, stored, rejected, errors}: linhas inválidas são puladas e nomeadas. 202 {accepted: false, reason: 'log quota reached'} depois que a cota do mês é usada. 400 quando o corpo não é JSON ou nenhuma linha é válida. 413 quando o corpo ou a contagem de linhas ultrapassa o limite. 401 chave desconhecida.

3OTLP

POST /v1/logs com os mesmos cabeçalhos e OTLP/HTTP JSON (protobuf recebe 415). Os atributos de resource service.name e deployment.environment viram service e environment; os números de severidade são mapeados para os seis níveis. Responde 200 {} ou {partialSuccess: {rejectedLogRecords, errorMessage}}, também quando a cota é atingida.

ini
OTEL_EXPORTER_OTLP_LOGS_ENDPOINT=https://in.blipit.io/v1/logs
OTEL_EXPORTER_OTLP_LOGS_PROTOCOL=http/json
OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-blipit-key=<secret key>

Bom saber

  • Cota por mês em bytes armazenados: Free 1 GB, Solo 5 GB, Team 20 GB, Scale 100 GB; retenção 3, 14, 30, 30 dias.
  • 300 requisições por minuto por chave, compartilhadas com eventos e spans.

Travou? Envie um e-mail para support@blipit.io. As chaves e o DSN exato de cada projeto ficam em Chaves de API no app.blipit.io.