cadvisor+influxdb+grafana docker监控

cadvisor+influxdb+grafana进行docker监控,看了一些blog,自己尝试进行了多台服务器的监控

首先有两台服务器A1,A2,A1安装infludb,存放所有的监控数据

docker run -d -p 8083:8083 -p 8086:8086 -v /opt/influxdb:/var/lib/influxdb --hostname=influxdb tutum/influxdb

然后访问A1:8086可看到


然后选择创建数据库,在这创建A1db 和 A2db两个 (监控几台服务器创建几个数据库)


创建完成后可选择 show databases 查看

然后在A1,A2上 安装cadvisor,下面是在A1上执行的,A2同理

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 google/cadvisor -storage_driver=influxdb -storage_driver_db=A1db -storage_driver_host=A1:8086

在这需要指定 --name 容器的名字 ,在查询的时候会用到

执行完成后,在A1上安装grafana

docker run -d -p 3000:3000 --hostname grafana --name grafana grafana/grafana:3.1.1

然后打开浏览器 输入 A1:3000 可看到



登陆成功后 先创建两个数据源



添加后


然后创建监控图表显示






剩下的Axes是对x轴和y轴的单位 min max等配置 ,其他的可以自己尝试

其中一个显示结果:



以下container_name 为 cadvisor创建的时候指定的容器名称

Memory查询:

 SELECT mean("value") FROM "memory_usage" WHERE container_name='cadvisor' AND container_name='cadvisor' AND $timeFilter GROUP BY time($interval), "container_name" fill(previous)

cpu查询:

SELECT derivative(mean("value"), 10s) FROM "cpu_usage_total" WHERE container_name='cadvisor' AND $timeFilter GROUP BY time($interval), container_name fill(previous)

网络io:

tx:

SELECT derivative(mean("value"), 10s)/8 FROM "tx_bytes" WHERE container_name='cadvisor' AND $timeFilter GROUP BY time($interval), container_name fill(previous)


rx:

SELECT derivative(mean("value"), 10s)/8 FROM "rx_bytes" WHERE container_name='cadvisor' AND $timeFilter GROUP BY time($interval), container_name fill(previous)



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值