Linux磁盘监控小技巧

作者:田逸(formyz)

默认情况下,使用Nrpe插件check_disk加选项“-w”与”-c”除了输出我们想监控的磁盘分区外,还输出了一些形如“/dev/shm”不需要监控的项目(如下图所示),倒对查看起到了一些干扰作用。

从Centreon 或者 Nagios的Web管理后台,也能看到这些造成干扰的输出(如下图所示),最好将这些没有的干扰项排除掉。

登录NRPE所在的宿主系统,执行命令“./check_disk -h”,了解此命令都有哪些选项,其输出如下:

This plugin checks the amount of used disk space on a mounted file system

and generates an alert if free space is less than one of the threshold values

Usage:

 check_disk -w limit -c limit [-W limit] [-K limit] {-p path | -x device}

[-C] [-E] [-e] [-f] [-g group ] [-k] [-l] [-M] [-m] [-R path ] [-r path ]

[-t timeout] [-u unit] [-v] [-X type] [-N type] [-n]

Options:

 -h, --help

    Print detailed help screen

 -V, --version

    Print version information

 --extra-opts=[section][@file]

    Read options from an ini file. See

    https://www.nagios-plugins.org/doc/extra-opts.html

    for usage and examples.

 -w, --warning=INTEGER

    Exit with WARNING status if less than INTEGER units of disk are free

 -w, --warning=PERCENT%

    Exit with WARNING status if less than PERCENT of disk space is free

 -c, --critical=INTEGER

    Exit with CRITICAL status if less than INTEGER units of disk are free

 -c, --critical=PERCENT%

    Exit with CRITICAL status if less than PERCENT of disk space is free

 -W, --iwarning=PERCENT%

    Exit with WARNING status if less than PERCENT of inode space is free

 -K, --icritical=PERCENT%

    Exit with CRITICAL status if less than PERCENT of inode space is free

 -p, --path=PATH, --partition=PARTITION

    Mount point or block device as emitted by the mount(8) command (may be repeated)

 -x, --exclude_device=PATH <STRING>

    Ignore device (only works if -p unspecified)

 -C, --clear

    Clear thresholds

 -E, --exact-match

    For paths or partitions specified with -p, only check for exact paths

 -e, --errors-only

    Display only devices/mountpoints with errors

 -f, --freespace-ignore-reserved

    Don't account root-reserved blocks into freespace in perfdata

 -g, --group=NAME

    Group paths. Thresholds apply to (free-)space of all partitions together

 -k, --kilobytes

    Same as '--units kB'

 -l, --local

    Only check local filesystems

 -L, --stat-remote-fs

    Only check local filesystems against thresholds. Yet call stat on remote filesystems

    to test if they are accessible (e.g. to detect Stale NFS Handles)

 -M, --mountpoint

    Display the mountpoint instead of the partition

 -m, --megabytes

    Same as '--units MB'

 -A, --all

    Explicitly select all paths. This is equivalent to -R '.*'

 -R, --eregi-path=PATH, --eregi-partition=PARTITION

    Case insensitive regular expression for path/partition (may be repeated)

 -r, --ereg-path=PATH, --ereg-partition=PARTITION

    Regular expression for path or partition (may be repeated)

 -I, --ignore-eregi-path=PATH, --ignore-eregi-partition=PARTITION

    Regular expression to ignore selected path/partition (case insensitive) (may be repeated)

 -i, --ignore-ereg-path=PATH, --ignore-ereg-partition=PARTITION

    Regular expression to ignore selected path or partition (may be repeated)

 -t, --timeout=INTEGER

    Seconds before plugin times out (default: 10)

 -u, --units=STRING

    Choose bytes, kB, MB, GB, TB (default: MB)

 -v, --verbose

    Show details for command-line debugging (Nagios may truncate output)

 -X, --exclude-type=TYPE

    Ignore all filesystems of indicated type (may be repeated)

 -N, --include-type=TYPE

    Check only filesystems of indicated type (may be repeated)

 -n, --newlines

    Multi-line output of each disk's status information on a new line

Examples:

 check_disk -w 10% -c 5% -p /tmp -p /var -C -w 100000 -c 50000 -p /

    Checks /tmp and /var at 10% and 5%, and / at 100MB and 50MB

 check_disk -w 100 -c 50 -C -w 1000 -c 500 -g sidDATA -r '^/oracle/SID/data.*$'

    Checks all filesystems not matching -r at 100M and 50M. The fs matching the -r regex

    are grouped which means the freespace thresholds are applied to all disks together

 check_disk -w 100 -c 50 -C -w 1000 -c 500 -p /foo -C -w 5% -c 3% -p /bar

    Checks /foo for 1000M/500M and /bar for 5/3%. All remaining volumes use 100M/50M

Send email to help@nagios-plugins.org if you have questions regarding use

of this software. To submit patches or suggest improvements, send email to

devel@nagios-plugins.org

选项大写的“-X”,作用是排除某个文件系统,这里我们尝试使用这个选项,加参数tmpfs,查看其输出。

