evobits

evobits · guia · aplicações · visão geral

Aplicações: visão geral

O módulo Aplicações recebe logs, erros e traces dos sistemas da sua empresa e mostra tudo ao lado do resto do evobits: o mesmo painel, os mesmos alertas, o mesmo plantão. Cada sistema vira um serviço, e cada serviço manda os dados com um token próprio, pelo padrão aberto OpenTelemetry (OTLP).

Para
Quem liga um sistema ao evobits
Padrão
OpenTelemetry (OTLP por HTTP)
Rede
Só saída para otlp.evobits.com.br:443
Onde no painel
Aplicações

Copia esta página inteira em Markdown, com o texto para IA, para colar no Claude Code, no ChatGPT, no Gemini ou no assistente que vocês usam.

Exemplo de prompt
Preciso entender o módulo Aplicações do evobits antes de instrumentar um serviço.
Siga o guia que vou colar abaixo.

Nossa stack: (descreva aqui: linguagem, framework, onde o serviço roda).

Leia o guia inteiro e execute a seção "Texto para IA".
O token nunca vai escrito em arquivo: só a variável EVOBITS_TOKEN.

<COLE AQUI O TEXTO COPIADO PELO BOTÃO "COPIAR PARA IA">

01O que é monitorado

O queDe onde vemPara que serve
Logslinhas de log do serviço (OpenTelemetry, @evobits/node ou arquivo lido pela sonda)busca por texto, filtros, "Ao vivo", padrões e contagens
Errosexceções nos traces e logs com exception.*erros agrupados por tipo, mensagem e ponto do código, com estado (novo, aberto, resolvido, regressão, ignorado)
Traces e APMspans de requisições, chamadas a banco, cache e outros serviçosrequisições por minuto, taxa de erro, p50, p95 e p99 por rota, cascata de cada trace
Padrões de loglinhas parecidas agrupadas (números, ids, IPs e e-mails viram coringas)ver o que mais aparece e o que mudou
Web Vitalspágina no navegador, pelo SDK Web do OpenTelemetrycarga completa, LCP, INP, CLS e erros de JavaScript por página e por versão
Consultas de bancoPostgres, PgBouncer, Redis e MongoDB, lidos pela sonda com usuário só de leituraconsultas mais pesadas, conexões, cache, filas do pool, memória
TelefoniaAsterisk pelo AMI, só leitura, pela sondatroncos, ramais, canais, filas, jitter e perda

02Como funciona

  1. 1Você cria o serviço em Aplicações > Serviços > Novo serviço (nome, ambiente e tipo: backend, navegador, app ou worker). A tela mostra um token uma vez: eva_prd_..., eva_hml_... ou eva_dev_... conforme o ambiente; serviço do tipo navegador recebe um token público evn_....
  2. 2O serviço manda os dados para https://otlp.evobits.com.br (OTLP por HTTP, protobuf ou JSON, com ou sem gzip) com o cabeçalho Authorization: Bearer <token>. Rede sem saída para a internet manda para a sonda remota, que guarda em disco e repassa.
  3. 3O token decide o serviço e o ambiente. O service.name que o serviço manda fica gravado como atributo, mas nunca muda o destino.
  4. 4Ao chegar, os dados passam, nesta ordem, pela máscara obrigatória, pelos totais por minuto (contados antes de qualquer amostragem, por isso taxa de erro e percentis são exatos), pela amostragem dos traces e pela gravação.
  5. 5Os dados ficam num banco só de aplicações, separado do resto do evobits, na nossa infraestrutura.

03Onde aparece

