Здравствуйте. Помогите решить проблему. Вторую неделю пытаюсь её решить, никак не получается.
Установил сервер мониторинга Zabbix, настроил триггер и действие - отправлять на E-mail и Jabber сообщение о перезагрузке наблюдаемой машины. Zabbix фиксирует перезагрузку машины, но сообщение не отсылает. Статус состояния триггера – «ПРОБЛЕМА».
Zabbix настраивал по официальному мануалу:
http://www.zabbix.com/wiki/howto/install/gentoo/gentoo
http://www.zabbix.com/documentation/ru/1.8.../email_settings
И информации из сети:
http://bsdadmin.ru/index.php/2010-01-07-11...ail-zabbix.html
Вот мои USE-флаги:
USE="-X -gtk -gnome -kde -qt3 -qt4 -ipv6 -cups –alsa mmx sse sse2 ssse3 bash-completion truetype logrotate threads unicode agent apache2 bcmath berkdb bzip2 curl frontend gd gdbm jabber ldap mysql pcre pdo perl readline server session smtp snmp ssl tokenizer vhosts xml zlib -sqlite3 bcmath berkdb bzip2 calendar cgi cjk cli crypt ctype curl curlwrappers dbase exif flatfile ftp gd gdbm hash iconv imap inifile iodbc json ldap mhash mysql mysqli ncurses nls odbc pcntl pcre pdo posix readline reflection session sharedext simplexml soap sockets spell spl ssl sysvipc threads tidy tokenizer truetype unicode wddx xml xmlrpc xxmlreader pm xsl zlib zip php apache2 php vroot fpm"
Может я забыл какой-нибудь флаг/дополнительную программу/специфическую настройку?
P.S.: Сама ОС Gentoo с Zabbix работает на VPS (OpenVZ), которая так же работает на ОС Gentoo.
Проблема с Zabbix и E-mail/Jabber (Не работает отправка уведомлений о состоянии серверов по E-mail/Jabber)
Модератор: /dev/random
-
neol
- Сообщения: 600
- ОС: Debian Stable
Re: Проблема с Zabbix и E-mail/Jabber
Может в логе что-то пишут?
-
ZyGsel
- Сообщения: 7
Re: Проблема с Zabbix и E-mail/Jabber
В логах нет ничего относящегося к E-mail и Jabber.
Может нужно писать самому скрипты для отправки?
Может нужно писать самому скрипты для отправки?
-
neol
- Сообщения: 600
- ОС: Debian Stable
-
ZyGsel
- Сообщения: 7
Re: Проблема с Zabbix и E-mail/Jabber
Вот что отображается в dashbord. Насколько я понимаю ничего страшного нет.
Нашёл сегодня в сети некий вариант решения проблемы:
Попробовал сегодня - работает (в смысле письмо приходит). Только оно какое-то странное. Нет темы и отправителя, а само письмо содержит только: "added by portage for zabbix". Возможно, я что-то не так настроил. Сейчас копаю в этом направлении.
P.S.: Вместо sendEmail использую ssmtp.
Плин, как будто сводки с линии фронта
Нашёл сегодня в сети некий вариант решения проблемы:
<...>
Все наверно догадались, что дальше необходимо настроить уведомления по e-mail на полученный выше адрес, но не все так просто. Zabbix не позволяет стандартными средствами отправлять уведомления по e-mail если smtp сервер требует аунтификацию.
Выход есть — использование сценариев которые можно найти на форуме Zabbix'a.
Я использовал вариант с sendEmail.
Создаем скрипт zabbix_sendemail с правами доступа 755
#!/bin/sh
export smtpemailfrom=zabbix@yourdomain.com
export zabbixemailto=$1
export zabbixsubject=$2
export zabbixbody=$3
export smtpserver=yoursmtpserver.com
export smtplogin=smtpuser
export smtppass=smtppassword
/usr/bin/sendEmail -f $smtpemailfrom -t $zabbixemailto -u $zabbixsubject -m $zabbixbody -s $smtpserver:25 -xu $smtplogin -xp $smtppass
подставив необходимые данные и сохраняем его в каталоге который указан в качестве AlertscriptsPath в файле конфигурации /etc/zabbix/zabbix_server.conf
### Option: AlertscriptsPath
# Location of custom alert scripts
#
# Mandatory: no
# Default:
AlertscriptsPath=/home/zabbix/bin/
Следующим действием необходимо создать новый Тип средства передачи в меню Администрирование — Типы средств передачи.
<...>
Попробовал сегодня - работает (в смысле письмо приходит). Только оно какое-то странное. Нет темы и отправителя, а само письмо содержит только: "added by portage for zabbix". Возможно, я что-то не так настроил. Сейчас копаю в этом направлении.
P.S.: Вместо sendEmail использую ssmtp.
Плин, как будто сводки с линии фронта
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
neol
- Сообщения: 600
- ОС: Debian Stable
Re: Проблема с Zabbix и E-mail/Jabber
ssmtp - это вроде только для локальной отправки (не вешается на 25 порт)? Если так, то работать стандартными средствами оно не будет.
-
serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
Re: Проблема с Zabbix и E-mail/Jabber
ssmtp - это не полноценный MTA. Он не выполняет локальную доставку. И ему нужно указать в конфиге мейл-хаб для работы.
-
ZyGsel
- Сообщения: 7
Re: Проблема с Zabbix и E-mail/Jabber
Решил проблему с отправкой сообщений. Это решение кривовато, но для простых задач вполне сносно.
Система «Zabbix» не позволяет стандартными средствами отправлять почтовые сообщения на SMTP-сервера требующие аутентификацию. Для того чтобы решить данную проблему необходимо написать вой скрипт отправки сообщений, который будет запускать «Zabbix» при наступлении такого события.
Вначале необходимо установит, и настроить консольный почтовый клиент, который будет отсылать уведомляющее сообщение. Клиент должен уметь работать с протоколом SMTP. Одним из возможных клиентов является «email».
Затем, необходимо провести его настройку. Для этого редактируем файл «/etc/email/email.conf». Нас интересуют следующие строки:
SMTP_SERVER = '<адрес smtp-сервера, через который будут отправляться сообщения>'
SMTP_PORT = '<порт, по умолчанию - 25>'
MY_NAME = '<Имя пользователя/сервиса, от которого будут приходить сообщения>'
MY_EMAIL = 'Адрес отправителя, должен совпадать с SMTP_AUTH_USER'
SMTP_AUTH = 'LOGIN'
SMTP_AUTH_USER = <Логин>
SMTP_AUTH_PASS = <Пароль>
Настраиваем «Zabbix». В файле конфигурации «/etc/zabbix/zabbix_server.conf» ищем строчку AlertScriptsPath и указываем в ней путь, где будут лежать скрипты для отправки сообщений.
Например: AlertScriptsPath=/home/zabbix/
Следующим действием необходимо создать новый "Тип средства передачи" в меню «Администрирование — Типы средств передачи».
Описание - send email;
Тип - Сценарий;
Название скрипта - zabbix_sendemail;
Далее необходимо добавить это средство передачи конкретному пользователю и настроить этот тип передачи на конкретный триггер.
В папке, указанной в «AlertScriptsPath» создаём скрипт с именем как в «Название скрипта». В нашем случае это «zabbix_sendemail». В файле «zabbix_sendemail» пишем следующее:
#!/bin/bash
echo "<Сообщение оповещения>" | email -s "<Заголовок письма>" <Адрес, куда отправляем E-mail>
Добавляем скрипту права доступа:
chmod 0755 zabbix_sendemail
Всё, система будет отсылать сообщения с уведомлением на указанный почтовый адрес при срабатывании триггера.
Система «Zabbix» не позволяет стандартными средствами отправлять почтовые сообщения на SMTP-сервера требующие аутентификацию. Для того чтобы решить данную проблему необходимо написать вой скрипт отправки сообщений, который будет запускать «Zabbix» при наступлении такого события.
Вначале необходимо установит, и настроить консольный почтовый клиент, который будет отсылать уведомляющее сообщение. Клиент должен уметь работать с протоколом SMTP. Одним из возможных клиентов является «email».
Затем, необходимо провести его настройку. Для этого редактируем файл «/etc/email/email.conf». Нас интересуют следующие строки:
SMTP_SERVER = '<адрес smtp-сервера, через который будут отправляться сообщения>'
SMTP_PORT = '<порт, по умолчанию - 25>'
MY_NAME = '<Имя пользователя/сервиса, от которого будут приходить сообщения>'
MY_EMAIL = 'Адрес отправителя, должен совпадать с SMTP_AUTH_USER'
SMTP_AUTH = 'LOGIN'
SMTP_AUTH_USER = <Логин>
SMTP_AUTH_PASS = <Пароль>
Настраиваем «Zabbix». В файле конфигурации «/etc/zabbix/zabbix_server.conf» ищем строчку AlertScriptsPath и указываем в ней путь, где будут лежать скрипты для отправки сообщений.
Например: AlertScriptsPath=/home/zabbix/
Следующим действием необходимо создать новый "Тип средства передачи" в меню «Администрирование — Типы средств передачи».
Описание - send email;
Тип - Сценарий;
Название скрипта - zabbix_sendemail;
Далее необходимо добавить это средство передачи конкретному пользователю и настроить этот тип передачи на конкретный триггер.
В папке, указанной в «AlertScriptsPath» создаём скрипт с именем как в «Название скрипта». В нашем случае это «zabbix_sendemail». В файле «zabbix_sendemail» пишем следующее:
#!/bin/bash
echo "<Сообщение оповещения>" | email -s "<Заголовок письма>" <Адрес, куда отправляем E-mail>
Добавляем скрипту права доступа:
chmod 0755 zabbix_sendemail
Всё, система будет отсылать сообщения с уведомлением на указанный почтовый адрес при срабатывании триггера.