Ctrl + ↑ Позднее

Настройка отправки email уведомлений в zabbix 2.4

Введение

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

Использовать в такой ситуации публичные сервера не получится. Это неудобно и не практично. Мне зачастую не хочется возиться с настройкой почтового сервера, гораздо удобнее и быстрее воспользоваться готовым. Этим мы и займемся далее — научим zabbix отправлять email уведомления с авторизацией на smtp сервере.

Настройка ssmtp для авторизации на почтовом сервере

Для отправки уведомлений на почту с помощью smtp авторизации нам понадобится почтовый клиент ssmtp. Установим его:

sudo apt-get install -y ssmtp

Теперь нужно настроить почтовый клиент на отправку писем через указанную учетную запись. Для этого открываем файл /etc/ssmtp/ssmtp.conf и приводим его к следующему виду для отправки через почтовый сервер Яндекса:

sudo mcedit ssmtp.conf
root=zabbix@zeroxzed.ru
mailhub=smtp.yandex.ru:465
AuthUser=zabbix@zeroxzed.ru
AuthPass=password
AuthMethod=LOGIN
FromLineOverride=YES
UseTLS=YES
RewriteDomain=zeroxzed.ru
Hostname=zeroxzed.ru
Debug=YES
TLS_CA_File=/etc/pki/tls/certs/ca-bundle.crt
В данном примере я использую почтовый домен zeroxzed.ru, он у меня прикреплен к Яндексу и обслуживается им. Если у вас обычный почтовый ящик, используйте адрес вида mailbox@yandex.ru.

Если вы хотите использовать учетную запись gmail то настройки ssmtp должны быть следующие:

root=mailbox@gmail.com
mailhub=smtp.gmail.com:587
RewriteDomain=gmail.com
AuthUser=mailbox
AuthPass=parolchik
Hostname=gmail.com
UseSTARTTLS=YES
AuthMethod=LOGIN
FromLineOverride=YES
UseTLS=YES
Debug=YES
TLS_CA_File=/etc/pki/tls/certs/ca-bundle.crt

И редактируем там же файл revaliases, добавляя одну строку для яндекса:

root:zabbix@zeroxzed.ru:smtp.yandex.ru:465

И для gmail:

root:mailbox@gmail.com:smtp.gmail.com:587

Теперь проверим работу почтового клиента. Отправляем через консоль тестовое письмо:

echo «test_message» | ssmtp -v zeroxzed@gmail.com

[<-] 220 smtp3m.mail.yandex.net ESMTP
[->] EHLO zeroxzed.ru
[<-] 250 ENHANCEDSTATUSCODES
[->] AUTH LOGIN
[<-] 334 VXNlcb5hbDU6
[->] emFiYml4QEplcm94tmVkLnJ1
[<-] 334 UGFzR3dvc2Q6
[<-] 235 2.7.0 Authentication successful.
[->] MAIL FROM:
[<-] 250 2.1.0  ok
[->] RCPT TO:
[<-] 250 2.1.5  recipient ok
[->] DATA
[<-] 354 Enter mail, end with "." on a line by itself
[->] Received: by zeroxzed.ru (sSMTP sendmail emulation); Thu, 05 Nov 2015 18:32:18 +0300
[->] From: «root» 
[->] Date: Thu, 05 Nov 2015 18:32:18 +0300
[->] test_message
[->]
[->] .
[<-] 250 2.0.0 Ok: queued on smtp3m.mail.yandex.net as 1446737539-AXVW9QixF9-WJAWKNV9
[->] QUIT
[<-] 221 2.0.0 Closing connection.
Когда писал статью, не думал, что мне будут приходить на почту тестовые письма. Но долгое время не мог понять, что за сообщения с текстом test_message периодически прилетают в почту. Теперь понял, что это копипастом с этой статьи люди мне шлют тестовые письма. Не забывайте менять адрес получателя, мне ваши тестовые письма ни к чему :)

Все в порядке, письмо улетело. Если что, логи работы почтового клиента можно посмотреть в файле /var/log/maillog.

Email script для отправки оповещений

Отправлять почтовые уведомления из zabbix будем с помощью скрипта. Первым делом выясним, где наш заббикс хранит скрипты для оповещений. Для этого открываем файл конфигурации и ищем там строку AlertScriptsPath:

cat /etc/zabbix/zabbix_server.conf | grep AlertScriptsPath
AlertScriptsPath=/usr/lib/zabbix/alertscripts

Идем в указанную папку и создаем там скрипт отправки уведомлений на почту:

