【Zabbix】Zabbix自定义Key监控服务器打开文件数(fd)

版权声明: https://blog.csdn.net/Scirhh/article/details/87459681

     在实际环境下,由于开发程序的问题,在一段时间后,打开文件句柄数达到了最大值,导致服务崩溃,从而无法进入服务器进行解决,只能通过重启服务器。为了防止此类问题的发生,所以对打开文件句柄数进行监控。



    一、创建zabbix监控自定义key

[root@scong ] vim /data/zabbix/conf/openfiles.conf
UserParameter=openfiles,/bin/bash /data/zabbix/script/openfiles.sh

    二、编写监控脚本
[root@scong ] #!/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> 监控主机链接模版,查看数据生成


     感谢阅读,本文旨在提供参考,如有错误,欢迎大家指正。帮助编者不断的改进!

猜你喜欢

转载自blog.csdn.net/Scirhh/article/details/87459681