> For the complete documentation index, see [llms.txt](https://academy.cegedim.cloud/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://academy.cegedim.cloud/francais/surveillance/alarme-personalisee/alarme-personnalisee-parametres.md).

# Alarme personnalisée - Paramètres

> Accessible depuis **ITCare → Resources → URLs → Actions → Add Custom Check**

Les paramètres sont regroupés en blocs. Certains sont communs aux deux types d'alarmes, d'autres sont spécifiques.

***

## Bloc — Identification

Commun à l'Alarme Personnalisée et à l'Alarme Personnalisée Externe.

### Nom

|                               |     |
| ----------------------------- | --- |
| **Obligatoire**               | Oui |
| **Modifiable après création** | Non |

Le nom permet d'identifier l'application ou le service testé. Il sera utilisé pour nommer l'alarme dans ITCare selon la convention :

```
APPS_CHECK_URL_<Nom>
```

**Exemple** : `mon-app-prod` → alarme nommée `APPS_CHECK_URL_mon-app-prod`

### URL

|                               |     |
| ----------------------------- | --- |
| **Obligatoire**               | Oui |
| **Modifiable après création** | Non |

Pré-remplie et non modifiable si vous accédez à la création depuis le contexte d'une URL existante.

***

## Bloc — Source

Commun à l'Alarme Personnalisée et à l'Alarme Personnalisée Externe.

### Source du test

|                               |                                                                                                               |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------- |
| **Obligatoire**               | Oui                                                                                                           |
| **Modifiable après création** | Non — pour toute modification, supprimer et recréer l'alarme (prévoir jusqu'à 30 min pour la prise en compte) |

Choisissez d'où le test est exécuté :

| Valeur                                       | Description                                                     |
| -------------------------------------------- | --------------------------------------------------------------- |
| `Interne (depuis cegedim.cloud)`             | Sonde interne — incluse dans le Load Balancer                   |
| `Externe (depuis Internet - multi-sites FR)` | Sondes publiques depuis Marseille et Paris — **option payante** |

***

## Bloc — Requête

Commun à l'Alarme Personnalisée et à l'Alarme Personnalisée Externe.

### Protocole

|                               |                                         |
| ----------------------------- | --------------------------------------- |
| **Obligatoire**               | Oui                                     |
| **Modifiable après création** | Non pour l'Alarme Personnalisée Externe |

> 💡 Il est recommandé d'utiliser le protocole **HTTPS** pour tester vos applications.

### Chemin

|                               |                                         |
| ----------------------------- | --------------------------------------- |
| **Obligatoire**               | Oui                                     |
| **Modifiable après création** | Non pour l'Alarme Personnalisée Externe |

Le chemin correspond à l'URI sans le domaine et sans les paramètres.

**Exemple** : pour tester `https://www.monapp.com/search?q=test`

* Domaine : `www.monapp.com`
* Chemin : `/search`
* Les paramètres (`?q=test`) sont à renseigner dans le bloc **Paramètres** ci-dessous

***

## Bloc — Paramètres de la requête (optionnel)

Commun à l'Alarme Personnalisée et à l'Alarme Personnalisée Externe. Activé via un bouton toggle (désactivé par défaut).

### En-têtes HTTP

|                               |     |
| ----------------------------- | --- |
| **Obligatoire**               | Non |
| **Modifiable après création** | Oui |

Permet d'ajouter des paramètres d'en-tête HTTP à la requête. Lorsqu'un en-tête contient des informations d'authentification, il doit être marqué comme clé sécurisée (pictogramme 🔒).

> ⚠️ Une seule clé d'authentification peut être activée à la fois. Le verrouillage est désactivé si une authentification est déjà configurée via **Basic Authentication**.

**Exemple** :

* `Key` : `Authorization`
* `Value` : `login:c39fdde712ca4d9690cd6`

### Paramètres

|                               |                                         |
| ----------------------------- | --------------------------------------- |
| **Obligatoire**               | Non                                     |
| **Modifiable après création** | Non pour l'Alarme Personnalisée Externe |

