abrtd - демон, который следит за крэшами программулин и в случае крэша делает core dump и сохраняет всякий другой полезный в отладке stuff. И - самое полезное - от может уведомлять нас сразу же о проблеме и даже аплоадить дебаг инфу на багзиллу или нужный ftp/scp сервер.
Постановка задачи - настроить в abrt отправку писем при обнаружении крэша кастомного софта на сервере.
Для начала установим необходимые пакеты.
yum install abrt-addon-ccpp abrt-addon-python abrt-cli abrt-plugin-logger abrt-plugin-mailx abrt-tui abrt
Если это для вас важно, то следует заметить, что установка abrt меняет kernel core_pattern:
cat /proc/sys/kernel/core_pattern
/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e
Добавим в автозагрузку демона abrtd:
chkconfig abrtd on
chkconfig abrt-ccpp on
chkconfig abrt-oops on
Конфигурационные файлы abrt находятся в директориях:
/etc/abrt/abrt-action-save-package-data.conf - меняем значения:
OpenGPGCheck = no # говорим обрабатывать краши и не подписанных файлов
ProcessUnpackaged = yes # обрабатывать файлы, не принадлежащие пакетам rpm
/etc/libreport/events.d/abrt_event.conf здесь добавляем обработчики ивентов в конец файла:
EVENT=notify reporter-mailx
EVENT=notify_dup reporter-mailx
Subject="[ABRT] crash in Example server detected"
EmailFrom=monitoring@example.com
EmailTo=admin@example.com,progger@example.com
Посмотреть отчет о произошедших проблемах можно командой:
abrt-cli list -f
А сами проблемы лежат в подпапках /var/spool/abrt/ccpp-*
Кстати, проблемы от одних и тех же источников abrt считает дубликатами и удаляет.
Постановка задачи - настроить в abrt отправку писем при обнаружении крэша кастомного софта на сервере.
Для начала установим необходимые пакеты.
yum install abrt-addon-ccpp abrt-addon-python abrt-cli abrt-plugin-logger abrt-plugin-mailx abrt-tui abrt
cat /proc/sys/kernel/core_pattern
/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e
Добавим в автозагрузку демона abrtd:
chkconfig abrtd on
chkconfig abrt-ccpp on
chkconfig abrt-oops on
Конфигурационные файлы abrt находятся в директориях:
- /etc/libreport/ - хранит конфиги связанные с репортами
- /etc/libreport/events.d/ - здесь лежат описания ивентов и реакции на них
- /etc/libreport/events/ - описание т. н. репортеров
- /etc/libreport/plugins/
- /etc/abrt/ - конфиги самого демона abrtd
- /etc/abrt/plugins/ - конфиги плугинов abrt.
/etc/abrt/abrt-action-save-package-data.conf - меняем значения:
OpenGPGCheck = no # говорим обрабатывать краши и не подписанных файлов
ProcessUnpackaged = yes # обрабатывать файлы, не принадлежащие пакетам rpm
/etc/libreport/events.d/abrt_event.conf здесь добавляем обработчики ивентов в конец файла:
EVENT=notify reporter-mailx
EVENT=notify_dup reporter-mailx
/etc/libreport/plugins/mailx.conf - здесь лежат настройки для отправки писем.
Subject="[ABRT] crash in Example server detected"
EmailFrom=monitoring@example.com
EmailTo=admin@example.com,progger@example.com
В принципе, для работы этого достаточно. Но можно настроить на ивенты и заливку крэш-данных на свой фтп-сервер и на багзиллу.
Посмотреть отчет о произошедших проблемах можно командой:
abrt-cli list -f
А сами проблемы лежат в подпапках /var/spool/abrt/ccpp-*
Кстати, проблемы от одних и тех же источников abrt считает дубликатами и удаляет.