TelaO que mostra
Aplicações > Serviçoslista com estado, requisições, taxa de erro, p95, erros novos e o uso do mês; subtítulo com linguagem, framework e instâncias
Serviço > Visão geralrequisições, erros, p50, p95 e p99 no tempo (1 h, 6 h, 24 h, 7 d), marcas de deploy (versão nova), rotas que mais pesam, erros recentes, dependências
Serviço > Rotascada rota (GET /pedidos/:id), com volume, erro e latência; daqui nasce o sensor de rota
Serviço > Páginassó no tipo navegador: carga e Web Vitals por página, por versão e por navegador
Serviço > Erros e Aplicações > Errosgrupos de erro, contagem, primeira e última vez, versão, estado; a página do erro mostra a pilha (resolvida pelo source map quando houver), o trace, os atributos comuns e a causa provável pela IA
Serviço > Traces e Aplicações > Traceslista de traces por rota, duração, erro e janela; o trace abre em cascata com os logs do mesmo trace
Serviço > Dependênciasbancos, caches e serviços chamados, com volume e latência, e "Quem chama"
Serviço > Instânciascada processo ou máquina, com versão, runtime e último dado; instância parada sai da lista depois de 7 dias
Serviço > Configuraçãoamostragem, retenção, máscara (com "Testar"), regras de extração, origens (navegador) e tokens
Aplicações > LogsExplorador de logs: busca por texto, facetas (serviço, nível, host, atributos), histograma, "Ao vivo", linhas em volta, ligação ao trace e ao erro, aba Padrões
Aplicações > Mapaquem chama quem, montado pelos traces
Dispositivo de banco > Consultasconsultas normalizadas do Postgres, pool do PgBouncer, Redis, profiler do MongoDB
Dispositivo AsteriskTroncos, Ramais e Filas, e o painel de troncos e ramais
Sonda > ReceptoresOTLP local e arquivos de log da sonda coletora
Dashboardsgrupo "Aplicações" no catálogo: resumo do serviço, erros, contagem de logs, top rotas, mapa de serviços, Web Vitals

04Alertas

CondiçãoComo nasceObservação
Rota: latência (p50, p95 ou p99) ou taxa de erroaba Rotas, "Criar sensor", ou regra de alertaavaliada a cada minuto pelos totais; alerta quando os últimos N minutos (padrão 5) passam do limiar e têm o volume mínimo (padrão 20 requisições por minuto); abaixo do volume fica "sem dado"
Contagem de logExplorador de logs, "Criar sensor deste filtro", ou regra de alertaconta as linhas do filtro salvo por janela (1 a 60 min, padrão 5), com limiar por N janelas seguidas; pode somar o syslog
Erro novoregra padrão "Erro novo em produção"nasce desligada; padrão: 3 ocorrências em 10 min, serviços de produção
Regressão de erroregra padrão "Regressão de erro"nasce desligada; regressão é um erro resolvido que volta numa versão mais nova (na mesma versão ele só reabre)
Banco e Asterisksensores comuns do dispositivolimiares de partida, por exemplo acerto de cache abaixo de 95 %, clientes esperando no pool, jitter e perda por tronco

Os sensores de aplicação ficam num dispositivo do tipo Aplicação, criado no grupo "Aplicações" quando o primeiro sensor do serviço nasce. Ele não conta no limite de dispositivos do plano.

05IA

Com o módulo de IA ligado e aceito na empresa:

  • Causa provável do erro. Gerada sozinha para erro novo e regressão em produção, e no clique para os outros. Vai ao modelo: tipo e mensagem do erro (já mascarados), função, arquivo e linha dos quadros da pilha, contagem por versão, atributos comuns e até 6 linhas de log dos mesmos traces (mascaradas, até 300 caracteres cada).
  • Diagnóstico do alerta. Para alerta de sensor de rota ou de contagem de log, o diagnóstico recebe do mesmo intervalo: padrões de log com contagem, grupos de erro, rotas e dependências lentas e as versões que entraram (deploys). Só dado agregado e mascarado.
  • Nunca vai ao modelo: o código em volta da pilha, o identificador do usuário, linha de log crua no diagnóstico de alerta, pilha inteira, segredo ou dado que a máscara trocou.
  • O gasto respeita o teto mensal da IA da empresa.

06Limites e privacidade

