linux查看告警日志,shell脚本,用于监视Linux中的消息日志(警告,错误和严重)...
shell腳本,用于監(jiān)視Linux中的消息日志(警告,錯誤和嚴重)
該腳本將檢查文件中的“警告,錯誤和嚴重”,并在/var/log/messages找到與之相關(guān)的郵件時觸發(fā)給指定電子郵件ID的郵件。
我們不能經(jīng)常運行此腳本,因為如果服務(wù)器上有很多匹配的字符串,它將填充您的收件箱,因此我們可以每天運行一次。
如果在昨天的“ /var /log/messages”文件中找到任何給定的字符串,則腳本將向給定的電子郵件ID發(fā)送電子郵件警報。
注意:請根據(jù)您的要求更改電子郵件ID和內(nèi)存利用率閾值。
# vi /opt/scripts/os-log-alert.sh
#!/bin/bash
#Set the variable which equal to zero
prev_count=0
count=$(grep -i "`date --date='yesterday' '+%b %e'`" /var/log/messages | egrep -wi 'warning|error|critical' | wc -l)
if [ "$prev_count" -lt "$count" ] ; then
# Send a mail to given email id when errors found in log
SUBJECT="WARNING: Errors found in log on "`date --date='yesterday' '+%b %e'`""
# This is a temp file, which is created to store the email message.
MESSAGE="/tmp/logs.txt"
TO="daygeek@gmail.com"
echo "ATTENTION: Errors are found in /var/log/messages. Please Check with Linux admin." >> $MESSAGE
echo ?"Hostname: `hostname`" >> $MESSAGE
echo -e "n" >> $MESSAGE
echo "+------------------------------------------------------------------------------------+" >> $MESSAGE
echo "Error messages in the log file as below" >> $MESSAGE
echo "+------------------------------------------------------------------------------------+" >> $MESSAGE
grep -i "`date --date='yesterday' '+%b %e'`" /var/log/messages | awk '{ $3=""; print}' | egrep -wi 'warning|error|critical' >> ?$MESSAGE
mail -s "$SUBJECT" "$TO" < $MESSAGE
#rm $MESSAGE
fi
設(shè)置文件的可執(zhí)行權(quán)限os-log-alert.sh。
$ chmod +x /opt/scripts/os-log-alert.sh
最后添加一個cronjob以使其自動化。它將每天早上7點運行。
# crontab -e
0 7 * * * /bin/bash /opt/scripts/os-log-alert.sh
注意:您每天都會在7點收到電子郵件警報,該警報基于前一天的日志。
輸出:您將收到類似于以下的電子郵件警報。
ATTENTION: Errors are found in /var/log/messages. Please Check with Linux admin.
+-----------------------------------------------------+
Error messages in the log file as below
+-----------------------------------------------------+
Jul ?3 02:40:11 ns1 kernel: php-fpm[3175]: segfault at 299 ip 000055dfe7cc7e25 sp 00007ffd799d7d38 error 4 in php-fpm[55dfe7a89000+3a7000]
Jul ?3 02:50:14 ns1 kernel: lmtp[8249]: segfault at 20 ip 00007f9cc05295e4 sp 00007ffc57bca1a0 error 4 in libdovecot-storage.so.0.0.0[7f9cc04df000+148000]
Jul ?3 15:36:09 ns1 kernel: php-fpm[17846]: segfault at 299 ip 000055dfe7cc7e25 sp 00007ffd799d7d38 error 4 in php-fpm[55dfe7a89000+3a7000]
Jul ?3 15:45:54 ns1 pure-ftpd: (?@5.188.62.5) [WARNING] Authentication failed for user [daygeek]
Jul ?3 16:25:36 ns1 pure-ftpd: (?@104.140.148.58) [WARNING] Sorry, cleartext sessions and weak ciphers are not accepted on this server.#012Please reconnect using TLS security mechanisms.
Jul ?3 16:44:20 ns1 kernel: php-fpm[8979]: segfault at 299 ip 000055dfe7cc7e25 sp 00007ffd799d7d38 error 4 in php-fpm[55dfe7a89000+3a7000]
?著作權(quán)歸作者所有,如需轉(zhuǎn)載,請注明出處,否則將追究法律責(zé)任
總結(jié)
以上是生活随笔為你收集整理的linux查看告警日志,shell脚本,用于监视Linux中的消息日志(警告,错误和严重)...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux系统下cpu如何测试,Linu
- 下一篇: linux搭建ca服务器搭建,linux