Kubernetes 普罗米修斯-未定义接收者\“;空\";在路线中使用

Kubernetes 普罗米修斯-未定义接收者\“;空\";在路线中使用,kubernetes,prometheus,Kubernetes,Prometheus,为什么我要在路线中使用接收器null?注释掉与null相关的路由仍然会产生相同的错误 你知道怎么解决这个问题吗?配置看起来正确吗?昨天它确实工作了,但我删除了所有内容并试图重新安装,结果出现了这个错误 失败:配置alertmanager配置:无法解析机密中的基本配置:路由中使用了未定义的接收器\“null\” 另外,如何为每个警报单独发送电子邮件?当它工作时,它通常会发出一个探测警报。我可以只禁用路由区段而只使用接收器吗?这会单独发送警报吗分组依据:['…']仍按分组发送 config:

为什么我要在路线中使用接收器null?注释掉与
null
相关的路由仍然会产生相同的错误

你知道怎么解决这个问题吗?配置看起来正确吗?昨天它确实工作了,但我删除了所有内容并试图重新安装,结果出现了这个错误

失败:配置alertmanager配置:无法解析机密中的基本配置:路由中使用了未定义的接收器\“null\”

另外,如何为每个警报单独发送电子邮件?当它工作时,它通常会发出一个探测警报。我可以只禁用路由区段而只使用接收器吗?这会单独发送警报吗<代码>分组依据:['…']仍按分组发送

  config:
    global:
      resolve_timeout: 5m
    route:
      group_by: ['job']
      group_wait: 30s
      group_interval: 5m
      repeat_interval: 30m
      receiver: 'null'
      routes:
      - match:
          alertname: Watchdog
        receiver: 'null'
    receivers:
    - name: 'null'
    route:
      group_by: ['...']
      receiver: 'email-alert'
    receivers:
    - name: 'email-alert'
      email_configs:
      - to: test@gmail.com
        from: test@gmail.com
        smarthost: postfix.test-internal:25
        require_tls: false
以下是日志条目:

level=info ts=2020-12-21T03:17:54.675369726Z caller=operator.go:1163 component=prometheusoperator msg="sync prometheus" key=monitoring/prometheus-kube-prometheus-prometheus
level=error ts=2020-12-21T03:17:54.678077463Z caller=klog.go:96 component=k8s_client_runtime func=ErrorDepth msg="Sync \"monitoring/prometheus-kube-prometheus-alertmanager\" failed: provision alertmanager configuration: base config from Secret could not be parsed: undefined receiver \"null\" used in route"
level=info ts=2020-12-21T03:17:57.297131904Z caller=operator.go:661 component=alertmanageroperator msg="sync alertmanager" key=monitoring/prometheus-kube-prometheus-alertmanager
level=info ts=2020-12-21T03:17:57.29721675Z caller=operator.go:1163 component=prometheusoperator msg="sync prometheus" key=monitoring/prometheus-kube-prometheus-prometheus
level=error ts=2020-12-21T03:17:57.301610335Z caller=klog.go:96 component=k8s_client_runtime func=ErrorDepth msg="Sync \"monitoring/prometheus-kube-prometheus-alertmanager\" failed: provision alertmanager configuration: base config from Secret could not be parsed: undefined receiver \"null\" used in route"
level=info ts=2020-12-21T03:17:59.906899712Z caller=operator.go:1163 component=prometheusoperator msg="sync prometheus" key=monitoring/prometheus-kube-prometheus-prometheus
level=info ts=2020-12-21T03:17:59.909936845Z caller=operator.go:661 component=alertmanageroperator msg="sync alertmanager" key=monitoring/prometheus-kube-prometheus-alertmanager
level=error ts=2020-12-21T03:17:59.915494013Z caller=klog.go:96 component=k8s_client_runtime func=ErrorDepth msg="Sync \"monitoring/prometheus-kube-prometheus-alertmanager\" failed: provision alertmanager configuration: base config from Secret could not be parsed: undefined receiver \"null\" used in route"

在YAML中,
null
“null”
不是一回事

  • null
    :表示空值
  • “null”
    :表示等于
    “null”
    的字符串
尝试删除qoutes:

路线:
-匹配:
警报名称:看门狗
收件人:空
接收人:
-名称:空

在YAML中,
null
“null”
不是一回事

  • null
    :表示空值
  • “null”
    :表示等于
    “null”
    的字符串
尝试删除qoutes:

路线:
-匹配:
警报名称:看门狗
收件人:空
接收人:
-名称:空

顺便说一句,可以有两条路线吗?@John不,你不能在同一级别有两条
路线
钥匙,也不能在同一级别有两条
接收器:
钥匙。但同一个键可以有多个值,因为它们是数组类型。你能分享一个如何设置它的示例吗?@John看一看:这很有效。但这些警报被分组到一封电子邮件中。如何为每个警报获取单独的电子邮件?我的意思是,我可以只禁用
路由区段
而只使用
接收器
?我会更新问题顺便说一句,可以有两条路线吗?@John不,你不能在同一级别上有两条
路线
键,也不能在同一级别上有两条
接收器:
键。但同一个键可以有多个值,因为它们是数组类型。你能分享一个如何设置它的示例吗?@John看一看:这很有效。但这些警报被分组到一封电子邮件中。如何为每个警报获取单独的电子邮件?我的意思是,我可以只禁用
路由区段
而只使用
接收器
?我会更新这个问题