添加docker容器作为grafana的数据源

时间:2017-07-26 11:18:14

标签: laravel 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旨在启动默认的laravel项目,可通过以下方式访问: 本地主机:8080

第一个容器取自此图片: https://hub.docker.com/r/kamon/grafana_graphite/

现在的想法是将容器(engie_cont)添加为DataSource。 我以用户身份登录grafana:admin pass:admin,去添加DataSource并获取错误: enter image description here

为什么我不能添加可从浏览器(Chrome)作为DataSource访问的URL(localhost:8080)?

1 个答案:

答案 0 :(得分:1)

首先要尝试更改对代理的访问权限。直接模式直接来自您的浏览器,您可能会收到CORS(Cross Origin)错误。默认情况下,代理和直接模式仅适用于您希望将浏览器中的凭据发送到数据源的特殊情况。

编辑:这是一个特例。

您可以从grafana日志中获得真正的错误:

  1. 获取容器ID(在您的情况下为97b1f0d98b1c)
  2. docker exec -i -t 97b1f0d98b1c cat /var/log/supervisor/grafana-webapp.log
  3. 这可能是连接错误。

    1. 改回直接模式。
    2. 找到docker主机ip地址:sudo ip addr show docker0(我测试时它是172.17.0.1)
    3. 将网址更改为http://172.17.0.1:8080
    4. enter image description here