Grafana Test Failed Network Error: Bad Gateway(502)
一. 问题问题描述: Grafana 添加Data Sources Test 时失败,显示Network Error: Bad Gateway(502)
·
一. 问题
问题描述: Grafana 添加
Data Sources
Test 时失败,显示Network Error: Bad Gateway(502)
之前在 Ubuntu 16.04 上部署 Grafana + influxdb 的 Docker 并没有遇到这个问题。
怀疑可能导致问题的因素有:
- iptables 阻挡
- Docker 版本的问题
- 内核版本低的原因
- 容器之间网络不通
二. 环境
- OS:CentOS 6.4
- kernel:Linux 2.6.32-696
- Docker:version 1.7.1
三. 排查
3.1.1. 内核版本
官方推荐 CentOS 7 上使用 Docker,机器是 CentOS 6.4,但是既然可以正常安装 Docker 且可以启动容器,应该没什么问题。
3.1.2 Docker 版本
CentOS 6.4 上使用的 Docker 版本比较老,貌似不太支持新版本的 Docker,暂不排查。
3.1.3. iptables
# iptables -nL -t nat
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DOCKER all -- 0.0.0.0/0 0.0.0.0/0 ADDRTYPE match dst-type LOCAL
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- 172.17.0.0/16 0.0.0.0/0
MASQUERADE tcp -- 172.17.0.7 172.17.0.7 tcp dpt:8086
MASQUERADE tcp -- 172.17.0.7 172.17.0.7 tcp dpt:8083
MASQUERADE tcp -- 172.17.0.8 172.17.0.8 tcp dpt:3000
MASQUERADE tcp -- 172.17.0.9 172.17.0.9 tcp dpt:8080
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
DOCKER all -- 0.0.0.0/0 !127.0.0.0/8 ADDRTYPE match dst-type LOCAL
Chain DOCKER (2 references)
target prot opt source destination
DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8086 to:172.17.0.7:8086
DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8083 to:172.17.0.7:8083
DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:3000 to:172.17.0.8:3000
DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080 to:172.17.0.9:8080
反复的对比了 CentOS 和 Ubuntu 上的 iptables 策略,也没有什么太大的出入。
由于在浏览器中是可以访问http://grafanaIP:3000
的,所以 iptables 应该也没什么太大问题。
那么,只剩一种可能了,容器间访问不通。
3.1.4. 容器间互通
进入容器 Granafa 后 ping InfluxDB 是可以通的,说明容器间网络是通的,那应该是连接 InfluxDB 的端口不通造成的。
容器访问外部网络需要本地系统的转发支持,是否是转发没有开启?
# sysctl net.ipv4.conf.all.forwarding
net.ipv4.conf.all.forwarding = 0
看起来确实没有开启,开启转发
sysctl net.ipv4.conf.all.forwarding=1
执行后再进行测试,发现测试通过了,问题解决。
更多推荐
已为社区贡献1条内容
所有评论(0)