潮流数据库和cadvisor集成问题

时间:2015-05-04 15:17:33

标签: docker influxdb cadvisor

我想通过Influxdb访问来自cadvisor的收集数据 这里我的码头配置:

//for cadvisor
docker run     
--volume=/:/rootfs:ro     
--volume=/var/run:/var/run:rw     
--volume=/sys:/sys:ro     
--volume=/var/lib/docker/:/var/lib/docker:ro     
--publish=8080:8080     
--detach=true     
--name=cadvisorDB     
google/cadvisor:latest     
-storage_driver=influxdb     
-storage_driver_host=127.0.0.1:8086
-storage_driver_db=databaseName

//for InfluxDB
docker run 
-d 
-p 8083:8083 
-p 8086:8086 
--expose 8090 
--expose 8099 
tutum/influxdb
//and I created manually the databse through the WEB UI on localhost:8083   
with the name databaseName`

因此,一旦我启动了两个容器,我会转到InfluxDB来探索数据(通过查询)。错误表示没有数据

2 个答案:

答案 0 :(得分:2)

配置中的所有内容都很好。问题可能出在这一行:

  

-storage_driver_host = 127.0.0.1:8086

因为127.0.0.1引用了cadvisor容器localhost而不是你的localhost。试着把docker Nat ip(通常是172.17.42.1)放进去。

答案 1 :(得分:2)

这是我在我的" docker-compose"中使用的。 YAML文件。应该很容易转换为通常的" docker run"句法。在我的情况下,我在cAdvisor中链接InfluxDB容器,因此cAdvisor知道如何解析主机名" Influxdb"无论分配给容器的内部Docker IP如何。



influxdb:
  image: tutum/influxdb
  hostname: influxdb
  volumes:
    - ./influxdb:/data
  environment:
    - PRE_CREATE_DB=cadvisor
  ports:
    - "8083:8083"
    - "8086:8086"
  expose:
    - "8090"
    - "8099"

cadvisor:
  image: google/cadvisor
  hostname: cadvisor
  volumes:
    - /:/rootfs:ro
    - /var/run:/var/run:rw
    - /sys:/sys:ro
    - /var/lib/docker:/var/lib/docker:ro
  ports:
    - "8089:8080"
  links:
    - influxdb
  command: -storage_driver_db=cadvisor -storage_driver_host=influxdb:8086




注意:如果您设置 PRE_CREATE_DB 环境变量,InfluxDB可以自动创建您的数据库。