> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appsignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Métricas baseadas em logs

> Transforme dados dos seus logs em métricas que você pode plotar em gráficos, usar para alertas e agrupar em toda a sua aplicação.

Se você tem logs indexados no AppSignal, pode gerar métricas a partir deles diretamente na visualização Explore. Use essas métricas baseadas em logs para acompanhar sinais importantes ao longo do tempo, configurar triggers ou adicioná-los a dashboards, tudo isso sem alterar o código da sua aplicação ou sair do seu fluxo de exploração de logs.

Use métricas de log para contar com que frequência um evento acontece, acompanhar o valor mais recente de um campo numérico ou acompanhar sua média e percentis ao longo do tempo.

Quando você notar algo que vale a pena acompanhar nos seus logs, pode transformá-lo em uma métrica sem sair da página Logs. A consulta, a severidade e a fonte de log que você usou para filtrar seus logs são transportadas para a métrica, de modo que o trabalho de filtragem que você já fez é o que define o que a métrica acompanha. Uma vez salva a métrica, você pode adicioná-la a um dashboard ou usá-la em um trigger no mesmo fluxo.

## Crie uma métrica a partir de uma linha de log

A maneira mais rápida de criar uma métrica é a partir de uma linha de log que já mostra os dados que você quer acompanhar.

1. Abra a página **Logs** para sua aplicação.
2. Use a barra de consulta para filtrar as linhas de log que correspondem ao evento que você quer medir.
3. Selecione uma linha de log na tabela para abrir o painel **Log details**.
4. Na seção **Actions**, selecione **Create a metric**.
5. A sobreposição Create metric abre com os campos **Log source**, **Severity** e **Query** preenchidos a partir da linha de log.

<img src="https://mintcdn.com/appsignal-715f5a51/4TRZP0Sq9Zq7PAPW/assets/images/screenshots/logging/create-metric-from-log-line.png?fit=max&auto=format&n=4TRZP0Sq9Zq7PAPW&q=85&s=5b493d4ccad3ee9d1147bfe17c813e5e" alt="Painel Log details com a ação Create a metric" width="2998" height="1638" data-path="assets/images/screenshots/logging/create-metric-from-log-line.png" />

## Configure a métrica

No painel **Define metric**, preencha os campos que descrevem o que você quer medir. À medida que você altera qualquer campo, o **Data preview** à direita é atualizado para que você possa confirmar que a métrica retorna os dados esperados.

