Настройка sendmail для отправки рутовых уведомлений

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

Эта инструкция применима как к опубликованным Web серверам так и к внутренним локальным серверам (ниже инструкция для FreeBSD 8.2).

Все по порядку, проверяем установлен ли sendmail (далее SM):

[cc lang=’bash’ ]

service sendmail status
sendmail_submit is running as pid 902.
sendmail_clientmqueue is running as pid 913.

[/cc]

Это означает что сервис SM присутствует и запущен. Если не запущен то делаем start. Если не установлен то скорее всего должен присутствовать другой MTA (Mail Transfer Agent), например Postfix (как в suse enterprise), его мы настроим в другой статье.

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

В Unix системах существуют так называемые алиасы (alisses) — нужны они для сопоставления имен и адресов. Так как система отправляет всю почту через MTA в локальную папку пользователя root, то нам нужно просто перенаправить всю рутовую почту на алиас (другой почтовый адрес). Заходим в папку /etc/mail/ и открываем на редактирование файл alises.

/etc/mail/

Добавляем строчки как в скриншоте (levkin можно заменить на что угодно):

/etc/mail/aliases

Далее находясь в /etc/mail/ выполним команду

[cc lang=’bash’ ]newaliases[/cc]

После этого новые алиасы применятся к системе. Рестартнем еще на всякий sendmail:

[cc lang=’bash’ ]service sendmail restart[/cc]

Пробуем отправить почту:

[cc lang=’bash’ ]echo «test text» | mail -s testtema root[/cc]

Проверим лог после отправки:

[cc lang=’bash’ ]cat /var/log/maillog[/cc]

Mar 19 16:21:58 web01 sendmail[25209]: q2JCLwdE025209: from=levkin, size=33,, nrcpts=1, msgid=<201203191221.q2JCLwdE025209@web01.domain.ru>, relay=root@localhost
 Mar 19 16:21:58 web01 sm-mta[25210]: q2JCLw6b025210: from=<levkin@web01.domain.ru>, size=364,, nrcpts=1, msgid=<201203191221.q2JCLwdE025209@web01.domain.ru>, proto=ESMTP, daemon=IPv4, relay=localhost [127.0.0.1]
 Mar 19 16:21:58 web01 sendmail[25209]: q2JCLwdE025209: to=root, ctladdr=levkin (1005/1005), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30033, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (q2JCLw6b025210 Message accepted for delivery)
 Mar 19 16:21:59 web01 sm-mta[25211]: q2JCLw6b025210: to=unixrootreports@domain.ru, ctladdr=<levkin@web01.domain.ru> (1005/1005), delay=00:00:01, xdelay=00:00:00, mailer=esmtp, pri=30628, relay=relay.domain.ru. [xxx.xxx.xxx.xxx], dsn=2.0.0, stat=Sent (Ok, message saved <Message-ID: 201203191221.q2JCLwdE025209@web01.domain.ru>)

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

Все. Я таким образом настроил несколько серверов, что позволяет мне более оперативно реагировать на оповещения и устранять вовремя проблемы, в общем всем советую!

Если есть вопросы, задавайте!

Оставить комментарий


Примечание - Вы можете использовать эти HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>