Logcheck

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Logcheck and the translation is 100% complete.
The information in this article has been deprecated. It may or may not be relevant for contemporary usage. Handle with care!
Заметка
app-admin/logcheck is no longer available in the Gentoo ebuild repository. The information in this article may no longer be valid.
This article has been flagged for not conforming to the wiki guidelines. Please help out, if possible.

logcheck — утилита для анализа системных журналов.

Начало работы

Основы

app-admin/logcheck - это обновленная версия команды app-admin/logsentry, которая является инструментом для анализа системных лог-файлов. В дополнение, logcheck поставляется со встроенной базой данных общих, не представляющих интереса лог-сообщений для фильтрации помех. В основу инструмента положена идея что нас интересуют все сообщения, за исключением тех, которые явно помечены как шум. logcheck периодически отсылает Вам e-mail со сводкой интересующих сообщений.

Установка logcheck

Важно
Строго рекомендуется удалить logsentry, если этот пакет уже установлен на Вашу систему. Вдобавок, Вы должны удалить каталог /etc/logcheck, чтобы избежать проблем с разрешениями и конфликтами между файлами.
root #emerge -c logsentry
root #rm -rf /etc/logcheck

Теперь Вы можете продолжить с установкой logcheck.

root #emerge --ask app-admin/logcheck

Основная конфигурация

app-admin/logcheck создает отдельного пользователя logcheck во избежание запуска с правами root. Фактически, он откажется от запуска с правами администратора. Для того, чтобы разрешить этой команде анализ лог-файлов, Вы должны убедиться, что ей разрешен доступ на чтение этих файлов. Ниже приведен пример для app-admin/syslog-ng:

ФАЙЛ /etc/syslog-ng/syslog-ng.conf/etc/syslog-ng/syslog-ng.conf snippet
options {
        owner(root);
  
        ## (Make log files group-readable by logcheck)
        group(logcheck);
        perm(0640);
};

Теперь, перезагрузите конфигурацию и убедитесь, что изменения работают так, как положено.

root #/etc/init.d/syslog-ng reload
root #ls -l /var/log/messages
-rw-r----- 1 root logcheck 1694438 Feb 12 12:18 /var/log/messages

Вам теперь необходимо отрегулировать несколько базовых настроек logcheck в файле /etc/logcheck/logcheck.conf .

ФАЙЛ /etc/logcheck/logcheck.confОсновная настройка /etc/logcheck/logcheck.conf
# Управление уровнем фильтрации:
# Может быть установлено в "workstation", "server" или "paranoid" для разных
# уровней фильтрации. По умолчанию настроено на сервер.
## (Уровень workstation включает server, а server включает paranoid.
Уровень paranoid практически не фильтрует сообщения)
REPORTLEVEL="server"
  
# Управление адресом поступления почты:
# *Замечание* скрипт не устанавливает значение по умолчанию!
# Должно быть установлено в сторонний адрес "emailaddress@some.domain.tld"
## (Убедитесь, что Вы можете получить e-mail от logcheck. Тестирование строго рекомендуется.)
SENDMAILTO="root"
  
# Контроль за исполнением syslog-summary над каждой секцией.
# Альтернативно, установите в "1" для включения расширенных сводок.
# СОВЕТ: необходимо установить пакет syslog-summary.
## (Если Вы получаете много похожих сообщений в лог-файлах, Вы, вероятно, пожелаете установить пакет app-admin/syslog-summary и включить эту настройку)
SYSLOGSUMMARY=0

Вам также потребуется сообщить logcheck какие лог-файлы нуждаются в сканировании ( /etc/logcheck/logcheck.logfiles ).

ФАЙЛ /etc/logcheck/logcheck.logfilesБазовая настройка /etc/logcheck/logcheck.logfiles
## (Приведен пример для syslog-ng)
/var/log/messages

И наконец, запустите задание cron для logcheck.

root #nano -w /etc/cron.hourly/logcheck.cron
Заметка
Чтобы получить больше информации о cron, прочтите статью Cron.

Поздравляем! Теперь Вы будете регулярно получать важные log-сообщения по email. Пример сообщения выглядит следующим образом:

КОД Пример сообщения logcheck
System Events
=-=-=-=-=-=-=
Feb 10 17:13:53 localhost kernel: [30233.238342] conftest[25838]: segfault at 40 ip 40061403 sp bfc443c4 error 4
in libc-2.10.1.so[4003e000+142000]
Feb 11 12:31:21 localhost postfix/pickup[18704]: fatal: could not find any active network interfaces
Feb 11 12:31:22 localhost postfix/master[3776]: warning: process //usr/lib/postfix/pickup pid 18704 exit status 1
Feb 11 12:31:22 localhost postfix/master[3776]: warning: //usr/lib/postfix/pickup: bad command startup -- throttling

Устранение проблем

Общие рекомендации

Вы можете использовать параметр -d команды logcheck для отображения дополнительной отладочной информации. Например:

root #su -s /bin/bash -c '/usr/sbin/logcheck -d' logcheck
D: [1281318818] Turning debug mode on
D: [1281318818] Sourcing - /etc/logcheck/logcheck.conf
D: [1281318818] Finished getopts c:dhH:l:L:m:opr:RsS:tTuvw
D: [1281318818] Trying to get lockfile: /var/lock/logcheck/logcheck.lock
D: [1281318818] Running lockfile-touch /var/lock/logcheck/logcheck.lock
D: [1281318818] cleanrules: /etc/logcheck/cracking.d/kernel
...
D: [1281318818] cleanrules: /etc/logcheck/violations.d/su
D: [1281318818] cleanrules: /etc/logcheck/violations.d/sudo
...
D: [1281318825] logoutput called with file: /var/log/messages
D: [1281318825] Running /usr/sbin/logtail2 on /var/log/messages
D: [1281318825] Sorting logs
D: [1281318825] Setting the Intro
D: [1281318825] Checking for security alerts
D: [1281318825] greplogoutput: kernel
...
D: [1281318825] greplogoutput: returning 1
D: [1281318825] Checking for security events
...
D: [1281318825] greplogoutput: su
D: [1281318825] greplogoutput: Entries in checked
D: [1281318825] cleanchecked - file: /tmp/logcheck.uIFLqU/violations-ignore/logcheck-su
D: [1281318825] report: cat'ing - Security Events for su
...
D: [1281318835] report: cat'ing - System Events
D: [1281318835] Setting the footer text
D: [1281318835] Sending report: 'localhost 2010-08-09 03:53 Security Events' to root
D: [1281318835] cleanup: Killing lockfile-touch - 17979
D: [1281318835] cleanup: Removing lockfile: /var/lock/logcheck/logcheck.lock
D: [1281318835] cleanup: Removing - /tmp/logcheck.uIFLqU

This page is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: phajdan.jr, nightmorph
They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article's associated history page.