【Zabbix】Zabbix自定义Key监控服务器打开文件数(fd)
程序员文章站
2022-07-11 11:58:28
...
在实际环境下,由于开发程序的问题,在一段时间后,打开文件句柄数达到了最大值,导致服务崩溃,从而无法进入服务器进行解决,只能通过重启服务器。为了防止此类问题的发生,所以对打开文件句柄数进行监控。
一、创建zabbix监控自定义key
[aaa@qq.com ] vim /data/zabbix/conf/openfiles.conf
UserParameter=openfiles,/bin/bash /data/zabbix/script/openfiles.sh
二、编写监控脚本
[aaa@qq.com ] #!/bin/bash
# lsof -n| wc -l 据说不是最为准确的打开文件数,准确的打开文件句柄数是:cat /proc/sys/fs/file-nr ,第一个数为已分配的文件数,第二个为未分配文件数,第三个为最大打开文件句柄数。详情见下图
# 已打开的文件数,/usr/sbin/lsof因服务器而异,lsof加上-n与没加的区别就在于,加上-n,忽略了由IP转成hostname,加快统计打开文件数,也是为了防止在读取key的时候出现超时的情况。
opened_files=`/usr/sbin/lsof -n| wc -l`
# 最大打开文件数
max_files=`cat /proc/sys/fs/file-max`
# 计算已打开的文件数,并输出
values=`awk 'BEGIN{printf "%0.2f\n",('${opened_files}'/'${max_files}')*100}'`
echo "${values}"
三、zabbix控制面板进行监控
<1> 创建模版,创建应用集
<2> 创建项目,定义key
<3>创建触发器
<4> 监控主机链接模版,查看数据生成
感谢阅读,本文旨在提供参考,如有错误,欢迎大家指正。帮助编者不断的改进!
上一篇: 第6章 函数、谓词、CASE表达式