Policy Rules
Použijte post-diff pravidla pro potlačení šumu, routování důležitých změn a eskalaci severity notifikací.
Policy Rules
Policy Rules jsou deterministická post-diff pravidla, která běží až po tom, co DiffMon spočítá diff.
Dostupnost plánu: Pro a vyšší.
Co Policy Rules umí
- Potlačit notifikace pro odpovídající změny s nízkou hodnotou.
- Přidat destination routes pro odpovídající změny s vysokým dopadem.
- Eskalovat severity labels notifikací.
- Přidat labels pro downstream routing a triáž.
Co Policy Rules nemění
- Výpočet diffu.
- Grouping incidentů.
- Logiku baseline.
- Persistenci snapshotů a diffů.
Suppression zastaví pouze vytvoření notification eventu a delivery. Evidence a incidenty zůstávají zachované.
Matching vstupy
Pravidla mohou matchovat podle:
classification_in:schema_change | value_change | mixed | content_changemin_severity:critical | high | medium | infopath_prefix_any: jeden nebo více prefixů JSON path
path_prefix_any se normalizuje na kanonickou slash-prefix formu a deduplikuje.
Schema pravidel (v1)
{
"schemaVersion": "v1",
"rules": [
{
"id": "breaking-payments",
"enabled": true,
"when": {
"classification_in": ["schema_change", "mixed"],
"min_severity": "high",
"path_prefix_any": ["/v1/payments"]
},
"then": {
"suppress_notifications": false,
"route_destination_ids_add": ["dest_pagerduty"],
"escalate_to": "critical",
"labels_add": ["payments", "breaking"]
}
}
]
}Chování vyhodnocení
- Pravidla se vyhodnocují v uloženém pořadí seznamu.
- Disabled pravidla se přeskočí.
- Pravidlo matchne jen tehdy, když odpovídají všechny zadané predikáty.
suppress_notificationsse akumuluje pomocí logického OR.- Routes a labels se unionují, deduplikují a řadí.
- Eskalace používá nejvyšší odpovídající severity a je monotónní vůči původní severity.
Konfigurace přes API (v1)
Policy Rules se ukládají do nastavení monitoru.
GET /api/monitors/:id/settingsvracípolicyRulesJson, pokud máte entitlement.PATCH /api/monitors/:id/settingspřijímápolicyRulesse strict schema validací.- Platí replace-all semantika:
- pošlete
rules: []pro vymazání - vynechte
policyRules, pokud nechcete nic měnit
- pošlete
Příklad update:
{
"policyRules": {
"schemaVersion": "v1",
"rules": [
{
"id": "ignore-timestamps",
"enabled": true,
"when": {
"classification_in": ["value_change"],
"path_prefix_any": ["/timestamp", "/generated_at"]
},
"then": {
"suppress_notifications": true
}
}
]
}
}Chování validace a entitlementů
- Neznámé klíče jsou odmítnuté s
400 VALIDATION. - Neplatné enumy nebo rozsahy jsou odmítnuté s
400 VALIDATION. - Příliš mnoho pravidel je odmítnuto s
400 VALIDATION. - Pokud nemáte entitlement, update se odmítne s
403 FORBIDDEN.
Best practices
- Začněte jedním suppression pravidlem pro známé hlučné paths.
- Přidejte jedno escalation pravidlo pro breaking schema paths.
- IDs pravidel udržujte stabilní a popisná.
- Preferujte úzké scope v
path_prefix_anypřed širokou globální suppression.