Logwatch - мониторинг журналов сервера Linux с отчетом о состоянии на e-mail (на примере Debian/Ubuntu)
Автор Охальников Олег
15:03:2011 г.
FreeBSD по умолчанию присылает каждодневные отчеты о состоянии системы, отчеты безопасности, еженедельные отчеты - на почту администратора. При этом отчеты и информативны и не содержат километры ненужной информации. Это отступление и этого очень не хватает в Linux, к счастью в Linux есть Logwatch, делающий тоже самое.
Начинаем всегда с обновления списка доступных пакетов:
Detail = Med
mailer = "/usr/sbin/sendmail -t"
TmpDir = /tmp
MailTo =
Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
MailFrom = root
Archives = Yes
Range = yesterday
Print = No
Service = All
Detail - это уровень детализации отчета средний. Можно указывать Low - низкий и High - высокий. mailer - прога для отправки e-mail (по умолчанию). TmpDir - темповая директория (по умолчанию). MailTo - кому шлем письмо. MailFrom - от кого шлем письмо. Archives - при составлении отчёта просматривать архивные файлы логов (например /var/log/messages.1.gz). Если отчёт генерируется за один день нет смысла включать эту опцию. Также эта опция зависит от режима ротации логов в системе. Range – указывает период за который составляется отчёт (All, Today, Yesterday). Print – указывает либо печатать вывод в консоль (YES) либо отправлять отчёт на почту (NO). YES - имеет смысл выставлять в случае тестирования. Service = All – запускает анализ логов по всем сервисам определенным в /usr/share/logwatch/scripts/services/ Service = "-eximstats" – дополнительно можно исключить определенные сервисы из набора для анализа.
Для того, чтобы отключить отчет о свободном месте на HDD, в файл настроек можно добавить строку:
Service = "-zz-disk_space"
После инсталляции в папке с заданиями cron должен появится файл /etc/cron.daily/00logwatch. И хотя в конфигурационном файле указан параметр MailTo, я немного рихтанул скрипт, прописав в него мыло:
#!/bin/bash
#Check if removed-but-not-purged
test -x /usr/share/logwatch/scripts/logwatch.pl || exit 0
#execute
/usr/sbin/logwatch --mailto
Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
Сохраняем и в консоли выполняем это скрипт, просто запустив:
# /etc/cron.daily/00logwatch
При этом, на указанный e-mail должен придти отчет.
Как быть, если в системе присутствуют не стандартные логи, т.е. те, которые вы сами добавили и хотели бы контролировать. Ищем сервис в /usr/share/logwatch/default.conf/logfiles и файл для нужного сервиса копируем в папку /etc/logwatch/conf/logfiles, открываем его и рихнуем пути к файлам логов. Для этого комментируем стандартные записи в директиве
Archive =
и вместо них ставим с указанием пути лога, примерно так:
Archive = /var/log/mylog.log
На этом все!
Материал подготовил:
Охальников Олег aka H@wk!