• 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
    
  • 相关阅读:
    拦截器的配置和执行流程
    Restful风格数据获取
    layer弹窗插件官网
    HTTP知识1
    解决Navicat for MySQL 连接 Mysql 8.0.11 出现1251- Client does not support authentication protocol 错误
    MySQL8.0以上版本的安装与配置——详细教程
    python 练习题1(set 和len组合使用)
    性能测试基础知识1
    linux下配置python3详解
    ckplayer、swfobject的简单应用
  • 原文地址:https://www.cnblogs.com/dongzhanyi123/p/13330560.html
Copyright © 2020-2023  润新知