添加 docker 个容器作为 grafana 的数据源
add docker container as data source for grafana
我有四个 docker 个容器 运行:
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
97b1f0d98b1c kamon/grafana_graphite "/usr/bin/supervisord" 25 minutes ago Up 25 minutes 80-81/tcp, 0.0.0.0:8125->8125/udp, 0.0.0.0:8126->8126/tcp, 0.0.0.0:40001->3000/tcp kamon-grafana-dashboard
79b9032b9ed4 engie_image "nginx -g 'daemon ..." 3 hours ago Up 3 hours 443/tcp, 0.0.0.0:8080->80/tcp engie_cont
0a1fdd8b830c piha_image "docker-php-entryp..." 3 hours ago Up 3 hours 9000/tcp piha_cont
61c8a4c80180 mysql:5.6 "docker-entrypoint..." 3 hours ago Up 3 hours 0.0.0.0:33061->3306/tcp diba_cont
2-4 旨在启动可通过以下方式访问的默认 laravel 项目:
localhost:8080
第一个容器取自这张图片:
https://hub.docker.com/r/kamon/grafana_graphite/
现在的想法是添加容器 (engie_cont) 作为数据源。
我以用户身份登录到grafana:admin pass:admin,去添加DataSource并得到错误:
为什么我不能添加可从浏览器 (Chrome) 访问的 URL (localhost:8080) 作为数据源?
首先要尝试的是更改对代理的访问。直接模式直接来自您的浏览器,您可能会遇到 CORS(跨源)错误。默认为代理,直接模式仅适用于您希望将凭据从浏览器发送到数据源的特殊情况。
编辑:这是一个特例。
您可以从 grafana 日志中获取真正的错误:
- 获取容器 ID(在您的情况下为 97b1f0d98b1c)
docker exec -i -t 97b1f0d98b1c cat /var/log/supervisor/grafana-webapp.log
可能是连接错误。
- 改回直接模式。
- 找到docker主机ip地址:
sudo ip addr show docker0
(我测试的时候是172.17.0.1)
- 将 Url 更改为
http://172.17.0.1:8080
我有四个 docker 个容器 运行:
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
97b1f0d98b1c kamon/grafana_graphite "/usr/bin/supervisord" 25 minutes ago Up 25 minutes 80-81/tcp, 0.0.0.0:8125->8125/udp, 0.0.0.0:8126->8126/tcp, 0.0.0.0:40001->3000/tcp kamon-grafana-dashboard
79b9032b9ed4 engie_image "nginx -g 'daemon ..." 3 hours ago Up 3 hours 443/tcp, 0.0.0.0:8080->80/tcp engie_cont
0a1fdd8b830c piha_image "docker-php-entryp..." 3 hours ago Up 3 hours 9000/tcp piha_cont
61c8a4c80180 mysql:5.6 "docker-entrypoint..." 3 hours ago Up 3 hours 0.0.0.0:33061->3306/tcp diba_cont
2-4 旨在启动可通过以下方式访问的默认 laravel 项目: localhost:8080
第一个容器取自这张图片: https://hub.docker.com/r/kamon/grafana_graphite/
现在的想法是添加容器 (engie_cont) 作为数据源。
我以用户身份登录到grafana:admin pass:admin,去添加DataSource并得到错误:
为什么我不能添加可从浏览器 (Chrome) 访问的 URL (localhost:8080) 作为数据源?
首先要尝试的是更改对代理的访问。直接模式直接来自您的浏览器,您可能会遇到 CORS(跨源)错误。默认为代理,直接模式仅适用于您希望将凭据从浏览器发送到数据源的特殊情况。
编辑:这是一个特例。
您可以从 grafana 日志中获取真正的错误:
- 获取容器 ID(在您的情况下为 97b1f0d98b1c)
docker exec -i -t 97b1f0d98b1c cat /var/log/supervisor/grafana-webapp.log
可能是连接错误。
- 改回直接模式。
- 找到docker主机ip地址:
sudo ip addr show docker0
(我测试的时候是172.17.0.1) - 将 Url 更改为
http://172.17.0.1:8080