Apache-2.2
監控特定字元串的 Apache 錯誤日誌
什麼是推薦的解決方案來梳理 apache 前一天的 /var/log/httpd/error_log 在檢測到此類字元串時查找包含特定字元串和電子郵件的行?
它可以通過 cron 每小時執行一次,在我的例子中,字元串是“sigkill”或“reached maxclients”。
Nagios、Cacti 等將是矯枉過正。我需要一些簡單的東西。
謝謝
但如果你真的更喜歡 perl,它比 bash 輕一點,但是……
#!/usr/bin/perl -w use strict; my $cachefile="/var/cache/lastpos-apache2-scan4maxclntOrSigKill"; my $logfile="/var/log/apache2/error.log"; my $searchstr="sigkill|reached maxclients"; my $lastpos=0; if (-f $cachefile) { open FH,"<".$cachefile; $lastpos=<FH>; close FH; }; my $newpos=(stat $logfile)[7]; open FH,"<".$logfile; seek FH,$lastpos,0; while (<FH>) { print if /$searchstr/i; }; close FH; open FH,">".$cachefile; print FH $newpos; close FH;