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

如何在Docker部署的Grafana中配置Slack告警TLS?解决证书验证失败

解决Grafana Docker部署发送Slack通知的x509证书验证错误

问题原因

Docker容器内的Grafana默认未加载宿主机的根证书信任列表,导致无法验证Slack Webhook的TLS证书;而宿主机因已包含对应信任证书,所以能正常发送请求。

解决方案

方法1:挂载宿主机根证书到容器(推荐)

直接复用宿主机的信任证书列表,将根证书目录挂载到Grafana容器:

  • 停止当前运行的Grafana容器:docker stop <grafana-container-id>
  • 重新启动容器时添加挂载参数:
docker run -d -p 3000:3000 \
  -v /etc/ssl/certs:/etc/ssl/certs:ro \
  grafana/grafana:10.0.01

注:/etc/ssl/certs是多数Linux发行版的根证书目录,若你的系统路径不同,替换为对应路径即可。

方法2:添加自定义CA证书到Grafana配置

若Slack的证书由自定义CA签发,可单独挂载CA证书并配置Grafana使用:

  1. 本地创建Grafana配置和证书目录:
mkdir -p ./grafana-config ./grafana-certs
  1. 将自定义CA证书(如custom-ca.pem)放入./grafana-certs目录
  2. 编辑./grafana-config/custom.ini文件,添加TLS配置:
[tls]
tls_ca_cert = /etc/grafana/certs/custom-ca.pem
  1. 启动容器并挂载目录:
docker run -d -p 3000:3000 \
  -v ./grafana-config:/etc/grafana \
  -v ./grafana-certs:/etc/grafana/certs:ro \
  grafana/grafana:10.0.01

方法3:临时跳过TLS证书验证(仅测试用,不推荐)

若只是临时验证功能,可关闭证书验证:

  • 在Grafana UI进入Alerting -> Notification policies,找到你的Slack通知渠道
  • 编辑渠道,勾选Skip TLS Verify选项,保存后重新触发告警测试

也可通过配置文件修改,在custom.ini的[slack]部分添加:

[slack]
insecure_skip_verify = true

修改后重启Grafana容器。

错误信息回顾:
failed to send Slack message: failed to send request: Post <personal_slack_webhook>: tls failed to verify certificate: x509: certificate signed by unknown authority

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 02:17:02