Como funciona
As log line actions são executadas conforme o AppSignal ingere seus logs, em uma ordem que você define. Existem três tipos:- metrics: registra uma métrica a partir das linhas correspondentes.
- filter: descarta as linhas correspondentes para que nunca sejam armazenadas.
- trigger: dispara um alerta e um incident quando a consulta corresponde.
As log line actions afetam apenas linhas ingeridas depois de sua criação. Elas não alteram logs que já estão armazenados.
Registrar a métrica conforme os logs chegam
Registrar a métrica na ingestão é o que torna o descarte seguro. Uma métrica baseada em logs construída a partir da página Logs lê linhas de log já armazenadas — assim, uma vez descartadas as linhas, não há mais nada para ler. Uma log line action do tipo metrics registra o valor de cada linha assim que ela chega, antes de o filter descartá-la, de modo que o número é preservado.Antes de começar, você vai precisar de
- AppSignal MCP configurado no seu agente de IA, com acesso de escrita às ferramentas de logging
- Uma fonte de log que recebe as linhas que você quer medir
- Uma consulta que corresponda a essas linhas
Passo 1: Registrar uma métrica a partir das linhas
Peça ao seu agente que adicione uma action metrics. Por exemplo, para contar com que frequência os clientes fazem buscas no seu catálogo:No MyStore production, adicione uma log line action metrics que conte as linhas de log correspondentes aIsso chamamessage:searchcomo um counter chamadolog.catalog_searches, limitado à fonte de log da aplicação.
manage_log_line_action:
- Escreva a consulta na sintaxe de consulta de logs do AppSignal, a mesma sintaxe da página Logs.
message:searchcorresponde às linhas cujo message contémsearch. Veja query syntax. - Escolha a quais fontes ela se aplica. Liste-as em
source_ids, ou omitasource_idspara aplicar a action a todas as fontes. - Escolha o tipo de métrica. Um
counterconta as linhas correspondentes e não precisa de um campo. Umgaugeou umadistributionlê um número de cada linha, portanto precisa de umfieldindicando qual valor ler.
Passo 2: Verifique a métrica antes de descartar qualquer coisa
Aguarde algumas linhas correspondentes e depois releia a métrica:
Mostre-me o counter log.catalog_searches do MyStore production nos últimos 15 minutos.
Passo 3: Descartar as linhas correspondentes
Adicione uma action filter com a mesma consulta:
No MyStore production, adicione uma log line action filter que descarte as linhas de log correspondentes a message:search.
Passo 4: Mantenha a action metrics antes do filter
Novas actions são adicionadas ao final da ordem, portanto o filter já roda depois da action metrics. Confirme a ordem:Liste as log line actions do MyStore production e mantenha a action metrics antes do filter.Isso usa
get_app_resources para ler a ordem, e reorder_log_line_actions apenas se o filter estiver antes da action metrics. Se o filter rodasse primeiro, ele descartaria as linhas antes que a action metrics as contasse.
Verifique que está funcionando
Dê alguns minutos para as actions entrarem em vigor, e então confirme as duas partes em uma pequena amostra:- Leia a métrica. O counter continua subindo à medida que linhas correspondentes chegam.
- Pesquise em seus logs pelas mesmas linhas. As novas não aparecem mais, porque o filter as descarta.
Comportamento e limitações
- As actions não são retroativas. Elas atuam apenas em novas linhas. Logs armazenados antes de você criar a action permanecem como estão.
- Reserve alguns minutos. Uma action nova ou alterada leva um pequeno intervalo para entrar em vigor. Linhas que chegam nos primeiros momentos podem não ser processadas por ela.
- Linhas descartadas não podem ser recuperadas. Mantenha a métrica — e uma action trigger se quiser alertas — para que o filter nunca remova o único registro de um evento.
- As duas consultas são independentes. Conte um conjunto de linhas e descarte outro se isso atender ao seu objetivo. Para contar e descartar as mesmas linhas, use a mesma consulta em ambas.
Relacionado
- AppSignal MCP e a referência de ferramentas do MCP
- Métricas baseadas em logs, construídas a partir de linhas de log armazenadas
- Ignorar logs, para impedir que sua integração envie essas linhas em primeiro lugar