* **Metric name**: Um nome único para a métrica, usado quando você a referencia em dashboards e triggers. Veja [nomenclatura de métricas](#metric-naming) para as regras e recomendações.
* **Log source**: A fonte de log da qual a métrica obtém os eventos.
* **Severity**: Filtra por severidade ou selecione **all** para incluir todos os níveis.
* **Query**: A string de consulta usada para corresponder às linhas de log. Mesma sintaxe da página Logs.
* **Metric type**: Count, Gauge ou Measurement. Veja [tipos de métrica](#metric-types).
* **Field to measure**: Para métricas Gauge e Measurement, o campo numérico a acompanhar — como a duração ou o tamanho de cada evento, em vez de contar ocorrências.
* **Group by tag**: Divide a métrica por uma tag para obter uma série separada por valor único (por exemplo, agrupar por `hostname` para obter uma série por servidor).

Quando terminar, selecione **Create metric** para salvar.

### Nomenclatura de métricas

Recomendamos nomear suas métricas com algo facilmente reconhecível.

Os nomes das métricas suportam apenas números, letras, pontos e sublinhados (`[a-z0-9._]`) como caracteres válidos. Qualquer outro caractere será substituído por um sublinhado pelo nosso processador.

Alguns exemplos de bons nomes de métricas são:

* `database_size`
* `account_count`
* `users.count`
* `notifier.failed`
* `orders.request.duration`

<Warning>
  **Nota**: **Não** recomendamos adicionar valores dinâmicos aos nomes das suas
  métricas, como: `eu.database_size`, `us.database_size` e `asia.database_size`.
  Isso cria várias métricas que servem ao mesmo propósito. Em vez disso,
  recomendamos usar **Group by tag** para isso.
</Warning>

## Tipos de métrica

O tipo de métrica define como o AppSignal agrega os dados ao longo do tempo. O campo **Field to measure** aparece apenas para Gauge e Measurement, pois Count apenas conta as linhas de log correspondentes.

### Count

O número total de eventos correspondentes em um determinado intervalo de tempo. Use isso para eventos como erros, cadastros ou tentativas de jobs.

Count não requer um **Field to measure** — apenas conta cada linha de log que corresponde à sua consulta.

<img src="https://mintcdn.com/appsignal-715f5a51/4TRZP0Sq9Zq7PAPW/assets/images/screenshots/logging/create-metric-count-chart.png?fit=max&auto=format&n=4TRZP0Sq9Zq7PAPW&q=85&s=279cef379582fb30e011d5221067cbb6" alt="Sobreposição Create metric com a pré-visualização do gráfico Count" width="1338" height="888" data-path="assets/images/screenshots/logging/create-metric-count-chart.png" />

### Gauge

O valor atual no momento. Use isso para valores que sobem e descem, como uma contagem de conexões ativas.

<img src="https://mintcdn.com/appsignal-715f5a51/4TRZP0Sq9Zq7PAPW/assets/images/screenshots/logging/create-metric-gauge-chart.png?fit=max&auto=format&n=4TRZP0Sq9Zq7PAPW&q=85&s=07ea5df662d79360d3716c0f84ee609b" alt="Sobreposição Create metric com a pré-visualização do gráfico Gauge" width="1309" height="780" data-path="assets/images/screenshots/logging/create-metric-gauge-chart.png" />

### Measurement

Médias, contagens e percentis para um campo numérico ao longo do tempo. Use isso quando a distribuição importa, como a duração de uma requisição.

Measurement persiste a média, contagem e os percentis 90 e 95 do **Field to measure** para cada intervalo.

## Pré-visualize sua métrica

O painel **Data preview** tem duas abas que permitem confirmar que a métrica retorna os dados esperados antes de salvar.

### Chart

Um gráfico ao vivo da métrica para o intervalo de tempo selecionado. A pré-visualização do gráfico suporta a seleção de múltiplas fontes de log e severidades, e é atualizada à medida que você altera qualquer campo no painel **Define metric**.

Use o seletor de intervalo de tempo abaixo do gráfico para alternar entre **Last 24 hours**, **Last 48 hours** e **Last 7 days**.

<img src="https://mintcdn.com/appsignal-715f5a51/4TRZP0Sq9Zq7PAPW/assets/images/screenshots/logging/create-metric-time-range.png?fit=max&auto=format&n=4TRZP0Sq9Zq7PAPW&q=85&s=14bef4e69eb8514c0bf366acb240c51b" alt="Sobreposição Create metric com o seletor de intervalo de tempo do gráfico aberto" width="1372" height="888" data-path="assets/images/screenshots/logging/create-metric-time-range.png" />

### Log lines

As linhas de log que correspondem à sua consulta atual. Quando um **Field to measure** está definido, esse campo é mostrado como uma coluna destacada para que você possa confirmar os valores antes de salvar.

<img src="https://mintcdn.com/appsignal-715f5a51/4TRZP0Sq9Zq7PAPW/assets/images/screenshots/logging/create-metric-log-lines-preview.png?fit=max&auto=format&n=4TRZP0Sq9Zq7PAPW&q=85&s=a76f02db5ac76bb0de2c927e9da20dff" alt="Sobreposição Create metric com a pré-visualização de linhas de log" width="1328" height="888" data-path="assets/images/screenshots/logging/create-metric-log-lines-preview.png" />

## Escolha o que fazer em seguida

Após salvar uma métrica pela primeira vez, o AppSignal pergunta o que você deseja fazer com ela:

* **Add to dashboard**: Adiciona a métrica a um gráfico em um dashboard existente.
* **Create a trigger**: Abre o fluxo de criação de triggers com a métrica preenchida.
* **Edit metric**: Reabre a sobreposição para refinar a configuração.

Para métricas subsequentes, o AppSignal exibe um toast de confirmação em vez disso. Você ainda pode acessar as mesmas opções a partir da página **Metrics**.

Uma nova métrica pode levar um momento para começar a coletar dados, portanto, um dashboard ou trigger criado logo em seguida pode brevemente exibir um aviso de "no data yet".

## Edite uma métrica

1. Abra a página **Metrics** no menu lateral **Logging**.
2. Encontre a métrica e selecione **Edit** no menu de três pontos.
3. Ajuste os campos **Severity**, **Query**, **Field to measure** ou **Group by tag**.
4. Selecione **Update metric** para salvar.

O **Metric name** e o **Metric type** são somente leitura ao editar. Para alterar qualquer um deles, crie uma nova métrica.

A partir do menu de linha na página **Metrics**, você também pode adicionar a métrica a um dashboard, criar um trigger a partir dela ou excluí-la. A coluna **Modified by** mostra quem atualizou cada métrica pela última vez, para que você possa ver de relance qual membro da equipe fez a alteração mais recente.

## Exemplo: acompanhe a duração da requisição

* **Metric name**: `orders.request.duration`
* **Log source**: application
* **Query**: `path=/api/orders`
* **Metric type**: Measurement
* **Field to measure**: `duration_ms`
* **Group by tag**: `hostname`

Esta métrica reporta a média, a contagem e os percentis de `duration_ms` para requisições a `/api/orders`, com uma série por host.
