HTTP¶
Provides notification by invoking HTTP call to certain endpoint. HTTP notification uses POST
method when invoking the call.
-
notify_http
(url=None, body=None, params=None, headers=None, timeout=5, oauth2=False, include_alert=True)¶ Send HTTP notification to specified endpoint.
Parameters: - url (str) – HTTP endpoint URL. If not passed, then default URL will be used in worker configuration.
- body (dict) – Request body.
- params (dict) – Request URL params.
- headers (dict) – HTTP headers.
- timeout (int) – Request timeout. Default is 5 seconds.
- oauth2 (bool) – Add OAUTH2 authentication headers. Default is False.
- include_alert (bool) – Include alert data in request body. Default is
True
.
Example:
notify_http('https://some-notification-service/alert', body={'zmon': True}, headers={'X-TOKEN': 1234})
Note
If include_alert
is True
, then request body will include alert data. This is usually useful, since it provides valuable info like is_alert
and changed
which can indicate whether the alert has started or ended.
{
"body": null,
"alert": {
"is_alert": true,
"changed": true,
"duration": 2.33,
"captures": {},
"entity": {"type": "GLOBAL", "id": "GLOBAL"},
"worker": "plocal.zmon",
"value": {"td": 0.00037, "worker": "plocal.zmon", "ts": 1472032348.665247, "value": 51.67797677979191},
"alert_def": {
"name": "Random Example Alert", "parameters": null, "check_id": 4, "entities_map": [], "responsible_team": "ZMON", "period": "", "priority": 1,
"notifications": ["notify_http()"], "team": "ZMON", "id": 3, "condition": ">40"
}
}
}