zabbix agent2 cusctom check script

no need for discovery nor prototypes

script setup

enable local scripts on the agent

cd /etc/zabbix/
vi zabbix_agent2.conf

AllowKey=system.run[/etc/zabbix/*]

write you custom check script

cd /etc/zabbix/
vi check_processes.bash
#!/bin/bash

[[ ! -r /etc/zabbix/processes.list ]] && echo error: cannot read /etc/zabbix/processes.list && exit 1

for process in `grep --no-filename -vE '^#|^$' /etc/zabbix/processes.list /etc/zabbix/processes.local.list 2>/dev/null`; do
    echo -ne " process $process\t"
        pgrep $process >/dev/null && echo OK || echo NOK
done; unset process
chmod +x check_processes.bash

template setup

data collection > templates

template
name        check process
groups      templates/applications

item
name        check process item
type        zabbix agent
key     system.run[/etc/zabbix/check_processes.bash]
type        text
interval    1m

trigger
name        check process trigger
severity    warning
expression  find(/check_processes/system.run[/etc/zabbix/check_processes.bash],,"regexp","NOK")<>0

find(/check public brute forces/system.run[check_attackers_public.bash],,"regexp","NOK")<>0

usage

you are now good to apply the check_processes templates to hosts and add processes you want to monitor on every server

vi /etc/zabbix/processes.list

sshd
sshguard
vmtoolsd

vi /etc/zabbix/processes.local.list

some-specific-daemon-name

resources


HOME | GUIDES | LECTURES | LAB | SMTP HEALTH | HTML5 | CONTACT
Licensed under MIT