• k8s-Prometheus监控pod指标数据


    监控pod资源

    cadvisor由谷歌开源,cadvisor不仅可以搜集一台机器上所有运行的容器信息,还提供基础查询界面和http接口,方便其他组件如Prometheus进行数据抓取,cAdvisor可以对节点机器上的资源及容器进行实时监控和性能数据采集,包括CPU使用情况、内存使用情况、网络吞吐量及文件系统使用情况。
    
    k8s 1.12之前cadvisor集成在node节点的上kubelet服务中,从1.12版本开始分离为两个组件,因此需要在node节点单独部署cadvisor。
    

    https://github.com/google/cadvisor

    cadvisor镜像准备

    1、cd /opt
    
    2、docker load -i cadvisor_v0.36.0.tar.gz
    
    3、docker tag gcr.io/google_containers/cadvisor:v0.36.0 harbor.linux.com/base/cadvisor:v0.36.0
    
    4、docker push harbor.linux.com/base/cadvisor:v0.36.0
    

    启动cadvisor容器

    1、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=8080:8080       #指定cadvisor的监听端口
      --detach=true 
      --name=cadvisor           #指定容器名称
      harbor.linux.com/base/cadvisor:v0.36.0
    #容器的所有数据是存放在宿主机的 /var/lib/docker/ 目录下,所以把宿主机的目录映射到 cadvisor 容器中,让 cadvisor 获取其他容器的运行数据
    
    2、每个node节点都需要运行此容器
    

    prometheus采集node节点上所有pod的数据

    1、vim /usr/local/prometheus/prometheus.yml
    scrape_configs:
      - job_name: 'kubernetes-k8s-pods'     #采集指定node节点上所有pod的数据
        static_configs:
        - targets: ['192.168.3.144:8080','192.168.3.145:8080','192.168.3.146:8080']
    
    2、systemctl restart prometheus.service
    

    grafana添加监控pod的模板

    导入官方的395、893模板即可
    
    1、导入指定ID的模板
    
    2、指定数据源为prometheus
    
  • 相关阅读:
    [Python Study Notes]进程信息(丁丁软件监控进程,http-post)
    [Python Study Notes]cpu信息
    [Python Study Notes]电池信息
    [Python Study Notes]内存信息
    [Python Study Notes]磁盘信息和IO性能
    [Python Study Notes]计算cpu使用率v0.1
    [Python Study Notes]计算cpu使用率
    [Python Study Notes]psutil模块
    [解决问题] E: 无法获得锁 /var/lib/dpkg/lock
    [Python Study Notes] python面试题总结
  • 原文地址:https://www.cnblogs.com/dongzhanyi123/p/13330560.html
Copyright © 2020-2023  润新知