Zabbix::Check - System and service checks for Zabbix
version 1.12
System and service checks for Zabbix
UserParameter=cpan.zabbix.check.installed,/usr/bin/env bash -c "/usr/bin/env perl -MZabbix::Check 2>/dev/null; if [ \$? -eq 0 ]; then echo 1; else echo 0; fi"
UserParameter=cpan.zabbix.check.version,/usr/bin/env perl -MZabbix::Check -e_version
# Disk
UserParameter=cpan.zabbix.check.disk.discovery,/usr/bin/env perl -MZabbix::Check::Disk -e_discovery
UserParameter=cpan.zabbix.check.disk.bps[*],/usr/bin/env perl -MZabbix::Check::Disk -e_bps -- $1 $2
UserParameter=cpan.zabbix.check.disk.iops[*],/usr/bin/env perl -MZabbix::Check::Disk -e_iops -- $1 $2
UserParameter=cpan.zabbix.check.disk.ioutil[*],/usr/bin/env perl -MZabbix::Check::Disk -e_ioutil -- $1
# Supervisor
UserParameter=cpan.zabbix.check.supervisor.installed,/usr/bin/env perl -MZabbix::Check::Supervisor -e_installed
UserParameter=cpan.zabbix.check.supervisor.running,/usr/bin/env perl -MZabbix::Check::Supervisor -e_running
UserParameter=cpan.zabbix.check.supervisor.worker_discovery,/usr/bin/env perl -MZabbix::Check::Supervisor -e_worker_discovery
UserParameter=cpan.zabbix.check.supervisor.worker_status[*],/usr/bin/env perl -MZabbix::Check::Supervisor -e_worker_status -- $1
# RabbitMQ
UserParameter=cpan.zabbix.check.rabbitmq.installed,/usr/bin/env perl -MZabbix::Check::RabbitMQ -e_installed
UserParameter=cpan.zabbix.check.rabbitmq.running,/usr/bin/env perl -MZabbix::Check::RabbitMQ -e_running
UserParameter=cpan.zabbix.check.rabbitmq.vhost_discovery[*],/usr/bin/env perl -MZabbix::Check::RabbitMQ -e_vhost_discovery -- $1
UserParameter=cpan.zabbix.check.rabbitmq.queue_discovery[*],/usr/bin/env perl -MZabbix::Check::RabbitMQ -e_queue_discovery -- $1
UserParameter=cpan.zabbix.check.rabbitmq.queue_status[*],/usr/bin/env perl -MZabbix::Check::RabbitMQ -e_queue_status -- $1 $2 $3
# Systemd
UserParameter=cpan.zabbix.check.systemd.installed,/usr/bin/env perl -MZabbix::Check::Systemd -e_installed
UserParameter=cpan.zabbix.check.systemd.system_status,/usr/bin/env perl -MZabbix::Check::Systemd -e_system_status
UserParameter=cpan.zabbix.check.systemd.service_discovery[*],/usr/bin/env perl -MZabbix::Check::Systemd -e_service_discovery -- $1
UserParameter=cpan.zabbix.check.systemd.service_status[*],/usr/bin/env perl -MZabbix::Check::Systemd -e_service_status -- $1
# Time
UserParameter=cpan.zabbix.check.time.epoch,/usr/bin/env perl -MZabbix::Check::Time -e_epoch
UserParameter=cpan.zabbix.check.time.zone,/usr/bin/env perl -MZabbix::Check::Time -e_zone
UserParameter=cpan.zabbix.check.time.ntp_offset[*],/usr/bin/env perl -MZabbix::Check::Time -e_ntp_offset -- $1 $2
# Redis
UserParameter=cpan.zabbix.check.redis.installed,/usr/bin/env perl -MZabbix::Check::Redis -e_installed
UserParameter=cpan.zabbix.check.redis.discovery,/usr/bin/env perl -MZabbix::Check::Redis -e_discovery
UserParameter=cpan.zabbix.check.redis.running[*],/usr/bin/env perl -MZabbix::Check::Redis -e_running -- $1
UserParameter=cpan.zabbix.check.redis.info[*],/usr/bin/env perl -MZabbix::Check::Redis -e_info -- $1 $2
UserParameter=cpan.zabbix.check.redis.resptime[*],/usr/bin/env perl -MZabbix::Check::Redis -e_resptime -- $1
Zabbix check for disk
discovers disks
gets disk I/O traffic in bytes per second
$1: device name, eg: sda, sdb1, dm-3, ...
$2: type: read|write|total
gets disk I/O transaction speed in transactions per second
$1: device name, eg: sda, sdb1, dm-3, ...
$2: type: read|write|total
gets disk I/O utilization in percentage
$1: device name, eg: sda, sdb1, dm-3, ...
Zabbix check for Supervisor service
checks Supervisor is installed: 0 | 1
checks Supervisor is installed and running: 0 | 1 | 2 = not installed
discovers Supervisor workers
gets Supervisor worker status: RUNNING | STOPPED | ...
$1: worker name
Zabbix check for RabbitMQ service
checks RabbitMQ is installed: 0 | 1
checks RabbitMQ is installed and running: 0 | 1 | 2 = not installed
discovers RabbitMQ vhosts
$1: cache expiry in seconds, by default 0
discovers RabbitMQ queues
$1: cache expiry in seconds, by default 0
gets RabbitMQ queue status using queue discovery cache
$1: vhost name
$2: queue name
$3: type: ready|unacked|total
Zabbix check for Systemd services
checks Systemd is installed: 0 | 1
gets Systemd system status: initializing | starting | running | degraded | maintenance | stopping | offline | unknown
discovers Systemd enabled services
$1: regex of service name, by default undefined
gets Systemd enabled service status: active | inactive | failed | unknown | ...
$1: service name
Zabbix check for system time
gets system time epoch in seconds
gets system time zone, eg: +0200
gets system time difference by NTP server
$1: server, by defaut pool.ntp.org
$2: port, by default 123
Zabbix check for Redis service
checks Redis is installed: 0 | 1
discovers Redis instances
checks Redis is installed and instance is running: 0 | 1 | 2 = not installed
$1: bind, by defaut 127.0.0.1:6379
gets info
$1: key
$2: bind, by defaut 127.0.0.1:6379
gets single GET command response time from Redis
$1: bind, by defaut 127.0.0.1:6379
To install this module type the following
perl Makefile.PL
make
make test
make install
from CPAN
cpan -i Zabbix::Check
This module requires these other modules and libraries:
- JSON
- Net::NTP
- Lazy::Utils
GitHub https://github.com/orkunkaraduman/Zabbix-Check
CPAN https://metacpan.org/release/Zabbix-Check
Orkun Karaduman (ORKUN) <orkun@cpan.org>
Copyright (C) 2017 Orkun Karaduman <orkunkaraduman@gmail.com>
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.