Logcheck

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Logcheck and the translation is 42% complete.
Outdated translations are marked like this.

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

Enable periodical log check

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

Cron users

If logcheck is emerged with the "cron" USE flag enabled, it can read /etc/cron.hourly/logcheck.cron

ФАЙЛ /etc/cron.hourly/logcheck.cronBasic /etc/cron.hourly/logcheck.cron
#!/bin/sh
#
# To enable sync via cron, execute "sudo -u logcheck touch /etc/logcheck/cron-logcheck-enabled"
if [[ ! -f /etc/logcheck/cron-logcheck-enabled ]]; then
    exit
fi
if [ ! -d /var/lock/logcheck ]; then
    mkdir -p /var/lock/logcheck
    chown logcheck:logcheck /var/lock/logcheck
fi
sudo -u logcheck nice -n10 /usr/sbin/logcheck

To enable an hourly cron job, run:

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

Systemd users

If logcheck is emerged with "systemd" USE flag enabled, a logcheck.timer can be activated running:

root #systemctl enable --now logcheck.timer

Поздравляем! Теперь Вы будете регулярно получать важные 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.