docker--cAdvisor(监控)实践

docker–cAdvisor(监控)实践

前言

  • github地址:https://github.com/google/cadvisor
  • cAdvisor 可以对节点机器上的资源及容器进行实时监控和性能数据采集,包括CPU使用情况、内存使用情况、网络吞吐量及文件系统使用情况
  • cAdvisor集成在Kubelet中,当kubelet启动时会自动启动cAdvisor,即一个cAdvisor仅对一台Node机器进行监控,kubelet的启动参数 –cadvisor-port 可以定义cAdvisor对外提供服务的端口,默认为4194
  • cAdvisor原生支持 Docker 容器,cAdvisor 容器是基于Google的 Imctfy 开发
  • cAdvisor 运行一个守护进程用来收集每一个容器的数据

运行容器

  • 创建 start.sh,内容如下,

    sudo 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=38080:8080 \
      --detach=true \
      --privileged=true \
      --name=cadvisor \
      google/cadvisor:v0.33.0
    
  • 注意,在 Ret Hat, CentOS, Fedora 等发行版上需要传递如下参数,因为 SELinux 加强了安全策略.

    --privileged=true
    
  • 设置为true之后,容器内的root才拥有真正的root权限,否则容器内的root只是外部的一个普通用户权限

  • 由于cadvisor需要通过socket访问docker守护进程,在Centos和RHEL系统中需要这个选项

    --volume=/cgroup:/cgroup:ro 
    
  • 赋予start.sh可执行权限,然后运行

  • 运行成功后即可访问 http://localhost:38080,界面如下
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

rest api

参考

google/cadvisor - Docker Hub
https://hub.docker.com/r/google/cadvisor
google/cadvisor: Analyzes resource usage and performance characteristics of running containers.
https://github.com/google/cadvisor
Kubernetes–学习笔记-6 – CAdvisor的使用 - Harris的博客 - CSDN博客
https://blog.csdn.net/harris135/article/details/79234691

发布了126 篇原创文章 · 获赞 37 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/huweijian5/article/details/88987188