如何通过配置文件设置Grafana将告警默认发送至外部Alertmanager?
通过配置文件让Grafana对接外部Prometheus Alertmanager
完全可以通过Grafana的告警通知通道预配置实现,无需手动登录页面修改。具体步骤如下:
1. 创建告警通道预配置文件
在Grafana的挂载目录下创建provisioning/notifiers文件夹,新建配置文件(比如alertmanager-notifier.yml),内容示例:
apiVersion: 1 notifiers: - name: "External Prometheus Alertmanager" type: "prometheus-alertmanager" isDefault: true # 设置为默认告警接收通道 settings: url: "http://alertmanager:9093/api/v2/alerts" # 根据你的Docker网络调整Alertmanager地址 sendResolved: true # 发送告警恢复通知 # 若Alertmanager启用了基础认证,添加以下配置 # secureSettings: # basicAuthUser: "your-username" # basicAuthPassword: "your-password"
type必须指定为prometheus-alertmanager,这是Grafana内置的Alertmanager通知类型url要和你的Alertmanager服务地址匹配(Docker环境下用服务名即可,比如alertmanager是Docker Compose中的服务名)isDefault设为true后,所有告警规则会默认使用这个通道
2. Docker挂载预配置目录
启动Grafana时,将上述provisioning/notifiers目录挂载到容器内的/etc/grafana/provisioning/notifiers路径。以Docker Compose为例:
services: grafana: image: grafana/grafana:latest volumes: - ./grafana/provisioning/notifiers:/etc/grafana/provisioning/notifiers - ./grafana/dashboards:/var/lib/grafana/dashboards - ./grafana/datasources:/etc/grafana/provisioning/datasources environment: - GF_ALERTING_ENABLED=true # 确保Grafana告警功能处于开启状态 ports: - "3000:3000" networks: - monitoring # 和Alertmanager、Prometheus处于同一网络
3. 验证配置
启动Grafana后,无需登录页面操作,系统会自动加载该告警通道。你可以通过查看Grafana容器日志(docker logs grafana)确认配置是否加载成功,日志中会出现类似Loaded provisioning notification channels的提示。
后续创建的Grafana告警规则,会自动将告警发送到配置的外部Alertmanager。
内容的提问来源于stack exchange,提问作者Christian
相关产品推荐
相关产品推荐

