【Zabbix】Zabbix自定義Key監控服務器打開文件數(fd)

     在實際環境下,由於開發程序的問題,在一段時間後,打開文件句柄數達到了最大值,導致服務崩潰,從而無法進入服務器進行解決,只能通過重啓服務器。爲了防止此類問題的發生,所以對打開文件句柄數進行監控。



    一、創建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> 監控主機鏈接模版,查看數據生成


     感謝閱讀,本文旨在提供參考,如有錯誤,歡迎大家指正。幫助編者不斷的改進!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章