# Monitoramento cron

Source: https://instatus.com/help/pt-br/monitoring/cron

Os monitores cron dão a cada tarefa agendada (um backup, um processo em lote ou um script recorrente) uma URL única para enviar pings e avisam você quando um ping atrasa ou não chega. A tarefa é marcada como degradada quando perde o período e como fora do ar quando também perde a tolerância.

Como nos [outros monitores](https://instatus.com/help/pt-br/monitoring), quando uma tarefa cron falha, você pode trabalhar com seu time para [resolver o incidente](https://instatus.com/help/pt-br/incident-response) e, se quiser, atualizar sua [página de status](https://instatus.com/help/pt-br/status-page).

| At a glance | Details |
| :-- | :-- |
| [Como funciona](https://instatus.com/help/pt-br/monitoring/cron#tipo-de-monitor) | Sua tarefa envia um ping a uma URL única a cada execução |
| [Período](https://instatus.com/help/pt-br/monitoring/cron#o-monitor-tem-sucesso-se) | Com que frequência a tarefa deve rodar |
| [Tolerância](https://instatus.com/help/pt-br/monitoring/cron#o-monitor-tem-sucesso-se) | Tempo extra antes de marcar a tarefa como fora do ar |
| [Ping atrasado](https://instatus.com/help/pt-br/monitoring/cron#o-monitor-tem-sucesso-se) | Degradado após o período, fora do ar após a tolerância |
| [Sinal de falha](https://instatus.com/help/pt-br/monitoring/cron#sinalizando-uma-falha) | Requisite a URL com /fail no final |
| [Tempo de execução](https://instatus.com/help/pt-br/monitoring/cron#medindo-o-tempo-de-execução-da-tarefa) | Ping em /start ao começar, na URL ao terminar |

Veja um exemplo de como fica sua lista de monitores cron:

![Lista de monitores cron](https://instatus.com/help/monitors/cron-list.png)

## O que um monitor cron faz?

- Confirmar que suas tarefas cron rodam no horário (por meio de pings enviados pelas tarefas).
- Receber alertas se uma tarefa atrasar ou não terminar.
- Integrar com Slack, e-mail, SMS, ligação e mais para os alertas.

Ao clicar em um monitor cron, você vê mais detalhes:

![Detalhes do monitor cron](https://instatus.com/help/monitors/cron-item.png)

## Como adiciono um monitor cron?

Vá até seu projeto → Monitores → Adicionar monitor, escolha **Cron/Heartbeat**, aponte sua tarefa para a URL gerada e defina o período e a tolerância.

![Adicionar monitor](https://instatus.com/help/monitors/cron-add.png)

### Tipo de monitor

Selecione **Cron/Heartbeat** como tipo de monitor.

![Tipo de monitor cron](https://instatus.com/help/monitors/type-cron.png)

Uma URL exclusiva é gerada para você. Sua tarefa cron deve enviar uma requisição HTTP (`HEAD`, `GET` ou `POST`) para essa URL cada vez que rodar.

### O monitor tem sucesso se

Um monitor cron tem sucesso quando sua tarefa envia um ping para a URL gerada no horário. Você pode configurar:

- **Período:** com que frequência a tarefa deve rodar (por exemplo, a cada 15 minutos).
- **Tolerância:** tempo extra permitido antes de a tarefa ser considerada fora do ar.

Se o período terminar e a tarefa não enviar o ping, o monitor é marcado como degradado.

Se a tolerância terminar e a tarefa não enviar o ping, o monitor é marcado como fora do ar.

Você pode configurar [alertas](https://instatus.com/help/pt-br/monitoring/alerts) para ser avisado quando uma tarefa falhar, degradar ou se recuperar.

## Sinalizando uma falha

Envie uma requisição à URL do monitor com `/fail` no final para marcar a tarefa como falha, mesmo que ela tenha rodado e enviado o ping ao monitor.

Isso é útil quando seu script encontra um erro e você quer que a Instatus registre a tarefa como falha na hora.

- **Ping de sucesso**: `https://cron.instatus.com/your-unique-url`
- **Ping de falha**: `https://cron.instatus.com/your-unique-url/fail`

Quando um sinal de falha é recebido, o monitor é marcado como fora do ar e os alertas são enviados na hora, conforme suas [configurações de alerta](https://instatus.com/help/pt-br/monitoring/alerts).

## Medindo o tempo de execução da tarefa

Envie duas requisições, `/start` quando a tarefa começar e o ping de sucesso ou de falha quando ela terminar, e a Instatus registra o tempo entre elas como o tempo de execução da tarefa:

1. **Sinal de início**: envie uma requisição para `/start` quando a tarefa começar
2. **Sinal de sucesso/falha**: envie uma requisição para a URL base quando a tarefa terminar ou falhar

- **Ping de início**: `https://cron.instatus.com/your-unique-url/start`
- **Ping de sucesso**: `https://cron.instatus.com/your-unique-url`
- **Ping de falha**: `https://cron.instatus.com/your-unique-url/fail`

O tempo entre os sinais de início e de sucesso é registrado como o tempo de execução da tarefa. Isso ajuda a acompanhar o desempenho e identificar tarefas que estão demorando mais do que o esperado.

Se a tarefa falhar depois de enviar o sinal de início, envie um sinal de falha no lugar do de sucesso para marcá-la como falha e ainda assim registrar o tempo de execução.

Parabéns, você adicionou seu primeiro monitor cron!

- [Monitores de ping](https://instatus.com/help/pt-br/monitoring/ping): Aprenda a monitorar seus destinos de ping quanto a disponibilidade e desempenho
