Поиск по сайту:

Как установить и использовать Logwatch Log Analyzer и Reporter на VPS


Введение

Приложения создают так называемые «файлы журналов» для отслеживания действий, происходящих в любой момент времени. Эти файлы, которые далеки от простого текстового вывода, могут быть очень сложными для просмотра, особенно если управляемый сервер является занят один.

Когда приходит время обратиться к файлам журналов (например, в случае сбоя, потери данных и т. д.), использование всей доступной помощи становится жизненно важным. Способность быстро понять (разобрать), что они могут сказать о прошлых событиях, и анализировать, что именно тогда произошло, становится исключительно важной для поиска решения.

Следуя по стопам наших предыдущих статей об усилении защиты системы Linux, мониторинге безопасности и оповещениях по электронной почте, в этой статье DigitalOcean мы поговорим о Logwatch: очень мощном синтаксическом анализаторе и анализаторе журналов, который может немного облегчить жизнь любого системного администратора при решении проблем. задачи и проблемы, связанные с приложением.

Лог-файлы

Подобно черным ящикам космических кораблей из Startrek, для обеспечения работы систем (то есть серверов) администраторы даже сегодня полагаются на журналы. Помимо шуток, эти файлы, созданные приложением, играют решающую роль в отслеживании и понимании того, что произошло в прошлом [в данный момент времени] для целей полного/частичного восстановления данных (т. е. из журналов сервера) или внесения поправок на будущее ( например, из журналов доступа).

Проще говоря, файлы журнала будут состоять из действий и событий, происходящих в течение заданного периода времени.

Хороший файл журнала должен быть как можно более подробным, чтобы помочь администратору, отвечающему за обслуживание системы, найти точную информацию, необходимую для определенной цели. Именно по этой причине файлы журналов обычно НЕ являются краткими и содержат множество повторений и множество (в основном) избыточных записей, которые нуждаются в тщательном анализе и фильтрации, чтобы понять их для человека.

Именно здесь в игру вступает Logwatch, компьютерное приложение, разработанное для этой работы.

Войти

Управление журналами — это область, состоящая в основном из поиска, ротации/сохранения журналов и создания отчетов. Logwatch — это приложение, которое упрощает управление журналами, ежедневно анализируя и сообщая краткие сводки о действиях, происходящих на вашем компьютере.

Отчеты, созданные Logwatch, классифицируются по службам (т. е. приложениям), работающим в вашей системе, которые можно настроить так, чтобы они состояли из тех, которые вам нравятся, или из всех вместе, изменив относительно простой файл конфигурации. Кроме того, Logwatch позволяет создавать собственные сценарии анализа для конкретных нужд.

Установка Логвотч

Обратите внимание: Logwatch — это безвредное приложение, которое не должно мешать вашим текущим службам или рабочей нагрузке. Однако, как всегда, рекомендуется сначала попробовать его на новой системе и обязательно сделать резервные копии.

В CentOS/RHEL

Очень просто установить Logwatch в системе на основе RHEL (например, CentOS). Поскольку это приложение, состоящее из различных сценариев Perl, требуются определенные связанные зависимости. Поскольку мы собираемся использовать менеджер пакетов yum, об этом позаботятся автоматически. Если у вас уже не установлен mailx, Logwatch также загрузит его для вас в процессе.

Чтобы установить Logwatch на CentOS/RHEL, выполните следующее:

$ yum install -y logwatch

В Ubuntu/Debian

Получение Logwatch для систем на основе Debian (например, Ubuntu) очень похоже на процесс, описанный выше, за исключением различий в менеджерах пакетов (aptitude v. yum).

Чтобы установить Logwatch на Ubuntu/Debian, выполните следующее:

$ aptitude install -y logwatch

Настройка Logwatch

Хотя его настройки можно переопределять вручную во время каждого запуска, в целом вы захотите, чтобы Logwatch работал ежедневно, используя общую конфигурацию.

Настройка общих конфигураций Logwatch

Файл конфигурации по умолчанию для Logwatch находится по адресу:

/usr/share/logwatch/default.conf/logwatch.conf

Давайте откроем этот файл с помощью текстового редактора nano, чтобы изменить его содержимое:

$ nano /usr/share/logwatch/default.conf/logwatch.conf

После запуска приведенной выше команды вы увидите длинный список переменных, которые приложение использует каждый раз при запуске, автоматически или вручную.

Чтобы начать использовать его, нам нужно будет внести несколько изменений в эти значения по умолчанию.

Помните, что в будущем вы, возможно, захотите вернуться, чтобы изменить определенные здесь настройки. Все сервисы (приложения), анализируемые Logwatch, перечислены в этом файле, как описано выше (Конфигурация № 5). Когда вы устанавливаете или удаляете приложения с виртуального сервера, вы можете продолжать получать отчеты по всем или некоторым из них, изменив настройки здесь (см. ниже*).

Важные параметры, которые нам нужно установить:

Обратите внимание: вам нужно будет использовать клавиши со стрелками, чтобы перемещаться вверх или вниз по строкам, когда вы будете вносить следующие изменения в документ. Когда вы закончите вносить изменения (пункты 1–6), вам нужно будет нажать CTRL+X, а затем подтвердить Y, чтобы сохранить и закрыть. Изменения вступят в силу автоматически при следующем запуске logwatch.

