zabbix/README.md

60 lines
2.3 KiB
Markdown

# zabbix
## Setting Up Monitoring for a Postfix Service
### On the Mail Server
1. Edit the Zabbix agent configuration file:
`vim /etc/zabbix/zabbix_agent2.d/postfix.conf`
2. Add the following line:
`UserParameter=postfix.running,script /tmp/postfix-script-zabbix.log -qc 'sudo postfix status' | grep -c 'PID'`
3. Ensure your Zabbix agent is configured for active checks by checking these parameters in your `/etc/zabbix/zabbix_agent2.conf`:
```
ServerActive=your_zabbix_server_ip
HostnameItem=system.hostname
```
4. Restart the Zabbix agent:
`systemctl restart zabbix-agent2`
5. Check the status of the Zabbix agent:
`systemctl status zabbix-agent2`
The mail server's Zabbix agent will now collect the Postfix status using a script command and report that data back to the Zabbix server. The Zabbix server must then be configured to processes this information and handle alerting.
### In the Zabbix web interface:
1. Create a new item for your host
`Data collection -> Hosts -> Items (column next to the desired host) -> Create item (at top right)`
2. Set the following parameters:
- Name: `Monitor postfix service`
- Type: `Zabbix agent (active)`
- Key: `postfix.running`
- Type of information: `Text`
- Description (optional): `Monitor postfix service.`
![sample-config-item](sample-config/postfix.running-zabbix-item.png)
3. Click "Add" to save the item
4. Create a trigger based on the return value
`Data collection -> Hosts -> Triggers (column next to the desired host) -> Create trigger (at top right)`
5. Set the following parameters (Replace instances of `mail_server_hostname` with your actual host name in Zabbix):
- Name: `Postfix service is not running on {HOST.NAME}`
- Severity: `High`
- Problem expression: `last(/mail_server_hostname/postfix.running)=0`
- OK event generation: `Recovery expression`
- Recovery expression: `last(/mail_server_hostname/postfix.running)>0`
- PROBLEM event generation mode: `Single`
- OK event closes: `All problems`
- Description (optional): `Postfix has stopped running.`
![sample-config-trigger](sample-config/postfix.running-zabbix-trigger.png)
6. Click "Add" to save the trigger
This trigger will fire when the Postfix check returns 0 (not running) and will automatically resolve when the check returns a value greater than 0 (running).