添加docker容器作为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旨在启动可通过localhost:8080访问的默认laravel项目
第一个容器是从这个图像: https : //hub.docker.com/r/kamon/grafana_graphite/
现在想法是将容器(engie_cont)添加为DataSource。 我以用户身份login到grafana:admin pass:admin,去添加DataSource并得到错误:
为什么我不能添加作为DataSource从浏览器(Chrome)访问的URL(localhost:8080)?
首先要尝试将Access更改为代理。 直接模式是直接从您的浏览器,你可能会得到一个CORS(交叉起源)错误。 默认值是代理,而直接模式仅适用于要从浏览器向数据源发送凭据的特殊情况。
编辑:这是一个特殊情况。
你可以从Grafana日志中得到真正的错误:
- 获取容器ID(97b1f0d98b1c在你的情况)
-
docker exec -i -t 97b1f0d98b1c cat /var/log/supervisor/grafana-webapp.log
这可能是一个连接错误。
- 改回直接模式。
- 查找docker主机的IP地址:
sudo ip addr show docker0
(当我testing时是172.17.0.1) - 将Url更改为
http://172.17.0.1:8080