[[ Мониторинг Postfix в Zabbix ]]

ZabbixPostfix

Мониторинг Postfix в Zabbix

Использовалась OS Gentoo Linux

net-analyzer/zabbix-2.0.8
mail-mta/postfix-2.10.1
net-mail/pflogsumm-1.1.5

Установка pflogsumm

Установка pflogsumm

emerge net-mail/pflogsumm-1.1.5 -av

Утилита анализирует mail.log файл и выводит результат

pflogsumm /var/log/mail.log -d today

Установка скрипта

Создание папки для скриптов

mkdir /etc/zabbix/scripts/
chown root:zabbix -R /etc/zabbix/scripts/
chmod 750 /etc/zabbix/scripts/

Создадим сам скрипт:

Листинг

Скрипт предусматривает кэш, что позволяет избежать парсинга лога на каждый параметр.
Время действия кэша (TTLCACHE) в секундах должно устанавливается чуть меньше чем минимальный период опроса элементов.
При первом запуске (или удалении кэш файла) будет лишь создан пустой файл, и опрос элементов может быть возможен только после истечения кэша (TTLCACHE).

Установка прав

chown root:zabbix /etc/zabbix/scripts/postfix.sh
chmod 550 /etc/zabbix/scripts/postfix.sh

Настройка прав пользователю zabbix в sudo

/etc/sudoers

...

##### CUSTOM #####
zabbix ALL=(ALL) NOPASSWD: /bin/cat /var/log/mail.log

Проверить работу скрипта для zabbix, но сначала надо создать 'старый' кэш файл не нулевого размера:

sudo -u zabbix touch /tmp/zabbix.postfix.cache
echo "" >> /tmp/zabbix.postfix.cache
sudo -u zabbix touch -m -d '2000-01-01 01:01' /tmp/zabbix.postfix.cache
sudo -u zabbix /etc/zabbix/scripts/postfix.sh queue
sudo -u zabbix /etc/zabbix/scripts/postfix.sh received

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

Следует увеличить параметр Timeout в Zabbix Agent, что бы скрипт гарантированно успевал отработать

Настройка Zabbix Agent

Настройка

/etc/zabbix/zabbix_agentd.conf

...
UserParameter=postfix[*],/etc/zabbix/scripts/postfix.sh "$1"

Перезапустить

/etc/init.d/zabbix-agentd restart

Проверка

zabbix_get -s HOST -k 'postfix[received]'
zabbix_get -s HOST -k 'postfix[queue]'

Настройка Zabbix Server

Для контролируемых данных в Zabbix нужно создать соответствующее элементы с типом «Zabbix агент» и ключом типа:

postfix[key]

где key - контролируемая метрика

Готовый Шаблон для мониторинга Postfix (agent) с уже настроенными элементами и графиками.


Обсуждение

Андрей Макаренко, 2015/11/25 17:01

В смысле только 2 ключа таким образом будут работать?

Aleksey, 2015/12/02 15:35, 2015/12/02 15:36

Нет, это только пример для проверки. см. шаблон для мониторинга

Параметры, что хотите грепать из отчета pflogsumm, то и указывайте

awk "BEGIN{IGNORECASE=1} /${METRIC}/ {print \$1}" ${CACHE_FILE} | awk '{print $1}' | awk '/k|m/{p = /k/?1:2}{printf "%d\n", int($1) * 1024 ^ p}' | head -n1
Андрей, 2016/02/11 14:28

огромное спасибо за статью! Все настроили, шаблон импортировали - красота!

Ваш комментарий. Вики-синтаксис разрешён:
26 -1 =
 
howto/zabbix/zabbix_postfix_monitoring.txt · Последнее изменение: 2022/08/31 14:53 — 127.0.0.1
Gentoo Linux Gentoo Linux Driven by DokuWiki