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

Docker部署Grafana连接主机MS-SQL时插件健康检查失败求助

排查Docker中Grafana连接主机MS-SQL失败的问题

问题核心

日志里的Plugin health check failed和500错误,说明连接链路要么网络不通,要么配置错误,要么权限存在问题,按以下步骤逐步排查:

1. 修正Docker容器的网络访问配置

  • Linux/macOS主机:容器内的localhost指向容器自身而非宿主机。启动容器时添加--network=host参数,让容器直接使用宿主机网络栈,此时Grafana中填写localhost即可访问主机的MS-SQL。
  • Windows主机(Docker Desktop默认WSL2后端):不要用localhost或主机IP,直接填写host.docker.internal,这个域名会自动解析到宿主机IP。
  • 先验证网络连通性:进入Grafana容器内部,用telnet <主机IP> 1433或nc -zv <主机IP> 1433测试是否能连通MS-SQL的TCP端口(默认1433),连不通的话优先解决网络层面问题。

2. 确认MS-SQL的TCP/IP配置合规

  • 打开SQL Server配置管理器,确保TCP/IP协议已启用,且监听的IP地址包含宿主机的内网IP(192.168.xx.xx),同时禁用"仅IPv6"选项。
  • 检查端口与防火墙:确认TCP端口为1433(或自定义端口),且该端口未被Windows防火墙/iptables拦截。主机上用netstat -ano | findstr :1433(Windows)或ss -tulpn | grep 1433(Linux)确认端口是否处于监听状态。

3. 核对Grafana数据源的配置细节

  • 认证方式别选错:使用SQL Server认证时,用户名和密码必须准确;使用Windows认证需在容器内配置Kerberos(流程较复杂,优先推荐SQL Server认证)。
  • 手动测试连接字符串:拼接格式为Server=<主机地址>,<端口>;Database=<目标库名>;User Id=<用户名>;Password=<密码>;的连接串,若容器内装有sqlcmd工具,直接用该串测试连接是否成功。
  • 更新MS-SQL插件:进入Grafana插件管理页面,查看Microsoft SQL Server插件是否为最新版本,旧版本可能存在兼容性问题,更新后重试。

4. 开启Debug日志获取更详细错误信息

  • 启动容器时添加环境变量GF_LOG_LEVEL=debug,将日志级别改为Debug模式,重启容器后重新测试连接,此时日志会输出具体错误原因(如连接超时、认证失败等),便于快速定位问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 00:15:05