【发布时间】:2019-11-28 17:06:38
【问题描述】:
我试图在 Grafana 上添加 mysql 数据源。我的目的是创建一个业务 KPI 仪表板,从 Mysql 数据库中提取潜在客户和收入。
这是 docker-compose.yml
version: '2'
services:
# simple myself setup
mysql:
image: mysql:5.7
ports:
- "33060:3306"
environment:
MYSQL_ROOT_PASSWORD: myRootPassword123
MYSQL_DATABASE: myDb
MYSQL_USER: myDbUser
MYSQL_PASSWORD: myPassword123
# grafana used for graphing mysql data
grafana:
image: grafana/grafana
links:
- mysql
ports:
- '3000:3000'
environment:
GF_INSTALL_PLUGINS: percona-percona-app
这是容器
952c95c5414b grafana/grafana "/run.sh" 26 minutes ago Up 26 minutes 0.0.0.0:3000->3000/tcp grafana_grafana_1
2cacddcebcf4 mysql:5.7 "docker-entrypoint.s…" 26 minutes ago Up 26 minutes 33060/tcp, 0.0.0.0:33060->3306/tcp grafana_mysql_1
我去grafana尝试配置新的MySQL数据源时,总是显示TCP连接被拒绝错误。
我尝试从 grafana 仪表板内部使用 127.0.0.1:33060 进行连接。
Grafana configuration mysql data source
谢谢。
【问题讨论】:
-
您使用的是旧版本的 docker-compose 定义。您应该升级到 v>=3。不推荐使用链接,您应该改用 v3 网络定义。无需将 mysql 端口映射到您的主机(当然,除非您想从主机连接到它)。 docker 中的 localhost 意味着......好吧 localhost 即当前的 docker 容器。 Grafana 没有在自己的 localhost 上打开 33060 端口。正确配置后,您可以直接连接到
mysql:3306,这将由 docker compose 根据服务名称自动处理。 -
Networking in Compose 是描述标准设置的必备读物。
-
感谢信息!!