nagios监控网络打印机:本文讲述的主要是如何监控网络打印机。特别是有内置或外置JetDirect卡的HP惠普打印机设备,或是其他(象Troy PocketPro 100S或Netgear PS101)支持JetDirect协议的打印机。
check_hpjd插件(该命令是Nagios插件软件发行包的标准组成部分)可以用SNMP使能的方式来监控JetDirect兼容型打印机。该插件可以检查如下打印机状态:
卡纸、无纸、打印机离线、需要人工干预、墨盒墨粉低、内存不足、开外壳、输出托盘已满、和其他...
注意:如下指令假定你已经按照快速安装指南安装好Nagios。可以参考安装好的样本配置文件(commands.cfg、templates.cfg等)。
一、概览
监控网络打印机的状态很简单。有JetDirect功能的打印机一般提供SNMP功能,可以用check_hpjd插件来检测状态。
check_hpjd插件只是当当前系统中安装有net-snmp和net-snmp-utils软件包时才会被编译和安装。要保证在/usr/local/nagios/libexec目录下有check_hpjd文件再继承,否则,要安装好net-snmp和net-snmp-utils软件包再重新编译安装Nagios插件包。
二、步骤
监控打印机需要做如下几步:
做些事先准备工作;
创建一个用于监控打印机的主机与服务对象定义;
重启动Nagios守护进程。
1、已经做了什么?
为使这项工作更轻松,几个配置工作已经做好:
check_hpjd的命令定义已经加到了commands.cfg配置文件中,可以用check_hpjd插件来监控网络打印机;
一个网络打印机模板(命名为generic-printer)已经在templates.cfg配置文件里创建好,可以更方便地加入一个新打印机设备的主机对象。
上面的监控配置文件可以在/usr/local/nagios/etc/objects/目录里找到。如果想做,可以修改里面的定义以更好地适用于你的情况。但是在此之前,推荐你要熟悉Nagios的配置之后再做。起初,***只是按下面的大概修改一下以实现对网络打印机的监控。
2、事先准备工作
在配置Nagios用于监控网络打印机之前,有些额外工作,记住这是要对***台打印机设备进行监控。
编辑Nagios的主配置文件。
- vi /usr/local/nagios/etc/nagios.cfg
移除下面这行最前面的(#)号:
- #cfg_file=/usr/local/nagios/etc/objects/printer.cfg
保存文件并退出编辑。
为何要这样?告诉Nagios查找/usr/local/nagios/etc/objects/printer.cfg文件以取得额外对象定义。该文件中将加入网络打印机设备的主机与服务对象定义。这个配置文件里已经包含有一个样本主机、主机组和服务定义。给***台打印机设备做监控,可以简单地修改这个文件而不需重生成一个。
3、配置Nagios
需要创建几个对象定义以进行网络打印机的监控。
打开printer.cfg文件并编辑它。
- vi /usr/local/nagios/etc/objects/printer.cfg
增加一个你要监控的网络打印机设备的主机对象定义。如果这是***台打印机设备,可以简单地修改printer.cfg文件里的样本主机定义。将合理的值赋在host_name、alias和address域里。
- define host{
- use generic-printer ; Inherit default values from a template
- host_name hplj2605dn ; The name we're giving to this printer
- alias HP LaserJet 2605dn ; A longer name associated with the printer
- address 192.168.1.30 ; IP address of the printer
- hostgroups allhosts ; Host groups this printer is associated with
- }
现在可以给监控的打印机加些服务定义(在同一个配置文件里)。如果是***台被监控的网络打印机,可以简单地修改printer.cfg里的服务配置。
注意:要用你要刚刚加上的被监控打印机主机名替换样例对象"hplj2605dn"里的host_name域值。
按如下方式加好对打印机状态检测的服务定义。服务用check_hpjd插件来检测打印机状态,默认情况下每10分钟检测一次。SNMP共同体串是"public"。
- define service{
- use generic-service ; Inherit values from a template
- host_name hplj2605dn ; The name of the host the service is associated with
- service_description Printer Status ; The service description
- check_command check_hpjd!-C public ; The command used to monitor the service
- normal_check_interval 10 ; Check the service every 10 minutes under normal conditions
- retry_check_interval 1 ; Re-check the service every minute until its final/hard state is determined
- }
加入一个默认每10分钟进行一次的PING检测服务。用于检测RTA、丢包率和网络联接状态。
- define service{
- use generic-service
- host_name hplj2605dn
- service_description PING
- check_command check_ping!3000.0,80%!5000.0,100%
- normal_check_interval 10
- retry_check_interval 1
- }
保存配置文件。
4、重启动Nagios
一旦在printer.cfg文件里加好新的主机和服务对象定义就可以监控网络打印机。为了开始,应该先验证配置文件并重启动Nagios。如果在验证配置过程中有任何错误信息,修改好配置文件再继续。保证验证过程完成且没有任何错误的情况下再重启动Nagios!
【编辑推荐】