Abfragen von Toner- und Papierfüllstände bei Druckern
Mit Nagios kann man eine Vielzahl an Informationen von den unterschiedlichsten Hardwaregeräten abfragen. Ein sicherlich sehr nützliches ist das von ciphron entwickelte check_printer. Damit kann
- Tonerstand
- Papierstand
- Druckvolumen
- Hardwarestatus
- etc.
abgefragt werden.
Schritt 1
Ladet das Plugin von der Seite des Herstellers herunter 👉 ciphron.de/gfx/pool/check_printer
Schritt 2
Speichert die Datei im Plugin-Verzeichnis von Nagios unter /usr/lib/nagios/plugins ab und ändert die Rechte ab (siehe Screenshot)
Schritt 3
Der Abfrage Befehl ist in der Nagios-Konfiguration zu hinterlegen. Ich habe es in die /etc/nagios3/commands.cfg geschrieben. Dort einfach die folgenden Zeilen eintragen.
define command{
command_name check_printer
command_line /usr/bin/php $USER1$/check_printer $ARG1$ $ARG2$ $ARG3$ $ARG4$ $ARG5$
}
Schritt 4
Als wahrscheinlich aufwendigster Schritt ist das Gerät, also der abzufragende Drucker, noch zu hinterlegen. Dazu wechselt in das Verzeichnis /etc/nagios3/conf.d und legt dort eine Datei mit dem Names eures Druckers an, z.B. Drucker.cfg. Dort müsst ihr nun die Informationen zum Gerät und die Abfrageparameter definieren.
# A simple configuration file for monitoring the local host
# This can serve as an example for configuring other servers;
# Custom services specific to this host are added here, but services
# defined in nagios2-common_services.cfg may also apply.
#
define host{
use generic-printer-ad-gde ; Name of host template to use
host_name Drucker1
alias Drucker1, Canon iR C3080
address 192.168.2.50
}
define hostextinfo{
host_name Drucker1
notes Drucker1, Canon iR C3080
notes_url http://192.168.2.50/
icon_image base/hp-printer40
icon_image_alt Drucker1, Canon iR C3080
vrml_image hp-printer40.png
statusmap_image base/hp-printer40.gd2
}
define service{
use generic-service-printer-de ; Name of service template to use
host_name Drucker1
service_description PING
check_command check_ping!100,10%!250,20%
}
define service{
use generic-service-printer-de
host_name Drucker1
service_description Counter
contact_groups printeradmins
check_command check_printer!192.168.2.50!public!counter!1
}
define service{
use generic-service-printer-de
host_name Drucker1
service_description TONER_black
contact_groups printeradmins
check_command check_printer!192.168.2.50!public!toner!1!0.05
}
define service{
use generic-service-printer-de
host_name Drucker1
service_description TONER_Cyan
contact_groups printeradmins
check_command check_printer!192.168.2.50!public!toner!2!0.05
}
define service{
use generic-service-printer-de
host_name Drucker1
service_description TONER_Magenta
contact_groups printeradmins
check_command check_printer!192.168.2.50!public!toner!3!0.05
}
define service{
use generic-service-printer-de
host_name Drucker1
service_description TONER_Yellow
contact_groups printeradmins
check_command check_printer!192.168.2.50!public!toner!4!0.05
}
define service{
use generic-service-printer-de
host_name Drucker1
service_description Paper_Tray_1
contact_groups printeradmins
check_command check_printer!192.168.2.50!public!paper!2!0.1
}
define service{
use generic-service-printer-de
host_name Drucker1
service_description Paper_Tray_2
contact_groups printeradmins
check_command check_printer!192.168.2.50!public!paper!3!0.1
}
define service{
use generic-service-printer-de
host_name Drucker1
service_description Paper_Tray_3
contact_groups printeradmins
check_command check_printer!192.168.2.50!public!paper!4!0.1
}
define service{
use generic-service-printer-de
host_name Drucker1
service_description Paper_Tray_4
contact_groups printeradmins
check_command check_printer!192.168.2.50!public!paper!5!0.1
}
In der Beispieldatei wird ersichtlich, was alles abgefragt wird. Ihr müsst die Einträge nur noch an eure Gegebenheiten anpassen:
- host_name = Name des Druckers, der in Nagios für die Indexierung verwendet wird
- alias = ist hier der Hersteller und das Modell des Druckers
- address = Ip-Adresse des Geräts
- Im Bereich hosttextinfo sind die Beschreibung, ein Link auf die Adminoberfläche und das Icon definiert
- In den nachfolgenden define service Abschnitten ist definiert, welche Informationen Nagios von den Druckern abholen soll.
Achtung:
- Der host_name ist anzupassen
- service_description = verwendet einen eindeutigen Namen, da dieser auch in der weiteren Nagios-Konfiguration verwendet wird und in der Weboberfläche ausgegeben wird.
- contact_groups = Die Gruppe, die benachrichtigt werden soll, wenn ein Ereignis eintrifft
- check_command = definiert den Abfragebefehl und die Eskalationsstufe !toner!1!0.05 = eine Benachrichtigung an die contact_groups wird gesendet, wenn der Toner nur noch zu 5% voll ist.
Schritt 5
Nagios auffordern die neue Konfiguration und das neue Gerät zu berücksichtigen. Auf der Konsole den Befehl eingeben
sudo /etc/init.d/nagios3 reload
Schritt 6
Ergebnis im Webbrowser begutachten
Gib mir gerne einen Kaffee ☕ aus ❗️
Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕️ ausgeben.
Follow Me❗️