# Surveiller un site

Ce guide couvre les réglages d’un moniteur HTTP au-delà des valeurs par défaut. Le but : un moniteur qui détecte une panne réelle, et seulement elle.

**Avant de commencer** : un moniteur HTTP existant ([premier moniteur](/docs/demarrer/premier-moniteur/)).

## Choisir l’adresse

Mets l’adresse exacte à vérifier, chemin compris. Surveiller `https://www.exemple.ch/` ne dit rien de `https://www.exemple.ch/api/sante`. Une adresse fait 2048 caractères au plus.

Les paramètres d’URL (`?v=2`) et les fragments (`#section`) sont envoyés tels quels. Les identifiants (`https://utilisateur:mot-de-passe@…`) sont refusés : mets-les dans un en-tête.

## Régler la fréquence et le délai

| Réglage                         | Choix                               | Conseil                                                  |
| ------------------------------- | ----------------------------------- | -------------------------------------------------------- |
| **Fréquence de vérification**   | 30 s, 1, 2, 5, 10, 15, 30 ou 60 min | 1 min pour un service client, 5 min pour un site vitrine |
| **Délai de réponse (secondes)** | 1 à 30 s, 10 s par défaut           | Reste sous la fréquence                                  |

Plus la fréquence est courte, plus une panne se voit vite, et plus tu fais de requêtes sur ton service.

## Définir ce qui est une réussite

Par défaut, un code 2xx ou 3xx est une réussite. Pour être plus strict :

- **Codes attendus** : `200` ne retient que ce code, `2xx` toute la classe. Tu peux en lister plusieurs, séparés par une virgule.
- **Mot-clé** : Status cherche un texte dans la réponse, par exemple `Bienvenue`. La réponse est lue jusqu’à 1 Mo.
- **Alerter si le mot-clé apparaît (au lieu de manquer)** : coche cette option quand la page en panne affiche un message précis, par exemple « Maintenance en cours ». Le moniteur passe alors en panne si ce texte est présent.
- **Suivre les redirections** : activé par défaut, jusqu’à cinq redirections. Décoche-le pour vérifier la première réponse seulement.
- **Vérifier le certificat** : activé par défaut. Un certificat invalide fait échouer la vérification.

## Envoyer des en-têtes ou un corps

Ajoute jusqu’à 20 en-têtes, par exemple `Authorization` pour une API protégée. Le nom n’accepte que des lettres, des chiffres et des tirets. Pour une requête `POST`, `PUT` ou `PATCH`, renseigne le corps de la requête, 10 000 caractères au plus.

## Choisir le moment de l’alerte

Le réglage **Échecs avant soupçon** (2 par défaut, de 1 à 10) fixe le nombre d’échecs de suite avant qu’une vérification depuis d’autres points de contrôle ne commence. Une panne n’est annoncée qu’une fois confirmée. Augmente ce nombre si ton site a des coupures brèves et sans gravité. Voir [confirmation des pannes](/docs/concepts/confirmation-des-pannes/).

Le retour au vert exige deux succès de suite.

## Le site répond, mais Status signale une panne

Si Status signale une panne alors que ton site répond depuis ton navigateur :

1. **Lis le message d’erreur.** Il indique la cause : code inattendu, délai dépassé, certificat invalide ou mot-clé absent.
2. **Relis les codes attendus.** Par défaut, une redirection `3xx` est une réussite. Si une redirection vers une page de connexion doit compter comme une panne, mets les codes attendus à `200`.
3. **Regarde les protections.** Un pare-feu, un service anti-robots ou une limite de débit peut refuser les requêtes d’un service extérieur. Autorise Status dans ces réglages, ou surveille une page légère dédiée.
4. **Vérifie l’en-tête d’authentification.** Un jeton expiré renvoie `401` ou `403`. La panne est alors réelle pour le service, même si la page d’accueil répond.
5. **Compare le mot-clé.** Une page qui change de texte fait échouer un moniteur figé.

Si la cause reste obscure, note l’heure exacte de la panne signalée et regarde les journaux de ton service à cette heure.

## Si ça ne marche pas

- **« L’adresse n’est pas une URL valable. »** Il manque `https://` ou il y a un espace. Recopie l’adresse depuis la barre du navigateur.
- **« Le délai de réponse va de 1 à 30 s et reste sous l’intervalle. »** Un délai de 60 s ne passe pas avec une vérification toutes les minutes. Réduis le délai.
- **« Codes attendus : des codes (200) ou des classes (2xx). »** Écris `200` ou `2xx`, pas `ok`.
- **« Le mot-clé fait de 1 à 200 caractères. »** Un mot-clé vide ou trop long est refusé.
- **« En-têtes : 20 au plus… »** Supprime ceux qui ne servent plus.

Liste complète des réglages et des limites : [référence des moniteurs](/docs/reference/moniteurs/).