Cota. Cada plano tem uma cota em GB gravados por mês (o valor da sua empresa aparece em Plano e cobrança). Conta o que é gravado depois da máscara, do nível mínimo de log e da amostragem; GB = 10^9 bytes; o mês segue o fuso de Fortaleza. Em 80 % aparece uma faixa em todas as telas de Aplicações, e os proprietários recebem e-mail e aviso no sino. Em 100 % a ingestão de Aplicações para até o mês virar: o evobits responde com sucesso parcial e o cabeçalho X-Evobits-Corte, o @evobits/node para de enviar por 10 minutos e o seu serviço segue rodando normal. Rede, sensores, alertas e o resto do evobits não sentem. Os sensores de rota e de contagem ficam "sem dado" e não alertam durante o corte. Para mais GB, use "Pedir mais GB".

Retenção.

DadoEscolha por serviçoTetoPadrão
Logs1, 3, 7, 15 ou 30 dias3015
Traces1, 3, 7 ou 15 dias157
Errosfixo9090
Totais por minuto (gráficos de até 24 h)fixo3 dias
Totais por hora (gráficos longos)fixo400 dias

O dado sai até 1 dia depois do prazo (a limpeza apaga o dia inteiro de uma vez).

Amostragem. Traces com erro: 100 %, sempre. Traces lentos (acima de 2 s, ajustável): guardados sempre. Traces sem erro: 10 % por padrão, de 1 % a 100 %. A decisão é tomada no fim do trace (o evobits espera 15 s depois do último span), então nenhum erro se perde. Logs não são amostrados; só o nível mínimo vale (padrão info). Os gráficos de volume, erro e latência contam 100 % do que chegou, antes da amostragem.

Máscara obrigatória. Roda antes de gravar, em tudo o que chega: corpo do log (campo a campo quando é JSON), atributos, nome do span, mensagem e pilha de exceção e URLs. Não desliga. O que ela troca nunca chega ao banco e não tem como ser recuperado.

O queVira
Telefone brasileiro com DDD, com ou sem +55[telefone]
CPF e CNPJ com pontuação; 11 ou 14 dígitos só quando o dígito verificador confere[cpf]
E-mail[e-mail]
Bearer e Basic, JWT, chaves com prefixo conhecido (eva_, evk_, sk_, ghp_, AKIA... e afins), campos token, api_key, authorization, cookie[token]
Campos password, senha, secret, pass, pwd e parecidos; senha= em URL e query; usuario:senha@ em URL de conexão[senha]
Campos de corpo de mensagem: body, mensagem, texto, content, http.request.body, http.response.body[corpo]

