【问题标题】:how to run alertmanager at k8s branch cluster如何在 k8s 分支集群上运行 alertmanager
【发布时间】:2021-02-17 16:29:45
【问题描述】:

我不知道如何运行 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

【问题讨论】:

    标签: kubernetes prometheus prometheus-alertmanager opsgenie


    【解决方案1】:

    您的alertmanager.yml 文件仅包含应使用ConfigMap 或Secret 安装到警报管理器Pod 的警报管理器配置(这取决于您如何部署警报管理器)。

    我假设您已经在运行 Alertmanager 并且只想修改其配置。
    (如果您没有部署 Alertmanager,您可以使用 helm 轻松安装它:helm-alertmanager。)


    我将描述如何使用示例修改警报管理器配置。

    首先你需要找到一个ConfigMap Alertmanager 配置所在的位置。

    ### 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
    ...
    

    在上面的例子中,我们可以看到配置在ConfigMap,命名为alertmanager。

    你可以编辑这个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
    

    此外,我不知道您使用的是哪个版本的 Alertmanager,但似乎从v0.16.1 我们可以使用responders 字段而不是teams。您可以找到更多信息here。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-07
      • 2023-01-24
      • 2018-03-09
      • 1970-01-01
      • 1970-01-01
      • 2015-10-09
      • 1970-01-01
      • 2020-06-26
      相关资源
      最近更新 更多