Permet de spécifier les paramètres de la requête (query string).

**Exemple** : pour tester `https://www.monapp.com/search?q=test&source=hp`

* Paramètre 1 — `Key` : `q` / `Value` : `test`
* Paramètre 2 — `Key` : `source` / `Value` : `hp`

### Authentification basique

|                               |     |
| ----------------------------- | --- |
| **Obligatoire**               | Non |
| **Modifiable après création** | Oui |

Désactivé automatiquement si une clé d'authentification est déjà configurée dans les **En-têtes**.

***

## Bloc — Vérification de la réponse

> Ce bloc diffère selon le type d'alarme.

### Alarme Personnalisée (Interne)

Par défaut, une alarme critique est déclenchée lorsque le code HTTP est `< 200` ou `>= 300`.

Les opérateurs supportés :

* **Comparaison** : `==`, `!=`, `>`, `<`, `>=`, `<=`
* **Logique** : `or`, `and`

La recherche dans le contenu se fait par la méthode **contient** — pas d'expression régulière.

| Paramètre                                       | Obligatoire                     | Modifiable | Description                                          | Exemple                                     |
| ----------------------------------------------- | ------------------------------- | ---------- | ---------------------------------------------------- | ------------------------------------------- |
| **Code critique** (`Critical code`)             | Oui (valeur par défaut fournie) | Oui        | Plage de codes HTTP déclenchant une alarme CRITICAL  | `%{http_code} < 200 or %{http_code} >= 300` |
| **Contenu critique** (`Critical content`)       | Non                             | Oui        | Si ce contenu est présent dans la réponse → CRITICAL | `__NAGSTATUS=2__`                           |
| **Contenu attendu** (`Expected content`)        | Non                             | Oui        | Si ce contenu est absent de la réponse → CRITICAL    | `Bienvenue sur mon site`                    |
| **Code d'avertissement** (`Warning code`)       | Non                             | Oui        | Plage de codes HTTP déclenchant une alarme WARNING   | `%{http_code} == 302`                       |
| **Contenu d'avertissement** (`Warning content`) | Non                             | Oui        | Si ce contenu est présent dans la réponse → WARNING  | `__NAGSTATUS=1__`                           |

***

### Alarme Personnalisée Externe

Par défaut, une alarme est déclenchée lorsque le code HTTP est `< 200` ou `>= 300` (approche **échec**).

Deux approches sont disponibles :

| Approche              | Comportement                                                           |
| --------------------- | ---------------------------------------------------------------------- |
| **Échec** (`Fail`)    | L'alarme se déclenche si la réponse **correspond** aux critères        |
| **Réussite** (`Pass`) | L'alarme se déclenche si la réponse **ne correspond pas** aux critères |

Les formats acceptés pour les codes HTTP :

| Format                      | Exemple           |
| --------------------------- | ----------------- |
| Nombre exact                | `200`             |
| Inégalité                   | `>=500`           |
| Plage                       | `406-410`         |
| Masque de classe            | `3xx`             |
| Valeurs multiples (virgule) | `3xx, 404, >=500` |

> ⚠️ La gestion des alarmes **WARNING** n'est pas disponible pour l'Alarme Personnalisée Externe.

| Paramètre                                    | Obligatoire                               | Modifiable | Description                                                                                                                | Exemple                                    |
| -------------------------------------------- | ----------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ |
| **Statut par code** (`Status on code`)       | Oui (valeur par défaut : `< 200, >= 300`) | Oui        | Code(s) HTTP déclenchant l'alarme                                                                                          | `3xx, 404, >=500`                          |
| **Statut par contenu** (`Status on content`) | Non                                       | Oui        | Si ce contenu est trouvé/absent dans la réponse → alarme. Recherche par **contient** uniquement, sans expression régulière | `Error establishing a database connection` |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://academy.cegedim.cloud/francais/surveillance/alarme-personalisee/alarme-personnalisee-parametres.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
