1. 程式人生 > 實用技巧 >監控日誌伺服器日誌檔案異常波動

監控日誌伺服器日誌檔案異常波動

一、需求

日誌伺服器兩臺,每臺有兩塊磁碟,分別/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,然後定義報警閥值

wKioL1YYg8fCWkWgAAIARVQdRxM515.jpg

wKiom1YYg8DgvrNpAAIBYQML6OE656.jpg

轉載於:https://blog.51cto.com/zouqingyun/1701485