check_snmp_printer

Icinga Plugin for Checking SNMP Printer Status (Trays, Consumables and Pagecounts)

check_snmp_printer

Nagios and Icinga Plugin for Checking SNMP Printer Status (Trays, Consumables and Pagecounts) which includes PerfData.

2.0.0 POSSIBLE CODE BREAKING UPDATE

Must have Net-SNMP and its libraries installed. Can be compiled from source from www.net-snmp.org (latest version) or via package managers:

Debian:

sudo apt-get install snmp
sudo apt-get install libsnmp-perl

Centos/RHEL:

sudo yum install net-snmp
sudo yum install net-snmp-utils
sudo yum install net-snmp-devel
sudo yum install net-snmp-perl

Supported Printer Models:

  • Canon
  • HP
  • Xerox
  • Ricoh
  • Brother
  • Lexmark
  • Kyocera
  • Olivetti

Your specific printer not supported? Open an issue on Github and we'll work to get it supported.

Forked and modified from Franky Van Liedekerke's 2014 version.

Consumables

Tray Status

Page Count

Getting Started

These instructions assume your Icinga2 is installed on a RHEL/CentOS system. You may need to modify slightly to work with other systems.

Prerequisites

Perl >= 5.10

Net-SNMP and Libraries:

Debian:

sudo apt-get install snmp
sudo apt-get install libsnmp-perl

Centos/RHEL:

sudo yum install net-snmp
sudo yum install net-snmp-utils
sudo yum install net-snmp-devel
sudo yum install net-snmp-perl

Nagios plugins installed and located in one of the following directories:

/usr/lib/nagios/plugins 
/usr/lib64/nagios/plugins

Installing

Copy check_snmp_printer into your plugin directory and give it executable writes:

sudo cp ./check_snmp_printer /usr/lib64/nagios/plugins/
chmod a+x /usr/lib64/nagios/plugins/check_snmp_printer

Copy printers.conf into plugins-contrib.d folder:

sudo cp ./printers.conf /usr/share/icinga2/include/plugins-contrib.d/

Append services-printers.conf to the end of your Icinga2 services.conf:

cat ./services-printers.conf >> /etc/icinga2/conf.d/services.conf

If using Graphite, copy graphite templates to Icinga2 Graphite template folder:

sudo cp ./printer-consumables.ini /usr/share/icingaweb2/modules/graphite/templates/
sudo cp ./printer-trays.ini /usr/share/icingaweb2/modules/graphite/templates/
sudo cp ./printer-pagecount.ini /usr/share/icingaweb2/modules/graphite/templates/

If using Grafana, import JSON Dashboard (Graphite or InfluxDB) file and add graph dashboard information into module making sure to name the Dashboard printer-metrics:

sudo cat printer-metrics-graphs.ini >> /etc/icingaweb2/modules/grafana/graphs.ini

Restart Icinga2:

sudo systemctl restart icinga2

Acknowledgments

  • Franky Van Liedekerke for porting Jason Leonard's initial BASH script to Perl.
  • Jason Leonard for writing the initial code that this was ultimately based upon.