• prometheus node_exporter


    介绍

       内核公开的硬件和操作系统指标的 Prometheus 导出器,用 Go 编写,带有可插入的指标收集器。

        项目地址: https://github.com/prometheus/node_exporter

    主机监控的USE方法

    USE是使用率(Utilization)、饱和度(Saturation)和错误(Error)的缩写,由Netflix的内核和性能工程师Brendan Gregg开发;
    USE方法可以概括为:针对每个资源,检查使用率、饱和度和错误;
    资源:系统的一个组件,在USE中,它指的是一个传统意义上的物理服务器组件,如CPU、内存和磁盘等;
    • 使用率:资源忙于工作的平均时间,它通常用随时间变化的百分比进行表示;
    • 饱和度:资源排队工作的指标,无法再处理额外的工作;通常用队列长度表示;
    • 错误:资源错误事件的计数;
    对CPU来说,USE通常意味着如下概念
    • CPU使用率随时间的百分比;
    • CPU饱和度,等待CPU的进程数;
    • 错误,通常对CPU不太有影响;
    对内存来说,USE的意义相似
    • 内存使用率随时间的百分比;
    • 内存饱和度,可通过监控swap进行测量;
    •  错误,通常不太关键;

    grafana模板

    模板地址: https://grafana.com/grafana/dashboards/8919

    安装

    下载并安装

    wget https://github.com/prometheus/node_exporter/releases/download/v1.2.2/node_exporter-1.2.2.linux-amd64.tar.gz
    tar xf node_exporter-1.2.2.linux-amd64.tar.gz -C /opt/
    ln -s node_exporter-1.2.2.linux-amd64 node_exporter

    启动文件

    cat > /usr/lib/systemd/system/node_exporter.service << EOF
    [Unit]
    Description=Node Exporter
    Wants=network-online.target
    After=network-online.target
    
    [Service]
    ExecStart=/opt/node_exporter/node_exporter
    StandardOutput=syslog
    StandardError=syslog
    SyslogIdentifier=node_exporter
    [Install]
    WantedBy=default.target
    
    EOF

    启动

    systemctl start node_exporter.service 
    systemctl enable node_exporter.service 
    systemctl status node_exporter.service 

    浏览器访问

    http://ip_or_domain_name:9100/metrics

    黑白名单

    黑名单

       不采集某一个指标的信息
    
    --no-collector.<name> flag
    
    例如不采集CPU信息
     ./node_exporter --no-collector.cpu

    白名单

       设置 node_exporter 只采集某些采集项

     --collector.disable-defaults --collector.<name> 
    
    # 只开启mem采集
     ./node_exporter --collector.disable-defaults --collector.meminfo
    
    # 只开启mem 和cpu 采集
    ./node_exporter --collector.disable-defaults --collector.meminfo --collector.cpu

    禁用自身SDK

    --web.disable-exporter-metrics

    指标含义

    CPU相关

    CPU使用率
      每台主机CPU在5分钟内的平均使用率
    (1 - avg (rate(node_cpu_seconds_total{mode='idle'}[5m])) by (instance))
    CPU的饱和度
        
    跟踪CPU的平均负载就能获取到相关主机的CPU饱和度,实际上,它是将主机上的CPU数量考虑在内的一段时间内的平均运行队列长度
    平均负载少于CPU的数量是正常状况,而长时间内超过CPU数量则表示CPU已然饱和;
    node_load1 > on (instance) 2 * count(node_cpu_seconds_total{mode="idle"}) by (instance)

    内存相关

    node_exporter暴露了多个以node_memory为前缀的指标
    • node_memory_MemTotal_bytes
    • node_memory_MemFree_bytes
    • node_memory_Buffers_bytes
    • node_memory_Cached_bytes
    计算使用率
    • 可用空间:上面后三个指标之和;
    • 已用空间:总空间减去可用空间;
    • 使用率:已用空间除以总空间;

    磁盘相关

    node_filesystem_size_bytes{mount_point=PATH}
    node_system_unit_state{name=}
    node_vmstat_pswpin:系统每秒从磁盘读到内存的字节数;
    node_vmstat_pswpout:系统每秒钟从内存写到磁盘的字节数;
  • 相关阅读:
    【转】动态模型及其求解介绍–番外篇
    【转】动态模型及其求解介绍—下
    Belief propagation
    隐马尔科夫模型(Hidden Markov Models) 系列之一
    隐马尔科夫模型(Hidden Markov Models) 系列之四
    【PGM】factor graph,因子图,势函数potential function,Template models
    词语搭配系统
    PHP Catalan数的几个应用
    PHP 求链表并集
    PHP 输入n,判断从1~n序列中十进制数里1出现的次数
  • 原文地址:https://www.cnblogs.com/yanshicheng/p/15514918.html
Copyright © 2020-2023  润新知