Подсчет ошибок в логе messages.log
Сегодня понадобилось подсчитать количество ошибок по превышению температуры процессора. Данные находятся в messages.log.
Самое простое решение - это написать простенький perl скрипт, который бы брал месяц, число и считало количество появления ошибок в хеше.
Скрипт получилося такой:
#!/usr/bin/perl
$filename=’mess4.log’;
open FH,$filename or die $!;
while (<FH>) {
~/(\w+)\s*(\d+)\s+(\d+):/;
# print “$1 $2 $3\n”;
if (exists($stat{”$1 $2″})) {$stat{”$1 $2″}+=1;} else { $stat{”$1 $2″}=1;}
}
while (($data,$count)=each(%stat)){
print “$data\t$count\n”;
}
Результат - вывод двух из 3х колонок - МЕСЯЦ, ЧИСЛО, КОЛИЧЕСТВО ОШИБОК.
Скрипт очень прост, поэтому вывод нужно запихнуть в ексель и отсортировать по-человечески. Конечно все это можно сделать в скрипте, но на это пока нет времени.
