# Monitorización cron

Source: https://instatus.com/help/es/monitoring/cron

Los monitores cron asignan a cada tarea programada (una copia de seguridad, un proceso por lotes o un script recurrente) una URL única a la que hacer ping, y te avisan cuando un ping llega tarde o no llega. La tarea se marca como degradada cuando supera su periodo y como caída cuando además supera el margen.

Igual que con [otros monitores](https://instatus.com/help/es/monitoring), cuando una tarea cron falla puedes colaborar con tu equipo para [resolver la incidencia](https://instatus.com/help/es/incident-response) y, si quieres, actualizar tu [página de estado](https://instatus.com/help/es/status-page).

| At a glance | Details |
| :-- | :-- |
| [Cómo funciona](https://instatus.com/help/es/monitoring/cron#tipo-de-monitor) | Tu tarea hace ping a una URL única cada vez que se ejecuta |
| [Periodo](https://instatus.com/help/es/monitoring/cron#el-monitor-se-considera-correcto-si) | Con qué frecuencia debe ejecutarse la tarea |
| [Margen](https://instatus.com/help/es/monitoring/cron#el-monitor-se-considera-correcto-si) | Tiempo extra antes de marcar como caída una tarea tardía |
| [Ping tardío](https://instatus.com/help/es/monitoring/cron#el-monitor-se-considera-correcto-si) | Degradado tras el periodo, caído tras el margen |
| [Señal de fallo](https://instatus.com/help/es/monitoring/cron#señalar-un-fallo) | Solicita la URL añadiendo /fail al final |
| [Tiempo de ejecución](https://instatus.com/help/es/monitoring/cron#medir-el-tiempo-de-ejecución-de-una-tarea) | Ping a /start al empezar y a la URL al terminar |

Así se ve tu lista de monitores cron:

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

## ¿Qué hace un monitor cron?

- Comprueba que tus tareas cron se ejecutan a tiempo (mediante los pings de tus tareas).
- Recibe alertas si una tarea se retrasa o no termina.
- Integra Slack, correo, SMS, llamadas telefónicas y más para recibir alertas.

Al hacer clic en un monitor cron, verás más detalles:

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

## ¿Cómo añado un monitor cron?

Ve a tu proyecto → Monitores → Añadir monitor, elige **Cron/Heartbeat**, apunta tu tarea a la URL generada y define su periodo y su margen.

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

### Tipo de monitor

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

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

Se generará una URL única para ti. Tu tarea cron debe enviar una petición HTTP (`HEAD`, `GET` o `POST`) a esa URL cada vez que se ejecute.

### El monitor se considera correcto si

Un monitor cron tiene éxito cuando tu tarea hace ping a la URL generada dentro del plazo previsto. Puedes configurar:

- **Periodo:** con qué frecuencia debe ejecutarse la tarea (por ejemplo, cada 15 minutos).
- **Margen:** tiempo adicional que se permite antes de considerar la tarea caída.

Si se alcanza el periodo y la tarea no hace ping, el monitor se marcará como degradado.

Si se alcanza el margen y la tarea no hace ping, el monitor se marcará como caído.

Puedes configurar [alertas](https://instatus.com/help/es/monitoring/alerts) para recibir avisos cuando una tarea falla, se degrada o se recupera.

## Señalar un fallo

Envía una petición a la URL del monitor añadiendo `/fail` al final para marcar la tarea como fallida, aunque se haya ejecutado y haya hecho ping al monitor.

Es útil cuando tu script encuentra un error y quieres que Instatus registre la tarea como fallida de inmediato.

- **Ping de éxito**: `https://cron.instatus.com/your-unique-url`
- **Ping de fallo**: `https://cron.instatus.com/your-unique-url/fail`

Cuando se recibe una señal de fallo, el monitor se marca como caído y las alertas se envían de inmediato según tus [ajustes de alertas](https://instatus.com/help/es/monitoring/alerts).

## Medir el tiempo de ejecución de una tarea

Envía dos peticiones, `/start` cuando empiece tu tarea y el ping de éxito o de fallo cuando termine, e Instatus registrará el tiempo entre ambas como el tiempo de ejecución de la tarea:

1. **Señal de inicio**: envía una petición a `/start` cuando empiece tu tarea
2. **Señal de éxito o fallo**: envía una petición a la URL base cuando tu tarea termine o falle

- **Ping de inicio**: `https://cron.instatus.com/your-unique-url/start`
- **Ping de éxito**: `https://cron.instatus.com/your-unique-url`
- **Ping de fallo**: `https://cron.instatus.com/your-unique-url/fail`

El tiempo entre la señal de inicio y la de éxito se registra como el tiempo de ejecución de la tarea. Así puedes seguir el rendimiento e identificar las tareas que tardan más de lo previsto.

Si tu tarea falla después de enviar la señal de inicio, envía una señal de fallo en lugar de la de éxito para marcarla como fallida y registrar igualmente el tiempo de ejecución.

¡Enhorabuena, has añadido tu primer monitor cron!

- [Monitores de ping](https://instatus.com/help/es/monitoring/ping): Aprende a monitorizar tus endpoints de ping en disponibilidad y rendimiento
