a5e95823b2
* Add validation for grafana recipient * Alertmanager API implementation (WIP) * Fix encoding/decoding receiver settings from/to YAML * Save templates together with the configuration * update POST to apply latest config * Alertmanager service enabled by the ngalert toggle * Silence API integration with Alertmanager * Apply suggestions from code review Co-authored-by: gotjosh <josue@grafana.com> Co-authored-by: Ganesh Vernekar <15064823+codesome@users.noreply.github.com>
119 lines
2.8 KiB
HTTP
119 lines
2.8 KiB
HTTP
@lokiDatasourceID = 32
|
|
@prometheusDatasourceID = 875
|
|
@grafana = grafana
|
|
|
|
# unsupported loki backend
|
|
GET http://admin:admin@localhost:3000/alertmanager/{{lokiDatasourceID}}/config/api/v1/alerts
|
|
|
|
###
|
|
# unsupported cortex backend
|
|
GET http://admin:admin@localhost:3000/alertmanager/{{prometheusDatasourceID}}/config/api/v1/alerts
|
|
|
|
###
|
|
# create AM configuration
|
|
POST http://admin:admin@localhost:3000/alertmanager/{{grafana}}/config/api/v1/alerts
|
|
content-type: application/json
|
|
|
|
< ./post-user-config.json
|
|
|
|
###
|
|
# get latest AM configuration
|
|
GET http://admin:admin@localhost:3000/alertmanager/{{grafana}}/config/api/v1/alerts
|
|
content-type: application/json
|
|
|
|
###
|
|
# delete AM configuration
|
|
DELETE http://admin:admin@localhost:3000/alertmanager/{{grafana}}/config/api/v1/alerts
|
|
|
|
###
|
|
# create AM alerts
|
|
POST http://admin:admin@localhost:3000/alertmanager/{{grafana}}/api/v2/alerts
|
|
content-type: application/json
|
|
|
|
###
|
|
# get silences - no silences
|
|
GET http://admin:admin@localhost:3000/alertmanager/{{grafana}}/api/v2/silences?Filter=foo="bar"&Filter=bar="foo"
|
|
|
|
###
|
|
# create silence
|
|
POST http://admin:admin@localhost:3000/alertmanager/{{grafana}}/api/v2/silences
|
|
content-type: application/json
|
|
|
|
{
|
|
"comment": "string",
|
|
"createdBy": "string",
|
|
"endsAt": "2023-03-31T14:17:04.419Z",
|
|
"matchers": [
|
|
{
|
|
"isRegex": true,
|
|
"name": "string",
|
|
"value": "string"
|
|
}
|
|
],
|
|
"startsAt": "2021-03-31T13:17:04.419Z"
|
|
}
|
|
|
|
###
|
|
# update silence - does not exist
|
|
POST http://admin:admin@localhost:3000/alertmanager/{{grafana}}/api/v2/silences
|
|
content-type: application/json
|
|
|
|
{
|
|
"id": "something",
|
|
"comment": "string",
|
|
"createdBy": "string",
|
|
"endsAt": "2023-03-31T14:17:04.419Z",
|
|
"matchers": [
|
|
{
|
|
"isRegex": true,
|
|
"name": "string",
|
|
"value": "string"
|
|
}
|
|
],
|
|
"startsAt": "2021-03-31T13:17:04.419Z"
|
|
}
|
|
|
|
###
|
|
# create silence - bad paylaad - start time must be before end time
|
|
POST http://admin:admin@localhost:3000/alertmanager/{{grafana}}/api/v2/silences
|
|
content-type: application/json
|
|
|
|
{
|
|
"comment": "string",
|
|
"createdBy": "string",
|
|
"endsAt": "2019-03-31T14:17:04.419Z",
|
|
"matchers": [
|
|
{
|
|
"isRegex": true,
|
|
"name": "string",
|
|
"value": "string"
|
|
}
|
|
],
|
|
"startsAt": "2021-03-31T13:17:04.419Z"
|
|
}
|
|
|
|
###
|
|
# get silences
|
|
# @name getSilences
|
|
GET http://admin:admin@localhost:3000/alertmanager/{{grafana}}/api/v2/silences
|
|
|
|
|
|
###
|
|
@silenceID = {{getSilences.response.body.$.[0].id}}
|
|
|
|
###
|
|
# get silence
|
|
GET http://admin:admin@localhost:3000/alertmanager/{{grafana}}/api/v2/silence/{{silenceID}}
|
|
|
|
###
|
|
# get silence - unknown
|
|
GET http://admin:admin@localhost:3000/alertmanager/{{grafana}}/api/v2/silence/unknown
|
|
|
|
###
|
|
# delete silence
|
|
DELETE http://admin:admin@localhost:3000/alertmanager/{{grafana}}/api/v2/silence/{{silenceID}}
|
|
|
|
###
|
|
# delete silence - unknown
|
|
DELETE http://admin:admin@localhost:3000/alertmanager/{{grafana}}/api/v2/silence/unknown
|