zoukankan      html  css  js  c++  java
  • 系统监控之硬盘使用率

            小丽说:小胖,最近测试环境总是出现部分请求处理不了的情况,你看什么情况?小胖笑着脸说:我来看看什么原因。通过查看网关日志,发现也不是所有的请求都被拒绝了,通过分析发现,被拒绝的请求都有一个特征,就是请求参数过多。小胖想了半天也没想明白什么原因。于是小胖赶紧跟小张求救。小张看了后,发现这块确实有点诡异,小张开玩笑的问,本地硬盘不会满了吧。小胖说,这块我没关注呢。检查发现果然满了。本地硬盘清理了一波后,发现所有请求果然正常了。小胖对小张说:谢谢提醒。小胖说,虽然我们建设了promethues监控系统,但是对这一块的监控确实空白,通过查阅资料,小胖总算把这块监控空白给补上了。小胖心想,这块得记下来。

    第一步、安装node_exporter

     下载:  wget https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz

      解压:tar -xf node_exporter-0.18.1.linux-amd64.tar.gz

      移动:cp node_exporter-0.18.1.linux-amd64/node_exporter /usr/local/bin/

    第二步、配置启动脚本

    vim /usr/lib/systemd/system/node_exporter.service

    内容如下

    [Unit]
    Description=Prometheus node_exporter
    [Service]
    User=nobody
    ExecStart=/usr/local/bin/node_exporter --log.level=error
    ExecStop=/usr/bin/killall node_exporter
    MemoryLimit=300M #限制内存使用最多300M
    CPUQuota=100% #限制CPU使用最多一个核

    [Install]
    WantedBy=default.target

    第三步、启动(这里以centos7为例)

    重新加载配置文件:systemctl daemon-reload

    设置服务开机自动启动:systemctl enable node_exporter

    启动服务:systemctl start node_exporter

    第四部、验证

    netstat -anlptu|grep 9100

    至此node_exporter已经安装成功

    接下来需要在promethues监控系统的promethues.yml配置文件中增加配置,配置项如下:

    - job_name: 'node'   ### 新增加job
        static_configs:
        - targets: ['192.168.229.139:9100','192.168.229.138:9100']  ### 主机列表
    然后执行下命令,让配置生效
    curl -X POST http://localhost:9090/-/reload
    最终效果图如下

    这块有一些表达式,例子如下:

    内存使用率
    公式:(1 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes ))* 100
    可用内存(单位:M)
    公式:node_memory_MemAvailable_bytes / 1024 / 1024
    磁盘总大小(单位: G)
    公式:node_filesystem_size_bytes {fstype=~"ext4|xfs"} / 1024 / 1024 / 1024
    磁盘剩余大小(单位: G)
    公式:node_filesystem_avail_bytes {fstype=~"ext4|xfs"} / 1024 / 1024 / 1024
    磁盘使用率
    公式:(1-(node_filesystem_free_bytes{fstype=~"ext4|xfs"} / node_filesystem_size_bytes{fstype=~"ext4|xfs"})) * 100
    收集系统网络监控信息(ip add 查看网卡信息)
    网卡入网流量 (指定某一个网卡)
    公式:irate(node_network_receive_bytes_total{device='ens33'}[5m])
    网卡出网流量(指定某一个网卡)
    公式:irate(node_network_transmit_bytes_total{device='ens33'}[5m])

    看到密密麻麻的公示,大家肯定说,这也太难了。但小胖是个勤于思考的人。

    对这块感兴趣的小伙伴,可以关注小胖后面的博客

  • 相关阅读:
    FineUI第十三天---`列布局
    FineUI第十二天---锚点布局
    FineUI第十一天---布局概述
    FineUI第十天---AJax的特性
    FineUI第九天---表单验证
    FineUI第八天----下拉列表控件
    FineUI第七天---文件上传
    FineUI第六天---表单控件
    FineUI第五天---按钮控件
    快速隐写术的一个小程序
  • 原文地址:https://www.cnblogs.com/mczhou2/p/12068368.html
Copyright © 2011-2022 走看看