Моніторинг системи за допомогою logwatch

системи

Завданнямlogwatch є позбавити вас необхідності створювати велосипеди в області автоматичного аналізу лог-файлів. Будучи модульною за своєю архітектурою, утиліта надає можливість легко (якщо знаєте Perl) розширювати перелік аналізованих типів лог-файлів. Перелік типів лог-файлів, якіlogwatch вміє аналізувати «з коробки», вражає: починаючи від /var/log/messages і закінчуючи логами CISCO-обладнання. Результати аналізу утиліта групує і поміщає у звіт, який може виводитися в stdout, так і відправлятися електронною поштою. Формат звіту пропонується у двох варіантах: plaintext або HTML, при цьому ви можете регулювати рівень деталізації звіту, виходячи з власних потреб.

Встановити утиліту можна або з вихідних джерел, або ж користуючись штатним менеджером пакетів, благо logwatch присутній в репозиторіях всіх популярних дистрибутивів. У Ubuntu/Debian утиліта легко встановлюється командою:

У процесі інсталяції з пакета в Debian/Ubuntulogwatch автоматично не створює потрібного для зберігання тимчасових файлів каталогу /var/cache/logwatch, і вам необхідно зробити це самостійно:

Файли конфігураціїlogwatch за замовчуванням знаходяться в /usr/share/logwatch, і якщо ви маєте намір редагувати який-небудь із них, то робити це потрібно не з оригінальним файлом, а з його копії, розміщеної в каталозі /etc /logwatch.

Основний конфігураційний файлlogwatch знаходиться в /usr/share/logwatch/default.conf/logwatch.conf і перш ніж редагувати, скопіюйте його:

Файл logwatch.conf дуже добре самодокументований і настільки простий, що у вас не повинно бути складнощів з його виправленням. Серед опцій, які зазвичай зачіпаютьсяпри конфігурації, можна назвати такі:

Параметри аналізатора для кожної служби, що настроюються, можна знайти в /usr/share/logwatch/default.conf/services, а шляхи розміщення лог-файлів кожної служби — в /usr/share/logwatch/default.conf/logfiles. Зазвичай значень параметрів, визначених у цих файлах, достатньо для коректної роботи, якщо у системі всі файли зберігаються в каталогах за промовчанням і мають стандартні імена. Якщо ж у вас деякі файли розташовані в специфічних місцях, то вам слід вказатиlogwatch, де їх шукати. Розглянемо на прикладі лог-файлів Apache, конфігурація для якого розташована у файлі /usr/share/logwatch/default.conf/logfiles/http:

Як бачимо,logwatch використовує опціюLogFile для визначення маски імен лог-файлів, і опціюArchive - для маски архівів. Зверніть увагу, що маски файлів вказуються щодо каталогу, визначеного в опціїLogDir основного конфігураційного файлу. Допустимо, у вас є окремий каталог для зберігання логів Apache, скажімо, для окремого домену. У цьому випадку необхідно скопіювати файл /usr/share/logwatch/default.conf/logfiles/http.conf в /etc/logwatch/conf/logfiles і додати кілька рядків:

Після того, як файли конфігурації готові та перевірені, достатньо лише запустити утиліту:

та приступити до аналізу отриманої інформації. Природно, аналізом лог-файлів варто займатися якнайчастіше, тому зазвичай запускlogwatch здійснюють за розкладом, а багато дистрибутивів автоматично додають запускlogwatch у щоденний розклад планувальника. Наприклад, в Ubuntu/Debian: