This project is composed by a shell script, a Zabbix template and a sudoers configuration file:
- The shell script reads values from
postal status
command and sends it to the Zabbix Server via Agent. - The template has items that receives those values and activates triggers.
- The sudoers configuration is needed to execute
postal status
command with privileges to read the status. This repository was created using Zabbix 3.4.9 and Postal at 2017 December 5th version, in a GNU/Linux CentOS 7 OS.
- Get server start time.
- Get processes (web, fast, workers, cron, smtp and requeuer) status, as informed in
postal status
command - Receive an alert if any process status is different from
Running
.
Note that this initial release is configured to have 1 web, fast, cron, smtp and requeuer processes, and 5 workers. If you want to monitor a different number of processes, you'll need to manually change the configuration while the template doesn't have autodiscovery rules.
- Get a process number of respawns, to send alerts if it's greater than zero.
- Process respawn trigger.
- Process discovery_rules, to automatically add processes to zabbix if we add more processes to postal (like more workers).
-
Download the necessary files or clone this project anywhere zabbix user can access. It's configured by default in
/etc/zabbix/lib/postal-zabbix
, but you can place it anywhere you want that zabbix user has access. -
Put
zabbix-agentd.d/postal-zabbix.conf
in zabbix agent directory, normally/etc/zabbix/zabbix-agentd.d/
. Edit this file if you don't use the default/etc/zabbix/lib/postal-zabbix
folder. -
Put
sudoers.d/zabbix_postal
in the sudoers folder, normally/etc/sudoers.d
. Edit this file if you don't use default folders. -
Now restart the Zabbix agent service.
-
Import
template/postal-template.xml
in Zabbix and assign it to your postal server host.
Feel free to send bug reports and feature requests. If you are using this solution in production, please tell me to know it's being useful.