- Golang 查询
package main
import (
"fmt"
"github.com/go-openapi/strfmt"
"github.com/prometheus/alertmanager/api/v2/client"
"github.com/prometheus/alertmanager/api/v2/client/alert"
)
func main() {
transport := client.DefaultTransportConfig()
transport.Host = "alertmanager:9093"
fmt.Println(*transport)
formats := strfmt.NewFormats()
alertmanagerClient := client.NewHTTPClientWithConfig(formats, transport)
fmt.Println(*alertmanagerClient)
alertParams := alert.NewGetAlertsParams()
var receiver string
receiver = "Team-A"
var filter = []string{"alertname=KubeNodeNotReady"}
alertParams.WithReceiver(&receiver)
alertParams.WithFilter(filter)
a, _ := alertmanagerClient.Alert.GetAlerts(alertParams)
for _, n := range (*a).GetPayload() {
fmt.Println(*n)
body,_ := n.MarshalJSON()
fmt.Println(string(body))
}
}
1.查询告警信息
curl http://alertmanager.com:9093/api/v2/alerts
2.添加告警
3.查看静默告警信息
# 查看所有静默的告警列表
curl http://alertmanager.com:9093/api/v2/silences
# 查看某条静默的告警
curl http://alertmanager.com:9093/api/v2/silence/{silenceID}
4.添加静默
curl -XPOST http://alertmanager.com:9093/api/v2/silences \
> --header 'Content-Type: application/json' \
> --data '{"comment": "test", "status": {"state": "active"}, "endsAt": "2022-05-26T01:51:01.143796Z", "matchers": [{"isRegex": false, "name": "alertname", "value": "YellowFrameworkBuildJobCheck"}, {"isRegex": false, "name": "severity", "value": "critical"}], "createdBy": "userName", "startsAt": "2022-05-25T15:51:01.143796Z", "id": ""}'
5.删除静默
# 删除指定silenceID的告警
curl -X DELETE http://alertmanager.com:9093/api/v2/silence/{silenceID}