> 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
