夜莺监控之docker容器监控(v3)

收集docker容器的监控指标 ,使用的插件为docker-mon

前提条件:

  • docker容器所在的宿主机已经安装并启动了cadvisor
  • docker容器的环境变量中包含 N9E_NID ,N9E_NID 的内容为夜莺服务树节点id,如果设置 N9E_NID = 1,则到节点id为1的节点下,就可以容器的监控指标

部署方法:

1、安装cadvisor:

可直接通过docker pull google/cadvisor的方式来拉取官方镜像,如图:

2、安装完成后通过以下命令启动cadvisor,如下:

docker run  \
  --volume=/:/rootfs:ro \
  --volume=/var/run:/var/run:ro \
  --volume=/sys:/sys:ro \
  --volume=/var/lib/docker/:/var/lib/docker:ro \
  --volume=/dev/disk/:/dev/disk:ro \
  --publish=8088:8080 \
  --detach=true \
  --name=cadvisor \
  --privileged \
  --device=/dev/kmsg \
google/cadvisor

说明:

  • -v的挂载操作不能省略,如果不挂载,将无法连接到docker daemon
  • –detach的目录是创建后不进入到容器内部,完成自动监视功能

3、启动后通过IP以及端口进行访问,可以看到cadvisor界面,如图:

4、启动docker容器,启动时指定环境变量,下面命令表示启动nginx容器,并指定环境变量N9E_NID的值为3,如下:

docker run -itd –name nginx –env N9E_NID=”3″ -p 80:80 nginx

5、启动后通过docker inspect nginx 可以看到内部的环境变量信息,如图:

注意:上面的N9E_NID的值为组织资源数中的节点ID,如图:

6、将 docker-mon、docker-mon.yml 分发到容器所在的宿主机上 ,编辑docker-mon.yml文件,修改cadvisor的url地址,如图:

7、选择节点,点击采集配置—插件—设置docker-mon路径,如图:

8、设置完成后,点击在监控告警系统–监控看图–即时看图—设备无关,可以看到采集到的指标信息,如图:

注意:一定选择设备无关!!!!!

9、接下来就根据节点配置告警策略即可,在此不再赘述!!!!!

标签