logwatch
— это анализатор системных логов (журналов), начиная от /var/log/messages
и заканчивая логами CISCO-оборудования. Результаты анализа утилита группирует и помещает в отчёт, который может как выводиться в stdout, так и отправляться электронной почтой или сохраняется в файл. Формат отчёта предлагается в трех вариантах: plaintext, HTML или файл, при этом вы можете регулировать уровень детализации отчёта исходя из собственных потребностей.
Сегодня я расскажу вам как его установить и настроить.
Ставится он в Debian/Ubuntu довольно просто:
sudo apt-get install logwatch
После установки копируем файл конфига из довольно странного месторасположения в привычное:
cp /usr/share/logwatch/default.conf/logwatch.conf /etc/logwatch/conf/
И открываем на редактирование:
vi /etc/logwatch/conf/logwatch.conf
Настраиваем:
- Задаём месторасположение временной директории
TmpDir = /tmp
- Вид отправки отчета по-умолчанию задаём как
Output = mail
чтобы получать отчёты не в stdout (поток стандартного вывода), а на почту.
- Формат отчёта выбираем HTML, а не plaintext
Format = html
- Указываем ваш email, куда будут отправлены ежедневные отчёты
MailTo = [email protected]
- Задаёт имя и адрес отправителя (потом удобно создать фильтр)
MailFrom = [email protected]
- Задаём за какой период времени отбирать анализируемые сообщения:
all
,today
илиyesterday
Range = yesterday
- Определяем уровень детализации отчёта. Может принимать как числовые значения от 0 (минимум детализации) до 10 (максимум). Также можно использовать синонимы:
Low
,Med
иHigh
, которые соответственно равны числовым 0, 5 и 10;Detail = Med
- Задаём имя службы (имя файла из каталога
/usr/share/logwatch/scripts/services/
), логи которой необходимо анализировать. Если указать значениеAll
, то будут обрабатываться все службы. Более того, можно некоторые из них исключить из отчёта указав перед именем службы минус («-«). Например включаю в отчёт все службы кромеhttp
иexim
:Service = All
Service = "-eximstats"
Service = "-http"
Внешне вывод в HTML виде выглядит страшненько. Прямо «Привет из 90х».
Лично я сам формат стилизовал следующим образом, хотя можно найти и другие темы в Сети.
Открываем файл HTML-шаблона
vi /usr/share/logwatch/default.conf/html/header.html
И заменяем наш <style>...</style>
на следующий:
<style type="text/css">
body,h1,h2,h3 {
margin:0; padding:0; color:#404040;
font:16px/16px courier,"courier new",Verdana,Arial,sans-serif;
}
a { color:#227596; font-size:14px; }
ul li a { font-size:18px; line-height:22px; }
.service { padding:20px 0 0 20px; }
.return_link { padding:10px 0 30px 20px; }
table,tr,td,th {
border:0!important; border-collapse:collapse;
font:14px/18px courier,"courier new",Verdana,Arial,sans-serif;
color:#404040; text-align:left; background: #ffffff;
}
td,th { padding:2px 4px; margin:0; }
h1, h1 a, h2, h2 a, h3, h3 a, th { font-size:16px; }
</style>
Проверим работу logwatch
. Отчет должен сформироваться и прийти на почту.
/etc/cron.daily/00logwatch