Valor com codificação de URL ou de HTML (%40, &#64;) é conferido decodificado. Nunca são mexidos: trace_id, span_id, UUID, marca de tempo, IP, versão, porta. Não estão na lista fixa: nome de pessoa, endereço, CEP e endereço IP. Para eles, crie uma regra extra na Configuração do serviço: por nome de atributo (por exemplo cliente.placa vira [placa]) ou por padrão (expressão regular, até 200 caracteres; padrão lento ou perigoso é recusado no "Salvar"). Regra nova vale do momento em que é salva; o que já foi gravado não muda. O cartão "O que a máscara trocou" mostra só a contagem por categoria.

Logs ficam legíveis. Para a busca por texto funcionar, os logs ficam legíveis no banco de aplicações, sempre depois da máscara.

Isolamento entre empresas. O banco de aplicações guarda só identificadores, sem nome de empresa, serviço ou pessoa. A aplicação lê por visões e funções que filtram pela empresa da sessão; ela não tem acesso direto às tabelas. O token resolve a empresa e o serviço; um service.name de outra empresa não muda nada. Membro restrito por grupo vê só os serviços do grupo.

LGPD. Desligar o módulo para a ingestão; o que foi gravado segue até vencer ou ser excluído. Excluir um serviço revoga os tokens na hora e apaga os dados dele em lote. A exclusão da conta apaga também o banco de aplicações, antes do resto. A exportação de Dados e privacidade inclui Aplicações: o cadastro dos serviços (sem tokens), os grupos de erro, os totais por hora do período inteiro e os dados brutos dos últimos 7 dias, em arquivos NDJSON comprimidos por dia e por serviço. As cópias de segurança guardam dado apagado por até 7 dias.

07Como ligar

  1. 1A evobits liga o módulo no plano da empresa.
  2. 2Um proprietário aceita em Aplicações (a tela de aceite lista o que é guardado, a máscara, a cota e a retenção).
  3. 3Crie o primeiro serviço em Aplicações > Serviços > Novo serviço e siga o guia da linguagem:

08Como conferir

  • Na tela do serviço novo, o cartão Primeiro dado muda sozinho para "está mandando dados", com a instância, a versão e a contagem de traces, logs e erros.
  • Em Aplicações > Logs, filtre pelo serviço e ligue "Ao vivo".
  • Em Plano e cobrança, a linha Aplicações mostra o uso do mês.

09Problemas comuns

SintomaCausa provável
Nada chega e o SDK registra 401token errado, revogado ou sem Bearer na frente
403módulo desligado, sem aceite de um proprietário, ou empresa suspensa; no navegador, origem fora da lista
413pedido acima de 8 MB (1 MB no navegador) ou acima de 32 MB descomprimido
429mais de 20 pedidos por segundo por token (rajada de 100); espere o Retry-After
Chega log, mas não aparece trace sem erroamostragem de 10 %: é o esperado; suba a taxa na Configuração para testar
Rota aparece só como GETo framework não informou http.route (ver o guia da linguagem)
Instância com nome estranho, como processo-1234o serviço não manda service.instance.id nem host.name; o evobits cria um nome sozinho. Mande service.instance.id para ter nomes estáveis
Corte da cotafaixa vermelha em Aplicações; dados descartados até o dia 1 do mês seguinte

10Texto para IA

Para pedir a um assistente de código (Claude Code ou afins) que explique o módulo e aponte o guia certo para o seu projeto. Troque os marcadores entre < >; o token fica só na variável EVOBITS_TOKEN.

# Tarefa: entender o módulo Aplicações do evobits antes de instrumentar um serviço

## Objetivo
Explicar para mim (e usar como base para os próximos passos) o que o evobits faz com logs, erros e traces do
serviço <nome do serviço> no ambiente <ambiente>. Não altere nenhum arquivo nesta tarefa: só leia o projeto e responda.

## Contexto do evobits
- O serviço manda dados pelo OpenTelemetry (OTLP/HTTP, protobuf ou JSON, gzip aceito) para https://otlp.evobits.com.br,
  caminhos /v1/traces e /v1/logs, com o cabeçalho `Authorization: Bearer <token>`. Métricas OTLP são recusadas.
- O token do serviço (eva_prd_, eva_hml_ ou eva_dev_) decide o serviço e o ambiente. Ele fica SÓ na variável de
  ambiente EVOBITS_TOKEN do processo. Nunca escreva o token em arquivo versionado, em log ou na resposta.
- O evobits mascara antes de gravar: telefone, CPF e CNPJ, e-mail, tokens e chaves, senhas, campos de corpo de
  mensagem. Nome de pessoa, endereço, CEP e IP não são mascarados (regra extra no painel).
- Traces com erro e lentos (acima de 2 s) são sempre guardados; os outros, 10 % por padrão. Logs não são amostrados.
- A rota que aparece no painel vem do atributo `http.route` do span do servidor.
- A instância vem de `service.instance.id`, `host.name` ou de um nome que o evobits cria; a versão, de `service.version`.
- Cota mensal em GB gravados; ao estourar, o evobits responde 200 com `X-Evobits-Corte` e descarta até o mês virar.

## Passos
1. Identifique a linguagem, o framework web, o gerenciador de pacotes e o arquivo de entrada do serviço.
2. Diga qual guia do evobits usar: Node.js (`@evobits/node`), Python, Java, Go, .NET ou PHP (OpenTelemetry oficial),
   página web (SDK Web) ou sonda coletora (rede sem internet).
3. Liste o que seria instrumentado automaticamente e o que precisaria de código (rota, logs, exceções).
4. Aponte no código do projeto qualquer log que grave nome de pessoa, endereço, CEP ou IP, para eu criar uma regra extra.

## Regras
- Não altere nada; esta tarefa é só de leitura.
- Nunca peça nem mostre o token; refira-se a ele como EVOBITS_TOKEN.

## Como saber que deu certo
Você entregou: o guia certo, a lista do que é automático e do que não é, e os pontos de log com dado pessoal fora da
lista fixa da máscara.