[root@php8-83 ~]#   /usr/local/nrpe/libexec/check_disk -w 20% -c 10% -X tmpfs

DISK OK - free space: /dev 3850 MB (100.00% inode=100%); / 23109 MB (27.18% inode=84%); /boot 720 MB (79.28% inode=99%);| /dev=0MB;3080;3465;0;3850 /=61891MB;71658;80615;0;89573 /boot=188MB;780;877;0;975

把加选项“-X”与不加选项“-X”两相对比(如下图所示),确实过滤掉了一些干扰项。

看起来还不完美,还有“/dev”这样的没什么意义的输出,看能不能把它也过滤掉。还有一个选项小写的“-x”,用它来试试。

单独用“-x”这个选项,后加“/dev”,输出如下:

[root@php8-83 ~]#   /usr/local/nrpe/libexec/check_disk -w 20% -c 10% -x /dev

DISK OK - free space: /dev/shm 3862 MB (100.00% inode=100%); /run 3485 MB (90.24% inode=100%); /sys/fs/cgroup 3862 MB (100.00% inode=100%); / 23099 MB (27.17% inode=84%); /boot 720 MB (79.28% inode=99%); /run/user/0 772 MB (100.00% inode=100%);| /dev/shm=0MB;3089;3475;0;3862 /run=376MB;3089;3475;0;3862 /sys/fs/cgroup=0MB;3089;3475;0;3862 /=61902MB;71658;80615;0;89573 /boot=188MB;780;877;0;975 /run/user/0=0MB;617;694;0;772

根本没起作用,那么将选项“-X”与其一起使用,会怎么样?

[root@php8-83 ~]#   /usr/local/nrpe/libexec/check_disk -w 20% -c 10% -x /dev -X tmpfs

DISK OK - free space: / 23095 MB (27.17% inode=84%); /boot 720 MB (79.28% inode=99%);| /=61905MB;71658;80615;0;89573 /boot=188MB;780;877;0;975

仅仅剩下根分区与 /boot 分区的使用率,正好是我们所期望的。

注意选项“-X”与选项“-x”在命令中的顺序可以随意,没有前后之分。

测试成功后,修改NRPE配置文件“nrpe.cfg”,更新“command[check_df]”所在的文本行,其完整内容如下:

command[check_df]=/usr/local/nrpe/libexec/check_disk -w 20% -c 10%  -X tmpfs -x /dev

重启NRPE服务,片刻观察Centreon Web管理后台,磁盘监控项目的输出缩短了,看起来更加清晰明了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/766919.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

解决使用monaco-editor编译器,编译器展示内容没有超过编译器高度,但是出现滚动条问题

前言&#xff1a; 最近在完成项目时&#xff0c;有使用编译器进行在线编辑的功能&#xff0c;就选用了monaco-editor编译器&#xff0c;但是实现功能之后&#xff0c;发现即使在编译器展示的内容没有超过编译器高度的情况下&#xff0c;编译器依旧存在滚动条&#xff0c;会展示…

64、基于去噪卷积神经网络的彩色图像去噪(matlab)

1、基于去噪卷积神经网络的彩色图像去噪的原理及流程 基于去噪卷积神经网络的彩色图像去噪是一种基于深度学习的图像处理技术&#xff0c;可以有效地去除图像中的噪声&#xff0c;提高图像的质量。下面是在Matlab中实现基于去噪卷积神经网络的彩色图像去噪的原理及流程&#x…

01:Linux的基本命令

Linux的基本命令 1、常识1.1、Linux的隐藏文件1.2、绝对路径与相对路径 2、基本命令2.1、ls2.2、cd2.3、pwd / mkdir / mv / touch / cp / rm / cat / rmdir2.4、ln2.5、man2.6、apt-get 本教程是使用的是Ubuntu14.04版本。 1、常识 1.1、Linux的隐藏文件 在Linux中&#xf…

centos7 mqtt服务mosquitto搭建记录

1、系统centos7.6&#xff0c;安装默认版本 yum install mosquitto 2、启动运行 systemctl start mosquitto 3、设置自启动 systemctl enable mosquitto 4、修改配置文件 vim /etc/mosquitto/mosquitto.conf 监听端口&#xff0c;默认为1883&#xff0c;需要修改删除前面…

Python番外篇之责任转移:有关于虚拟机编程语言的往事

编程之痛 如果&#xff0c;你像笔者一样&#xff0c;有过学习或者使用汇编语言与C、C等语言的经历&#xff0c;一定对下面所说的痛苦感同身受。 汇编语言 将以二进制表示的一条条CPU的机器指令&#xff0c;以人类可读的方式进行表示。虽然&#xff0c;人类可读了&#xff0c…

thinksboard新建table表格

html文件 <div fxFlex fxLayoutAlign"left top" style"display: block"> <!-- <mat-card appearance"raised" style"max-height: 80vh; overflow-y: auto;">--><div><button mat-raised-button (click)&…

数据结构(JAVA)—代码题

