本文档介绍了如何监控联网打印机的状态。特别是具有内部/外部JetDirect卡/设备的HP打印机,或其他支持JetDirect协议的打印服务器(例如Troy PocketPro 100S或Netgear PS101)。
使用check_hpjd插件(是标准Nagios插件发行版的一部分),您可以监控启用了SNMP的支持JetDirect的打印机的状态。该插件能够检测以下打印机状态:
- 卡纸
- 没有纸了
- 离线打印机
- 需要干预
- 碳粉不足
- 内存不足
- 开门
- 出纸盘已满
- 和更多 …
注意:这些说明假定您已根据快速入门指南安装了Nagios 。如果您遵循快速入门,下面的示例配置条目将引用在安装的示例配置文件(commands.cfg,templates.cfg等)中定义的对象。
总览
监控网络打印机的状态非常简单。启用JetDirect的打印机通常已启用SNMP,这使Nagios Core可以使用check_hpjd插件监控其状态。
该check_hpjd插件只会被编译和安装,如果您有您的系统上安装了NET-SNMP和NET-SNMP-utils的软件包。在继续之前,请确保插件位于/ usr / local / nagios / libexec中。如果没有,请安装net-snmp和net-snmp-utils并重新编译/重新安装Nagios插件。
步骤
要监控新的网络打印机,您需要执行几个步骤。他们是:
- 执行首次前提条件
- 创建新的host和服务定义以监控打印机
- 重新启动Nagios守护程序
预配置
为了使您的生活更轻松,已经为您完成了一些配置task:
- 一个check_hpjd命令定义已添加到commands.cfg文件中。这使您可以使用check_hpjd插件监控网络打印机。
- 已经在templates.cfg文件中创建了打印机host模板(称为通用打印机)。这使您可以通过简单的方式添加新的打印机host定义。
可以在/ usr / local / nagios / etc / objects /目录中找到上述配置文件。您可以根据需要修改这些定义和其他定义中的定义,以更好地满足您的需求。但是,我建议您等到对Nagios Core的配置更加熟悉之后再进行操作。暂时,只需按照以下说明进行操作,您将立即监控网络打印机。
先决条件
首次配置Nagios Core监控网络打印机时,您需要做一些额外的工作。请记住,您只需要对所监控的“第一台”打印机执行此操作。
编辑主要的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来查找其他对象定义。在那里,您将为打印机添加host和服务定义。该配置文件已经包含一些示例host,host组和服务定义。对于您监控的第一台打印机,您可以简单地在该文件中修改示例host和服务定义,而无需创建新的。
配置Nagios Core
您需要创建一些对象定义以监控新打印机。
打开printer.cfg文件进行编辑。
vi /usr/local/nagios/etc/objects/printer.cfg
为您要监控的网络打印机 添加新的host定义。如果这是您要监控的第一台打印机,则只需在printer.cfg中修改样本host定义。将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定义的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
}
保存文件。
重新启动Nagios Core
将新的host和服务定义添加到printer.cfg文件后,就可以开始监控打印机了。为此,您需要验证配置并重新启动Nagios。
如果验证过程中产生任何错误消息,请先修复您的配置文件,然后再继续。确保在验证过程没有任何错误之前,不要(重新)启动Nagios Core!