Logwatch
LogWatch анализирует log файлы и может выдать отчёт на экран, в файл или отправить по почте.
- Берём последнюю версию с http://sourceforge.net/projects/logwatch/files/
- Распаковываем:
# tar -zxvf logwatch-7.2.1.tar.gz
- В версии 7.2.1 появился инсталляционный скрипт install_logwatch.sh, но запустить его не удалось, т.ч. устанавливаем проверенным способом - вручную. Благо делается это быстро и просто
- Создаём каталог/etc/logwatch и копируем туда каталоги scripts, conf и lib
- в /etc/logwatch/conf/logwatch.conf определяем на чей почтовый ящик будет уходить отчёт, просматривать ли архивы журналов, за какой период формировать отчёт и с какой детализацией:
MailTo = postmaster@teo.mynetwork.ru MailFrom = root Archives = Yes Range = yesterday Detail = Low
- в /etc/logwatch/scripts/logwatch.pl изменяем:
my $BaseDir = "/etc/logwatch";
- Добавляем запуск скрипта в список ежедневного запуска cron. Суффикс “00-” для того чтоб скрипт выполнялся первым.
# ln -s /etc/logwatch/scripts/logwatch.pl /etc/cron.daily/00-logwatch
- Чтобы проверить как это работает меняем место куда посылать отчёт в файле /etc/logwatch/conf/logwatch.conf на вывод на экран:
Print = Yes
и запускаем скрипт:
# /etc/cron.daily/00-logwatch
- Если отчёт вывелся на экран, то всё работает нормально. У меня выдал ошибку:
/etc/logwatch//default.conf/services: No such file or directory at /etc/cron.daily/00-logwatch line 399.
- Можно либо скопировать conf в default.conf, либо сделать ссылку. Мы не будем плодить лишних сущностей, ограничимся ссылкой:
ln -s /etc/logwatch/conf /etc/logwatch/default.conf
- При очередном запуске выскочила следующая ошибка:
# /etc/cron.daily/00-logwatch Nonexistent service to disable: zz-network
- Поставим коментарий на эту строку в файле /etc/logwatch/conf/logwatch.conf:
#Service = "-zz-network"
- К счастью это была последняя ошибка. Очередной запуск после довольно продолжительного раздумья вывел на экран желаемую статистику. Теперь возвращаем отправку отчёта по почте:
Print = No
- На этом можно и закончить, а можно донастроить фильтры. Их конфигурационные файлы находятся в подкаталогах /etc/logwatch/conf/. Я сделал следующие изменения:
1) В /etc/logwatch/conf/logfiles/http.conf, т.к. у меня несколько виртуальных хостов, добавил для обработки журнальные файлы всех сайтов, заодно заменил расширение для архивных файлов с умолчального gz на bz2, т.к. у меня архивы храняться в этом формате. Таким образом не закомментированными у меня остались строки:
LogFile = httpd/access_log LogFile = httpd/site1/access_log LogFile = httpd/site2/access_log LogFile = httpd/error_log LogFile = httpd/site1/error_log LogFile = httpd/site2/error_log Archive = httpd/*access_log.*.bz2 Archive = httpd/site1/*access_log.*.bz2 Archive = httpd/site2/*access_log.*.bz2 *ExpandRepeats *ApplyhttpDate
2) В /etc/logwatch/conf/logfiles/messages.conf изменил путь к архивному файлу, закоментировав умолчальные, которые у меня не имеют смысла. В принципе их можно было оставить, т.к. logwatch их всё равно проигнорирует:
#Archive = messages.* #Archive = messages.*.gz #Archive = archiv/messages.* #Archive = archiv/messages.*.gz Archive = syslog/messages.*.bz2
3) В /etc/logwatch/conf/logfiles/secure.conf аналогично:
#Archive = secure.* #Archive = secure.*.gz #Archive = archiv/secure.* #Archive = archiv/secure.*.gz #Archive = authlog.* #Archive = authlog.*.gz Archive = auth/secure.*.bz2
- Если после настройки фильтров получаем лишнюю информацию, то её можно отсеить, указав ключевые подстроки в файле /etc/logwatch/conf/ignore.conf. Эти подстроки сравниваются со всеми анализируемыми журнальными (log) файлами. В конфигурационном файле для каждого фильтра указано какие журнальные файлы он обрабатывает.
- Также я решил добавить в конец отчёта фразу дня (fortune). Для этого достаточно установить соответствующий набор фраз:
# apt-get install fortunes-taow # apt-get install fortunes-simpsons-chalkboard
Полный список доступных наборов можно получить по команде:
# apt-cache search fortune
Полезные ссылки
- В статье про Perl можно поискать решение перловсих проблем
- http://linux.kaybee.org/ - официальная страница автора Logwatch