1. Адрес электронной почты, на который отправляются ежедневные сводки (отчеты):

MailTo = root

Замените root своим адресом электронной почты.

Пример: MailTo=sysadmin@mydomain.com

2. Адрес электронной почты, откуда отправляются эти отчеты:

MailFrom = Logwatch

Вы можете снова заменить Logwatch своим собственным.

Пример: MailFrom=sysadmin@mydomain.com

3. Установка диапазона для отчетов:

Range = yesterday

У вас есть варианты получения отчетов для Все (все доступны с самого начала), Сегодня (только сегодня) или Вчера (только вчера).

Пример: Диапазон=Сегодня

4. Настройка детализации отчетов:

Detail = Low

Вы можете изменить детали отчетов здесь. Возможные варианты: Низкий, Средний и Высокий.

Пример: Detail=Medium

5. Настройка сервисов (приложений) для анализа:

По умолчанию Logwatch охватывает очень широкий спектр услуг. Если вы хотите увидеть полный список, вы можете запросить содержимое файла scripts/services, расположенного в /usr/share/logwatch/.

Пример: ls -l /usr/share/logwatch/scripts/services

Service = All

Вы можете выбрать получение отчетов по всем сервисам или по отдельным.

Для всех служб сохраните строку как: Service=All

Если вы хотите получать отчеты для определенных, измените его, как показано в следующем примере, перечислив каждую службу в новой строке (например, Service=[name]).

Пример:

Service = sendmail
Service = http
Service = identd
Service = sshd2
Service = sudo
..

6. Отключение ежедневных отчетов:

# DailyReport = No

Если вы не хотите, чтобы ежедневные отчеты генерировались, раскомментируйте эту строку.

Пример: DailyReport=No вместо # DailyReport=No

Вот и все! После внесения этих изменений вы будете автоматически получать ежедневные отчеты на основе файлов журнала с вашего сервера.

Чтобы узнать больше о Logwatch и о создании пользовательских сервисов для получения отчетов, вы можете посетить его полную документацию, нажав здесь.

Запуск Logwatch вручную

Следует отметить, что у вас есть возможность запускать Logwatch вручную, когда вам нужно, через командную строку.

Вот доступные варианты [из документации]:

logwatch  [--detail  level  ] [--logfile log-file-group ] [--service service-name ] [--print]
   [--mailto address ] [--archives] [--range range  ]  [--debug  level  ]  [--save  file-name  ]
   [--logdir  directory ] [--hostname hostname ] [--splithosts] [--multiemail] [--output output-
   type ] [--numeric] [--no-oldfiles-log] [--version] [--help|--usage]

Если вы не укажете опцию, она будет прочитана из файла конфигурации.

Пример:

$ logwatch --detail Low --mailto email@address --service http --range today

А вот как может выглядеть отчет Logwatch:

################### Logwatch 7.3.6 (05/19/07) ####################
        Processing Initiated: Wed Nov 15 15:07:00 2013
        Date Range Processed: today
                              ( 2013-Nov-15 )
                              Period is day.
      Detail Level of Output: 0
              Type of Output: unformatted
           Logfiles for Host: host_name
                 ##################################################################
    
 --------------------- Postfix Begin ------------------------

    3.453K  Bytes accepted                             3,536
    3.453K  Bytes delivered                            3,536
 ========   ================================================

        3   Accepted                                 100.00%
 --------   ------------------------------------------------
        3   Total                                    100.00%
 ========   ================================================

        3   Removed from queue
        2   Delivered
        1   Sent via SMTP

        1   Connection failure (outbound)

        1   Postfix start


 ---------------------- Postfix End -------------------------


 --------------------- Connections (secure-log) Begin ------------------------

 New Users:
    apache (48)

 New Groups:
    apache (48)


 **Unmatched Entries**
    groupadd: group added to /etc/group: name=apache, GID=48: 1 Time(s)
    groupadd: group added to /etc/gshadow: name=apache: 1 Time(s)

 ---------------------- Connections (secure-log) End -------------------------

 --------------------- SSHD Begin ------------------------


 SSHD Started: 2 Time(s)

 Users logging in through sshd:
    root:
       ip_addr (ip_addr): 1 time

 ---------------------- SSHD End -------------------------
    
 --------------------- yum Begin ------------------------


 Packages Installed:
    apr-1.3.9-5.el6_2.x86_64
    apr-util-1.3.9-3.el6_0.1.x86_64
    perl-YAML-Syck-1.07-4.el6.x86_64
    4:perl-5.10.1-131.el6_4.x86_64
    mailx-12.4-6.el6.x86_64
    1:perl-Pod-Simple-3.13-131.el6_4.x86_64
    1:perl-Pod-Escapes-1.04-131.el6_4.x86_64
    3:perl-version-0.77-131.el6_4.x86_64
    httpd-2.2.15-29.el6.centos.x86_64
    4:perl-libs-5.10.1-131.el6_4.x86_64
    mailcap-2.1.31-2.el6.noarch
    perl-Date-Manip-6.24-1.el6.noarch
    1:perl-Module-Pluggable-3.90-131.el6_4.x86_64
    httpd-tools-2.2.15-29.el6.centos.x86_64
    apr-util-ldap-1.3.9-3.el6_0.1.x86_64
    logwatch-7.3.6-49.el6.noarch

 ---------------------- yum End -------------------------

Прислано: