我不知道如何运行alertmanager.yml来集成opsgenie。我应该在终端上使用什么命令才能让它运行?我尝试过k create -f alertmanager.yml,但它显示:error: error validating "alertmanager.yml": error validating data: [apiVersion not set, kind not set]; if you choose to ignore these errors, turn validation off with --validate=false
这是我的alertmanager.yml,有什么建议吗?
global:
resolve_timeout: 1m
opsgenie_api_url: https://api.opsgenie.com/
opsgenie_api_key: <my_opsgenie_key>
receivers:
- opsgenie_configs:
- teams: test_escalation
priority: '{{ range .Alerts }}{{ if eq .Labels.severity "critical"}}P1{{else if eq .Labels.severity "warning"}}P2{{else if eq .Labels.severity "info"}}P3{{else}}P4{{end}}{{end}}'
name: opsgenie
route:
group_by: ['...']
receiver: opsgenie
repeat_interval: 5m发布于 2021-02-18 18:51:19
您的alertmanager.yml文件仅包含应使用ConfigMap或Secret挂载到Alertmanager Pod的alertmanager配置(这取决于您是如何部署alertmanager的)。
我假设您已经运行了Alertmanager,并且只想修改它的配置。
(如果你没有部署Alertmanager,你可以很容易地安装它,例如helm:helm-alertmanager。)
我将通过一个示例描述如何修改alertmanager配置。
首先,您需要找到Alertmanager配置所在的ConfigMap。
### kubectl describe pod <ALERTMANAGER POD NAME>
$ kubectl describe pod alertmanager-0
Name: alertmanager-0
Namespace: default
...
Containers:
alertmanager:
...
Mounts:
/etc/alertmanager from config (rw)
...
Volumes:
config:
Type: ConfigMap (a volume populated by a ConfigMap)
Name: alertmanager
Optional: false
...在上面的示例中,我们可以看到配置位于名为alertmanager的ConfigMap中。
您可以编辑此Configmap
### kubectl edit cm <CONFIGMAP NAME>
$ kubectl edit cm alertmanager或者,您可以使用alertmanager.yml文件替换它:
### kubectl delete cm <CONFIGMAP NAME> && kubectl create cm <CONFIGMAP NAME> --from-file alertmanager.yml
$ kubectl delete cm alertmanager && kubectl create cm alertmanager --from-file alertmanager.yml此外,我不知道您使用的是哪个版本的警报管理器,但似乎在v0.16.1中我们可以使用responders字段而不是teams。你可以在here上找到更多信息。
https://stackoverflow.com/questions/66246043
复制相似问题