Logwatch

Материал из СисадминВики (SysadminWiki.ru)
Перейти к: навигация, поиск

LogWatch анализирует log файлы и может выдать отчёт на экран, в файл или отправить по почте.

# 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