mcedit /usr/lib/zabbix/alertscripts/mail.sh
#!/bin/sh
export smtpemailfrom=zabbix@zeroxzed.ru
echo «To: $1» > /tmp/mymailinput
echo «Subject: $2» >> /tmp/mymailinput
echo «Content-Type: text/plain; charset=»utf-8«» >> /tmp/mymailinput
echo «From: \»Zabbix Zeroxzed\«<$smtpemailfrom>» >> /tmp/mymailinput
echo «» >> /tmp/mymailinput
echo „$3“ >> /tmp/mymailinput
/usr/sbin/ssmtp $1 -F $smtpemailfrom < /tmp/mymailinput

Не забудьте указать свой почтовый адрес и поле отправителя From. Сохраняем скрипт и делаем его исполняемым:

chmod 0777 mail.sh

Настройка в Zabbix отправки уведомлений


Теперь идем в web интерфейс zabbix и настраиваем отправку оповещений на почту с smtp авторизацией. Для этого переходим в раздел Administration -> Media types и нажимаем на ссылку Email:

Заполняем необходимые параметры как на картинке:

Name Email
Type Script
Script name mail.sh

Сохраняем настройки, нажав Update. Дальше идем в раздел Administration -> Users. Меняем отображение с групп на пользователей:

Нажимаем на пользователя Admin и переходим на вкладку Media, там жмем на add. Откроется окно добавления источника оповещений. Заполняем как на картинке:

Нажимаем Update. Затем в разделе Media пользователя Admin еще раз жмем Update для применения настроек:

Теперь последний штрих, который лично я частенько забываю сделать, а потом долго разбираюсь, почему zabbix не отправляет оповещения на почту. Идем в раздел Configuration -> Actions и в единственной строке Report problems to Zabbix administrators жмем на Disabled в столбце статус, чтобы он стал Enabled:

Теперь все готово. Надо ждать срабатывания тригера и проверять почту. После срабатывания тригера и отправки заббиксом письма, в системном почтовом логе /var/log/maillog должны появиться записи об этом.

Отсюда: http://serveradmin.ru/nastroyka-email-opoveshheniy-v-zabbix/

2016   email   linux   mail   ubuntu   yandex   zabbix
2016   ubuntu

vestacp и php7

sudo su
apt-get update -y && apt-get upgrade -y
apt-get install mc htop -y
curl -O http://vestacp.com/pub/vst-install.sh 
bash vst-install.sh
apt-get update -y
apt-get remove php5-common
apt-get -y purge php5
apt-get install python-software-properties -y
add-apt-repository ppa:ondrej/php
apt-get update
apt-get install curl sqlite3 php7.0 libsqlite3-dev php-pear php7.0-curl php7.0-sqlite3 libssh2-1 php-ssh2 libapache2-mod-php php7.0-mbstring php7.0-gmp php-mysql
php -v
service nginx restart
service apache2 restart
2016   php   php7   vestacp

Иконки с icons8.com

  • Открываем нужную иконку (https://icons8.com/web-app/529/contacts), выбираем нужный цвет.
  • Смотрим код элемента (в нашем случае иконки).
  • Копируем тег svg, например:
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" enable-background="new 0 0 50 50">
<path style="text-indent:0;text-align:start;line-height:normal;text-transform:none;block-progression:tb;-inkscape-font-specification:Bitstream Vera Sans" d="M 42.875 8.625 A 1.0001 1.0001 0 0 0 42.78125 8.65625 A 1.0001 1.0001 0 0 0 42.15625 9.125 L 21.71875 40.8125 L 7.65625 28.125 A 1.0001 1.0001 0 1 0 6.34375 29.59375 L 21.25 43.09375 A 1.0001 1.0001 0 0 0 22.75 42.875 L 43.84375 10.1875 A 1.0001 1.0001 0 0 0 42.875 8.625 z" color="#000" overflow="visible" enable-background="accumulate" font-family="Bitstream Vera Sans"></path>
</svg>
  • Вставляем в файл test.svg
    Файл test.svg:
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<svg width="256px" height="256px" viewBox="0 0 50 50">
<path d="M30.933,32.528c-0.146-1.612-0.09-2.737-0.09-4.21c0.73-0.383,2.038-2.825,2.259-4.888c0.574-0.047,1.479-0.607,1.744-2.818 c0.143-1.187-0.425-1.855-0.771-2.065c0.934-2.809,2.874-11.499-3.588-12.397c-0.665-1.168-2.368-1.759-4.581-1.759 c-8.854,0.163-9.922,6.686-7.981,14.156c-0.345,0.21-0.913,0.878-0.771,2.065c0.266,2.211,1.17,2.771,1.744,2.818 c0.22,2.062,1.58,4.505,2.312,4.888c0,1.473,0.055,2.598-0.091,4.21C19.367,37.238,7.546,35.916,7,45h38 C44.455,35.916,32.685,37.238,30.933,32.528z"></path>
</svg>
  • Получаем векторную иконку.

Для цветных это работает точно так-же.

2016   icons8   svg   иконки
Ctrl + ↓ Ранее