01-数据结构—判断题 02-数据结构—选择题 03 数据结构—多选填空程序填空 ​ 01-顺序表的建立及遍历 import java.util.Iterator; import java.util.LinkedList; import java.util.ListIterator; import java.util.Scanner;public class Main {public static void main(St…

告别熬夜改稿:AI降重工具让论文降重变得轻松又有趣

已经天临五年了&#xff0c;大学生们还在为论文降重烦恼……手动降重确实是个难题&#xff0c;必须要先付点小经费去靠谱的网站查重&#xff0c;再对着红字标注去改&#xff0c;后面每一次的论文呢查重结果都像赌//博&#xff0c;谁也不知道明明是同一篇文章&#xff0c;第二次…

【C语言】union 关键字

在C语言中&#xff0c;union关键字用于定义联合体。联合体是一种特殊的数据结构&#xff0c;它允许不同的数据类型共享同一段内存。所有联合体成员共享同一个内存位置&#xff0c;因此联合体的大小取决于其最大成员的大小。 定义和使用联合体 基本定义 定义一个联合体类型时…

【MySQL】MySQL锁冲突排障纪要

【MySQL】MySQL锁冲突排障纪要 开篇词&#xff1a;干货篇&#xff1a;1.查看当前innodb status,里面包含事务,锁占用情况2.查看mysql进程状态3.查看innodb事务&#xff0c;锁&#xff0c;锁等待情况4.定位持有锁的线程信息 总结篇&#xff1a;一、锁冲突的原因二、锁冲突的表现…

【Python】列表

目录 一、列表的概念 二、列表的创建 1.变量名 [ ] ..... 2.通过Python内置 的I ist类的构造函数来创建列表 三、操作列表元素的方法 1. 修改 2. 增加元素 3. 删除 4. 其他操作 四、遍历列表 五、列表排序 六、列表切片&#xff08;list slicing&#xff09; 七、…

Python入门 2024/7/2

目录 格式化的精度控制 字符串格式化 对表达式进行格式化 小练习&#xff08;股票计算小程序&#xff09; 数据输入 布尔类型和比较运算符 if语句 小练习&#xff08;成人判断&#xff09; if-else语句 if-elif-else语句 练习&#xff1a;猜猜心里数字 嵌套语句 猜…

JavaScript中的Array(数组)对象

目录 一、Array数组对象 1、介绍 2、创建数组对象并赋值 3、访问数组元素 二、Array对象属性 1、constructor属性 2、length属性 3、prototype属性 三、Array对象的常用方法 1、isArray() 2、concat() 3、pop() 4、shift() 5、push() 6、unshift() 7、reverse(…

前端进阶:Vue.js

目录 框架&#xff1a; 助解&#xff1a; 框架&#xff1a; VUE 什么是Vue.js? Vue.js优点 Vue安装 方式一&#xff1a;直接用<script>引入 方式二&#xff1a;命令行工具 第一个Vue程序 代码 代码解释&#xff1a; 运行 Vue指令 v-text v-html v-tex…

git 中有关 old mode 100644、new mode 10075的问题解决小结

问题&#xff1a; 同一个文件被修改后&#xff0c;最后代码没有变&#xff08;代码刚开始修改了&#xff0c;最后又删除还原了&#xff09;&#xff0c;文件变了&#xff0c;导致提交了一个空文件 git diff 提示 filemode 发生改变&#xff08;old mode 100644、new mode 1007…

RabbitMQ进阶篇

文章目录 发送者的可靠性生产者重试机制实现生产者确认 MQ的可靠性数据持久化交换机持久化队列持久化消息持久化 Lazy Queue(可配置~)控制台配置Lazy模式代码配置Lazy模式更新已有队列为lazy模式 消费者的可靠性消费者确认机制失败重试机制失败处理策略 业务幂等性唯一消息ID业…

layui-页面布局

1.布局容器 分为固定和完整宽度 class layui-container 是固定宽度 layui-fluid是完整宽度

傻瓜交换机多网段互通组网、设备无法配置网关案例

记录一下&#xff1a; 一、傻瓜交换机多网段互通组网 1、客户在核心交换机上创建了VLAN10&#xff0c;VLAN20。 VLAN10&#xff1a;IP192.168.10.254 VLAN20&#xff1a;IP192.168.20.254 在核心交换机下挂了一台傻瓜交换机&#xff0c;傻瓜交换机接入了一台OA服务器IP&#…

从零开始:在Windows上部署大型模型

这是一个超详细安装教程&#xff0c;介绍了在 Window 电脑上如何部署 Qwen1.5 大模型。本文还涉及到 Python 及其环境的配置。 适合对象&#xff1a;有点后端编程基础&#xff0c;没有 Python 基础。 需要环境&#xff1a;Window10/11&#xff0c;支持 Cuda 的 Nvidia 显卡。…

数据结构与算法-动态规划-最长回文子串

最长回文子串 给你一个字符串 s&#xff0c;找到 s 中最长的回文子串。 示例 1&#xff1a; 输入&#xff1a;s "babad" 输出&#xff1a;"bab" 解释&#xff1a;"aba" 同样是符合题意的答案。示例 2&#xff1a; 输入&#xff1a;s "…