Logwatch – отчет на почту

# yum install logwatch

Logwatch входит в Базовые репозитории CentOS и не требует подключения дополнительных репозиториев. Все зависимости будут автоматом устранены.

Примечание: Для отправки отчёта по email, я использую Postfix так как даже разработчики RedHat в новой версии RedHAt 7 используют его вместо Sendmail. Соответственно и настройка отправки будут заточены под Postfix.

Редактируем основной конфигурационный файл:

# vim /usr/share/logwatch/default.conf/logwatch.conf
##Указываем кому будет отправляться почта 
MailTo = admin@domen.com

## Адрес отправителя отчета
MailFrom = Logwatch@domen.com

##За какой период отправить отчёт: All, Today, Yesterday (переводить не вижу смысла всё и так предельно понятно)
Range = yesterday

##Детализация отчёта, максимальная, средняя либо низкая : High, Med, Low. Практический опыт показал, что оптимальнее всего указать среднюю либо максимальную детализацию.
Detail = Med

##Сервисы подлежащие анализу по умолчанию указаны все
Service = All

##Далее можем исключить сервисы из вывода статистики пример:
Service = "-sendmail"

##По умолчанию Logwatch анализирует логи в директории /var/log, но мы можем задать дополнительные пути, пример:
LogFile = /home/httpd/access_log
LogFile = /home/httpd/error_log

##Задаём путь и ключ к система обработки почтовых сообщений
mailer = "/bin/mailx -t"

На этот настройка конфигурационного файла завершена. Осталось настроить файл для авторизации (ЕСЛИ НУЖНО) на почтовом сервере.

В домашней директории пользователя создаём файл .mailrc и задаём нужные параметры:

Если используется защищенное SSL/TLS соединение то нужно расскоментировать строчки ниже:

#set smtp-use-ssl/tls 
#set ssl-verify=ignore

Далее задаем имя домен (либо IP) порт, способ авторизации, email и пароль:

set smtp=smtp://mail.server.com:25 
set smtp-auth=login 
set smtp-auth-user=logwatch@mail.server.com 
set smtp-auth-password=qwerty123! 
set from="logwatch@mail.server.com(My server)"

Для безопасности меняем права на файл:

chmod 400 .mailrc

Теперь можем проверить работу выполнив команду:

# logwatch

Если будут ошибки то они будут отображены в терминале.

Для тестирования отправки можно также воспользоваться следующей командой:

echo "Test" | mail -v -s "Test message" admin@domain.com

В конечном итоге на указанный почтовый адрес нам должен придти отчёт. Если есть проблемы читаем ниже.

Cкрипт формирования отчёта и отправки автоматически создался во время установки пакета и помещается в директорию: /etc/cron.daily/0logwatch но на следующий день Вы не получите отчёта, более того добавление скрипта в crontab также не помогает, а проблема эта из-за переменных окружения, точнее путей, которые при работе через cron нужно указывать либо экспортировать.

Проблема решается редактированием файла

/etc/cron.daily/0logwatch
#!/bin/bash
export PATH=$PATH:/usr/sbin
..................................
.................................
then
 logwatch
fi

Теперь нам остаётся только по утрам открывать свою почту и просматривать отчёт.

P.S. если лог файл отличается от стандартного, лежит не в  /var/log/, а в ином место

$ nano /usr/share/logwatch/default.conf/logfiles/
 LogFile = apache/*access.log
 LogFile = /www/site1/logs/access*.log
 LogFile = /www/site2/logs/access*.log
 #LogFile = apache/*access.log.1
 #LogFile = apache2/*access.log.1
 LogFile = apache/error_log
 LogFile = /www/site1/logs/error*.log
 LogFile = /www/site2/logs/error*.log
 #LogFile = httpd/site1/_log
 #LogFile = httpd/site2/error_log............

Пример для OpenVPN:

/etc/logwatch/scripts/openvpn      - Logwatch perl module
/etc/logwatch/conf/openvpn.conf    - Configuration file

# cp /usr/share/logwatch/default.conf/services/openvpn.conf /etc/logwatch/conf/logfiles/

# cp /usr/share/logwatch/scripts/services/openvpn /etc/logwatch/scripts/services/

Проверяем

# logwatch --detail low --range today --service openvpn --debug 5
# logwatch --service openvpn --output stdout --debug 10

https://forum.sys-adm.in/index.php?topic=3808.0
http://www.itword.net/page/logwatch-linux
http://bflinux.blogspot.com/2011/07/logwatch-linux.html