You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bitnami Prometheus Operator邮件告警已触发但未发送邮件问题求助

排查Bitnami Prometheus Operator邮件告警未送达问题

我尝试用Bitnami Prometheus Operator配置最简邮件告警,目前告警已在Prometheus和Grafana中触发,但始终收不到邮件。

现有配置

PrometheusRule 配置

apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
  name: prometheus-example-rules
  namespace: prometheus
spec:
  groups:
    - name: ./example.rules
      rules:
        - alert: ExampleAlert
          expr: vector(1)

AlertmanagerConfig 配置

apiVersion: monitoring.coreos.com/v1alpha1
kind: AlertmanagerConfig
metadata:
  name: config-example
  namespace: prometheus
spec:
  route:
    receiver: 'gmail-notifications'
  receivers:
    - name: 'gmail-notifications'
      emailConfigs:
        - to: xxx@gmail.com
          from: xxx@gmail.com
          smarthost: smtp.gmail.com:587
          authUsername: xxx@gmail.com
          authIdentity: xxx@gmail.com
          authPassword:
            name: alertmanager-email-secret
            key: authPassword
          sendResolved: true

告警状态:已在Prometheus UI、Grafana Alertmanager概览、Alertmanager UI中确认告警触发,但未收到邮件。

排查建议

  • 验证Secret有效性
    确认prometheus命名空间下的alertmanager-email-secret已正确创建,authPassword字段值无误:

    • 若使用Gmail且开启了两步验证,必须使用应用专用密码,而非账号原密码;
    • 若未开启两步验证,需临时允许低安全性应用访问(不推荐,建议优先启用两步验证并使用应用密码);
    • 执行命令检查Secret内容:
      kubectl get secret alertmanager-email-secret -n prometheus -o yaml
      
      确保data.authPassword是密码的Base64编码结果。
  • 查看Alertmanager日志
    直接查看Alertmanager Pod的日志,定位邮件发送失败的具体原因(如认证错误、网络不通):

    kubectl logs -n prometheus -l app.kubernetes.io/name=alertmanager
    
  • 确认Prometheus与AlertmanagerConfig的关联
    检查Prometheus自定义资源(CR)配置,确保已引用上述AlertmanagerConfig:

    apiVersion: monitoring.coreos.com/v1
    kind: Prometheus
    metadata:
      name: prometheus
      namespace: prometheus
    spec:
      # 其他配置项...
      alerting:
        alertmanagerConfigs:
          - name: config-example
            namespace: prometheus
            apiVersion: monitoring.coreos.com/v1alpha1
    

    未关联的话,Prometheus不会将告警推送到该接收配置。

  • 测试SMTP连通性
    在Alertmanager Pod内部测试与Gmail SMTP服务器的连通性,确认网络无拦截:

    kubectl exec -n prometheus <alertmanager-pod-name> -- nc -zv smtp.gmail.com 587
    
  • 检查Alertmanager生效配置
    登录Alertmanager UI,进入「Status」→「Config」页面,确认路由规则和接收者配置已正确加载,无冲突覆盖。

内容的提问来源于stack exchange,提问作者foxou33

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 17:59:53