Nouveau : le pare-feu IA surveille chaque module et explique chaque incident en termes simples. Découvrez comment ça marche

Règles d’alarme sur les profils d’appareils

Définissez les règles d'alarme de seuil et de hors ligne une seule fois par profil d'appareil : le formulaire, le mode JSON, l'enregistrement, les versions, les limites et chaque partie d'une règle.

Les règles d’alarme se définissent sur un profil d’appareil et s’appliquent à chaque appareil de ce profil. Une règle ouvre une alarme lorsque sa condition est vérifiée et la ferme lorsque la condition n’est plus vraie. Les règles s’exécutent à l’étape d’alarme du flux racine, pour chaque message des appareils du profil.

Ouvrir les règles

  1. Ouvrez Device Profiles et ouvrez un profil.
  2. Ouvrez l’onglet Alarm rules.

Vous voyez les règles du profil avec leur type, leur genre (Threshold ou Device offline), leur condition en bref et un interrupteur Enabled. Toute personne disposant de View alarms and alarm rules peut les voir ; pour les modifier, il faut Edit the alarm rules of device profiles (Admin par défaut). Sans ce droit, l’onglet affiche « You can view the rules but not change them. »

Ajouter ou modifier une règle

  1. Cliquez sur Add rule et choisissez Threshold rule ou Device offline rule, ou cliquez sur Edit sur une règle.
  2. Remplissez le tiroir (voir ci-dessous). Passez de Form à JSON en haut.
  3. Cliquez sur Add to list (nouvelle règle) ou Update the list.
  4. Répétez pour les autres règles. L’onglet affiche « n rules changed and not saved yet: nothing applies until you save. »
  5. Cliquez sur Save rules. Discard supprime les modifications non enregistrées.

L’enregistrement remplace l’ensemble des règles du profil. Une règle dont la définition ou l’interrupteur a changé reçoit une nouvelle version ; une règle inchangée conserve sa version et son état. Les nouvelles règles atteignent tous les workers en environ deux secondes. Si quelqu’un d’autre a enregistré le même profil au même moment, vous obtenez « The alarm rules changed at the same time; try again. »

Règle de seuil : le formulaire

ChampCe que vous définissez
TypeLe nom de l’alarme. Lettres, chiffres et _ . : -, 128 caractères maximum, unique dans le profil. Une seule alarme ouverte par appareil et par type. Une nouvelle règle commence par high_value.
Alarm titleCe que voit l’utilisateur, 300 caractères maximum. Espaces réservés : {{device.name}}, {{value}}, {{key}}, {{threshold}}, {{severity}}, {{type}}. Une nouvelle règle commence par {{device.name}}: {{value}}.
EnabledActivé ou désactivé.
SeverityUne ligne par gravité : la gravité, puis Key, Operator et Value. Add a severity ajoute une ligne (cinq maximum, chaque gravité une seule fois). La ligne vraie la plus haute l’emporte.
KeyUne clé de télémétrie. La zone propose les clés déclarées du profil et accepte un texte libre.
Operator>, >=, <, <=, ==, !=.
ValueUn nombre, true ou false, un texte, ou attribute:<name> pour une limite propre à chaque appareil.
Only from topicSous Advanced : ne comparer que les messages de ce topic MQTT. Vide = tout topic.
How long the condition must holdCount in Readings in a row ou Seconds (device time), puis les seuils de déclenchement et de fermeture (1 à 86 400).
Hysteresis (clear margin)Une marge absolue du côté de la fermeture.
RunbookTexte affiché avec l’alarme : quoi vérifier et que faire (10 000 caractères maximum).

Détails sur les conditions, le debounce et l’hystérésis : Alarm conditions reference et Debounce, hysteresis and dampening.

Règle de hors ligne : le formulaire

ChampCe que vous définissez
Alarm titlePar défaut {{device.name}} is offline.
Open after (seconds offline)10 à 604 800 (7 jours). Par défaut 600.
SeverityPar défaut Warning.
Runbook, EnabledComme ci-dessus.

