假如你只有极少的系统而且想要监视它们linux 系统日志分析,这么编撰一个小的shell脚本可以使你的任务显得十分简单。
--MageshMaruthamuthu(作者)
目前市场上有许多开源监控工具可用于监控Linux系统的性能。当系统达到指定的阀值限制时,它将发送电子电邮警报。它可以监视CPU借助率、内存借助率、交换借助率、磁盘空间借助率等所有内容。
假如你只有极少的系统而且想要监视它们,这么编撰一个小的shell脚本可以使你的任务显得十分简单。
在本教程中,我们添加了一个shell脚本来监视Linux系统上的messages日志。
我们过去添加了许多有用的shell脚本。假如要查看那些内容,请导航至以下链接。
此脚本将检测/var/log/messages文件中的“warning“、“error”和“critical”,假如发觉任何有关的东西,就给指定电子电邮地址发短信。
假如服务器有许多匹配的字符串,我们就不能常常运行这个可能塞满收件箱的脚本,我们可以在三天内运行一次。
为了解决这个问题linux 系统日志分析,我让脚本以不同的形式触发电子电邮。
假如/var/log/messages文件中今天的日志中找到任何给定字符串linux标准教程,则脚本将向给定的电子电邮地址发送电子电邮警报。
注意:你须要修改电子电邮地址红帽linux系统下载,而不是我们的电子电邮地址。
# 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="2daygeek@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
为os-log-alert.sh文件设置可执行权限。
$ chmod +x /opt/scripts/os-log-alert.sh
最后添加一个cron任务来手动执行此操作。它将每晚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]
via:
作者:MageshMaruthamuthu选题:lujun9972译者:wxy校对:wxy
本文由LCTT原创编译,Linux中国荣誉推出