“Network error: Connection refused”是监控服务网络不通所致,需依次排查:本地curl连通性、公司代理拦截、服务监听地址是否为0.0.0.0(非127.0.0.1)、安全组及防火墙、Navicat配置URL格式与路径准确性。
Navicat 连接监控服务时报错 “Network error: Connection refused”
这是代理或端口不通的典型表现,不是 navicat 本身问题,而是它背后调用的监控接口(比如 prometheus、grafana api 或自建用量统计服务)无法被访问。navicat 的“存储用量监控”功能本质是 http 轮询,它会按配置的 monitor_url 去拉取 json 数据,一旦网络链路卡在中间某处,就直接报这个错。
排查优先级:本地能 curl 通 → 公司代理是否拦截 → 监控服务监听端口是否对外暴露 → Navicat 配置里的 URL 是否带了多余路径或用了 http/https 混用。
- 在 Navicat 所在机器上执行:
curl -v http://your-monitor-host:9090/api/v1/query?query=storage_usage_bytes(替换成你实际的监控地址),看是否返回 200 + JSON - 如果 curl 失败但服务端确认运行中,大概率是公司统一代理拦截了非标准端口(如 9090、3000),需联系运维开通白名单,或改用已放行的端口(如 8080)反代
- Navicat 中填的 URL 必须以
http://或https://开头,不能只写your-monitor-host:9090;也不能多加斜杠,例如http://host//api/会 404
Navicat 使用系统代理导致监控请求失败
Navicat 默认继承系统代理设置(Windows 的 IE 代理 / macOS 的网络偏好设置),但监控服务往往部署在内网,走代理反而绕远路甚至进不了目标子网。
关键点:Navicat 的代理开关藏得深,且不提示当前生效的是系统代理还是手动配置代理。
- 打开
Navicat → Preferences → Advanced → HTTP Proxy - 勾选
Use system proxy settings时,务必确认系统代理没把内网地址也转发出去;更稳妥的做法是取消勾选,改为No proxy - 如果必须走代理(比如监控服务在另一套隔离网络),则手动填代理地址和端口,**不要**填用户名密码——Navicat 不支持带认证的 HTTP 代理,填了反而触发 407 错误
监控服务监听地址绑定为 127.0.0.1 导致 Navicat 连不上
很多团队用 prometheus 或轻量 Node.js 服务做存储用量采集,启动时默认只监听 127.0.0.1:9090,这意味只有本机 curl 能通,Navicat 在另一台机器上必然 Connection refused。
这不是 Navicat 的 bug,是服务部署时的常见疏忽。
- 检查服务启动命令:Prometheus 要加
--web.listen-address="0.0.0.0:9090";Node.js 服务检查app.listen(9090, '0.0.0.0')而不是'127.0.0.1' - Linux 上用
ss -tuln | grep :9090确认监听的是*:9090,不是127.0.0.1:9090 - 云服务器还要查安全组——即使服务监听 0.0.0.0,安全组没放行端口,外部照样连不上
Navicat 监控 URL 中的路径大小写或版本号不匹配
Navicat 发起的请求对路径敏感,而不少监控后端(尤其是自研 API)路由区分大小写,或强制要求 v1/v2 版本前缀。填错一个字母,就变成 404,Navicat 统一显示为 Network error。
别猜,直接看文档或抓包确认真实可用的 endpoint。
- 用浏览器访问你填的完整 URL,看能否返回 JSON(注意状态码,200 是成功,404/405 就是路径错了)
- 常见错误示例:
http://mon.example.com/api/storage应为http://mon.example.com/api/v1/storage;/metrics和/METRICS在某些服务里不是一回事 - 如果后端用 Nginx 反代,检查
location块有没有加proxy_pass末尾斜杠,它会影响路径拼接
端口、代理、监听地址、URL 路径——这四个点任意一个没对齐,Navicat 的监控面板就只能显示“网络错误”。最容易被忽略的是监听地址绑定了 127.0.0.1 却以为服务已就绪,或者安全组开着但忘了关防火墙 iptables/firewalld。











