監控日誌伺服器日誌檔案異常波動
阿新 • • 發佈:2020-10-15
一、需求
日誌伺服器兩臺,每臺有兩塊磁碟,分別/data1,/data2
日誌檔案格式如下:/data2/logserver/logs/Online-2015-10-07*
規則:
1、每小時日誌與前一小時上下波動在50%~200%範圍,比如2015-10-07號,7點日誌為120M,如果8點日誌低於60M,或者高於240M,就可能異常了
2、有可能連續幾個小時的日誌都驟降,比如7點為120M,8點為10M,9點為11M,如果只對比9點和8點的,看不出異常,這時有必要檢查前一天的9點日誌大小
二、部署
1、寫指令碼
#!/bin/bash #####################main######################### Data1(){ #Assignmenttimevariable a=/data1/logserver/logs logfile="$a/UserInfo-$(date+%Y-%m-%d)" now_time=`date+%H` last_time=`date+%H-d"1hoursago"` now_logfile_size=`du-lb${logfile}-${now_time}.log|awk'{print$1}'` last_logfile_size=`du-lb${logfile}-${last_time}.log|awk'{print$1}'` if[$last_logfile_size-ge`echo$last_logfile_size*2|bc`]||[$now_logfile_size-le`echonow_logfile_size/2|bc`] then echo1 else echo0 fi } Data2(){ #Assignmenttimevariable a=/data2/logserver/logs logfile="$a/UserInfo-$(date+%Y-%m-%d)" now_time=`date+%H` last_time=`date+%H-d"1hoursago"` now_logfile_size=`du-lb${logfile}-${now_time}.log|awk'{print$1}'` last_logfile_size=`du-lb${logfile}-${last_time}.log|awk'{print$1}'` if[$last_logfile_size-ge`echo$last_logfile_size*2|bc`]||[$now_logfile_size-le`echonow_logfile_size/2|bc`] then echo1 else echo0 fi } $1
2、定義key值
[[email protected]script]#vim/etc/zabbix/zabbix_agentd.conf ########Logfilemonitoring UserParameter=log_file_data1,echo"`/usr/local/zabbix/script/logfile.shData1`" UserParameter=log_file_data2,echo"`/usr/local/zabbix/script/logfile.shData2`"
3、回到zabbix登入介面定義item,然後定義報警閥值
轉載於:https://blog.51cto.com/zouqingyun/1701485