URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 91333
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Отправка сообщений Syslog на почту"

Отправлено auto_tips , 22-Авг-13 11:31 
Возникла необходимость рассылать некоторые уведомления из Syslog-a на почту. К сожалению такой функциональности по умолчанию в systlg не было. Порывшись в интернете нашел два способа решения проблемы.

*** замена Syslog на  [[http://www.rsyslog.com Rsyslog]]  с использованием модуля [[http://www.rsyslog.com/doc/ommail.html ommail]]
*** Написание скрипта для крона, который будет отслеживать изменения в логах с дальнейшей отправкой.

Ни один из методов не показался интересным, поэтому вернулся к руководству.
В руководстве наткнулся на следующее:
[]
   The action field of each line specifies the action to be taken when the
   selector field selects a message.  There are five forms:
   A vertical bar ("|"), followed by a command to pipe the selected messages to.
[
]

То есть, "можно перенаправить сообщение на команду".
В связи с чем появилась первая попытка

   console.*        |mail -s "info" "user@mail.net"

Закончившаяся фиаско, так как сообщения накапливались в буфере и отправка происходила только после рестарта самого сислога.

После чего было решено использовать простой скрипт

   console.*         /var/log/console.log
   console.*         |/home/user/toor/sysmail.sh

где сам sysmail.sh

   #!/usr/local/bin/bash
   read data
   echo $data | mail -s "info" "user@mail.net"

В итоге получаем следующее.
События записываются в файл на системе и отсылаются на почту user@mail.net с темой info.

URL:
Обсуждается: http://www.opennet.me/tips/info/2793.shtml


Содержание

Сообщения в этом обсуждении
"Отправка сообщений Syslog на почту"
Отправлено NA , 22-Авг-13 11:31 
#!/usr/local/bin/bash

Сколько бздешников не учи все они полные пути пишут. Универсальные способы работающие везде не знают:

#!/usr/bin/env bash


"Отправка сообщений Syslog на почту"
Отправлено Аноним , 24-Авг-13 19:30 
Если он BSDшник, то надо так:
#!/bin/sh

"Отправка сообщений Syslog на почту"
Отправлено Jordan , 25-Авг-13 13:30 
В следующий раз напишу
C:\

"Отправка сообщений Syslog на почту"
Отправлено Аноним , 27-Авг-13 00:11 
Это от того, что ты сам не особо в теме, а других учишь. Выглядит это довольно глупо. Вот поэтому люди тебя и не слушают. Прошерсти современные дистрибутивы линукс на предмет использования env и поучи дистростроителей жить. О результатах не забудь написать сюда.

"Отправка сообщений Syslog на почту"
Отправлено Michael Shigorin , 26-Авг-13 01:34 
Субъективно при возникновении подобных хотелок действительно лучше сразу смотреть на rsyslog.

На линуксе с не сильно древними coreutils для подкрутки буфера до строчного можно воспользоваться запуском mail(1) из-под stdbuf(1).


"Отправка сообщений Syslog на почту"
Отправлено pavlinux , 28-Авг-13 15:21 
Не, сислог уже отстой, rsyslog рулит!

cat /etc/rsyslog.d/sshd.conf


$ModLoad ommail
$ActionMailSMTPServer 127.0.0.1
$ActionMailFrom syslog@ibm.com
$ActionMailTo   pavlinux@ibm.com
$template mailSubject,"SSH Login: %hostname%"
$template mailBody,"RSYSLOG Achtung!!!\r\n'%msg%'"
$ActionMailSubject mailSubject
$ActionExecOnlyOnceEveryInterval 60

if $programname == 'sshd' then :ommail:;mailBody

#### Или в отдельный файл.
# if $programname == 'sshd' then /var/log/sshd.log



"Отправка сообщений Syslog на почту"
Отправлено GMS , 15-Сен-13 18:58 
Ну, или syslog-ng

"Отправка сообщений Syslog на почту"
Отправлено Гость , 21-Сен-13 01:13 
Под фрей не вариант:

R-deps:    eventlog-0.2.12 gettext-0.18.3 glib-2.36.3 libffi-3.0.13 libiconv-1.14_1 openssl-1.0.1_8 pcre-8.33 perl-5.14.4 python-2.7_1,2 python2-2_1 python27-2.7.5_3

Нравится идея ставить питон и перл на каждого хоста/гостя?