zoukankan      html  css  js  c++  java
  • node-exporter安装和详解-适用于物理机虚拟机的监控采集

    node-exporter:    采集node节点(物理机、虚拟机、云主机)监控指标数据,能够采集到主机的运行指标如CPU, 内存,磁盘,网络,文件数等信息

     

    1.k8s环境部署node-exporter

    把node-export_v0_16.tar.gz镜像上传到master节点和node节点,然后解压镜像

    wget http://download.zhufunin.com/k8s_1.16/node-exporter_v0_16.tar.gz
    docker load -i node-exporter_v0_16.tar.gz

     2.在k8s集群部署node-exporter组件

    (1)在k8s-master节点生成一个node-export.yaml文件

    wget http://download.zhufunin.com/k8s_1.16/node-export.yaml
    cat node-export.yaml 
    kubectl apply -f node-export.yaml 

    2.通过node-export采集数据

    curl http://192.168.124.16:9100/metrics

    #node-export默认的监听端口是9100,可以看到当前主机获取到的所有监控数据,如下一段所示:

     

    # HELP node_cpu_seconds_total Seconds the cpus spent in each mode.

    # TYPE node_cpu_seconds_total counter

    node_cpu_seconds_total{cpu="0",mode="idle"} 56136.98

     

    # HELP node_load1 1m load average.

    # TYPE node_load1 gauge

    node_load1 0.58

     

    #HELP:解释当前指标的含义,上面表示在每种模式下node节点的cpu花费的时间,以s为单位

    #TYPE:说明当前指标的数据类型,上面是counter类型

     

    node_cpu_seconds_total{cpu="0",mode="idle"}

    cpu0上idle进程占用CPU的总时间,CPU占用时间是一个只增不减的度量指标,从类型中也可以看出node_cpu的数据类型是counter(计数器)

     

    node_load1该指标反映了当前主机在最近一分钟以内的负载情况,系统的负载情况会随系统资源的使用而变化,因此node_load1反映的是当前状态,数据可能增加也可能减少,从注释中可以看出当前指标类型为gauge(标准尺寸)

     

     

    counter计数器:只是采集递增的指标

    gauge标准尺寸:统计的指标可增加可减少

     

    3.列举常见的监控指标:

    node_boot_time:系统启动时间

    node_cpu:系统CPU使用量

    nodedisk*:磁盘IO

    nodefilesystem*:文件系统用量

    node_load1:系统负载

    nodememeory*:内存使用量

    nodenetwork*:网络带宽

    node_time:当前系统时间

    go_*:node exporter中go相关指标

    process_*:node exporter自身进程相关运行指标

     

    4.使用PromQL语句查询监控数据

    rate(node_cpu[1m])

     

    使用without表达式,可以将标签CPU去除后聚合数据即可:

    avg without(cpu) (rate(node_cpu[1m]))

     

    那如果需要计算系统CPU的总体使用率,通过排除系统闲置的CPU使用率即可获得:

    1 - avg without(cpu) (rate(node_cpu{mode="idle"}[1m]))

     

    5.PromQL总结

    PromQL是Prometheus的查询语言,通过PromQL我们可以对数据进行查询,过滤,以及聚合,计算等操作。

     

     

     

     

     

     

     

  • 相关阅读:
    arr.forEach()与for...in的用法举例
    git
    hql查询
    JAVA Hibernate工作原理及为什么要用
    mysql中key 、primary key 、unique key 与index区别
    aop
    hibernate json数据死循环
    nginx 转帖
    Maven搭建web项目
    ajaxfileupload 附加参数
  • 原文地址:https://www.cnblogs.com/faberbeta/p/13343450.html
Copyright © 2011-2022 走看看