Son type est toujours device_offline, donc un profil en a au plus une. Voir Offline alarms.

Ce que seul le mode JSON affiche

Le formulaire couvre la forme courante. Ces éléments n’existent qu’en mode JSON :

ÉlémentChamp JSONPage
Conditions combinées (plusieurs comparaisons avec all/any)severities[].condition avec all / anyAlarm conditions reference
Une condition de fermeture expliciteclearClear conditions and late readings
Réglages d’amortissementdampeningDebounce, hysteresis and dampening
Notifications : destinataires, canaux, gravité minimale, rappelsnotifyAlarm notifications in depth
Rejeu des mesures arrivées dans le désordreevaluateBackfillClear conditions and late readings

Le formulaire conserve ces éléments lorsque vous modifiez d’autres champs. Une règle à conditions combinées s’ouvre en mode JSON avec la note « This rule uses combined conditions or other settings the form does not show: edit it as JSON. » Le mode JSON est strict : un champ que Hermetry ne connaît pas est refusé, si bien qu’une règle enregistrée ne contient jamais de réglage ignoré.

Une règle complète

{
  "type": "high_temperature",
  "title": "{{device.name}}: {{value}} °C",
  "severities": [
    { "severity": "CRITICAL", "condition": { "key": "temperature", "op": ">", "value": 90 } },
    { "severity": "MAJOR", "condition": { "key": "temperature", "op": ">", "value": { "attribute": "max_temp" } } }
  ],
  "debounce": { "mode": "duration", "raise": 60, "clear": 120 },
  "hysteresis": 2,
  "notify": {
    "recipients": [ { "kind": "role", "role": "ADMIN" }, { "kind": "email", "email": "oncall@example.com" } ],
    "minSeverity": "MAJOR",
    "repeatEverySec": 1800
  },
  "runbook": "Check the cooling fan and the door seal. Clear with a note when fixed.",
  "enabled": true
}

Clés vérifiées par les règles

À l’enregistrement, chaque clé de condition doit être une clé de télémétrie : sans espace et pas un nombre seul (« A key names a telemetry key: no spaces and not a number. »). Une clé qui ressemble à un nombre, comme un numéro de registre 40001, est acceptée si le profil la déclare. Une clé non déclarée par le profil n’est qu’un avertissement : « Not a telemetry key of this profile: … The rule fires only on devices that send these keys; save is still possible. »

Suppression, désactivation et renommage

  • Remove demande « Remove type? » et avertit : « When you save, its open alarms are resolved. » Elles sont fermées à l’enregistrement.
  • Désactiver une règle arrête son évaluation. Une alarme déjà ouverte par elle reste ouverte jusqu’à ce que vous la fermiez manuellement ou que vous réactiviez la règle.
  • Si vous renommez une clé de télémétrie dans le profil, celui-ci liste les règles d’alarme qui lisent l’ancienne clé et peut les réécrire vers la nouvelle en une seule étape. Chaque règle réécrite reçoit une nouvelle version.
  • Un profil dont des règles d’alarme existent ne peut pas être supprimé tant que ces règles ne sont pas retirées ; la suppression les liste.

Limites

LimiteValeur
Règles par profil50
Gravités par règle5 (chacune une fois)
Comparaisons par condition16
Imbrication des groupes all/any4 niveaux
Type128 caractères, A-Z a-z 0-9 _ . : -
Titre300 caractères
Runbook10 000 caractères
Clé128 caractères
Valeur texte256 caractères
Debounce déclenchement et fermeture1 à 86 400
Destinataires20
Délai hors ligne10 s à 7 jours

Au-delà des seuils

Les règles d’alarme comparent une valeur à un nombre fixe ou à un attribut d’appareil. Elles ne peuvent pas calculer (pas de « setpoint + 10 »), suivre un planning ni comparer deux appareils. Pour cela, utilisez une Rules-card rule ou un flow, qui peuvent tous deux déclencher et fermer des alarmes avec le même cycle de vie. Exemples prêts à l’emploi : Alarm rule cookbook.