Знаю что есть шаблон для мониторинга postfix сервера с трафиком, письмами т .д., но в данном случае понадобилось просто смотреть сколько писем в очереди, что я и сделал.
Для просмотра очереди используют либо mailq либо postqueue. Не знаю чем они отличаются, но у меня mailq всегда показывает пустую очередь, а postqueue в то же время показывает наличие очереди.
Итак, для начала проверим что нам выдаст команда
1 | postqueue -p |
Если видим что-то вроде
1 2 3 4 | -Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient------- 1747D7805C66 49562 Mon Jan 27 16:00:55 .... -- 48 Kbytes in 1 Request. |
Значит postqueue нам подходит, кастомизируем ее вывод
1 | postqueue -p | grep -v "Mail queue is empty" | grep -c '^[0-9A-Z]' |
Это позволит получить нам просто цифру, количество писем в очереди.
Теперь на сервере postfix в конфиг заббикс агента добавляем строку:
1 | UserParameter=postfix.postqueue,postqueue -p | grep -v "Mail queue is empty" | grep -c '^[0-9A-Z]' |
postfix.postqueue — это название ключа, по которому мы обратимся из нашего item. Рестарт zabbix-agent
1 | systemctl restart zabbix-agent |
Переходим к настройкам zabbix. Создаем новый item, выглядеть он будет вот так:
Проверяем получает ли он данные и если нужно делаем график.