Nagios以为其良好的状态检测机制,使Nagios可以利用在不同平台上的不同插件实现监控,当然它也支持使用SNMP协议(简单网络管理协议)实现各个平台和设备的监控,所以Nagios也可以使用SNMP协议来监控局域网内的打印机,Nagios监控打印机是使用check_hpjd工具调用SNMP协议来监控打印机的,在安装好的Nagios中的libexec插件目录下可能没有,是因为服务器上没有安装SNMP协议相关的依赖包net-snmp和net-snmp-utils,所以可以直接用yum或者是apt安装下,再重新编译下nagios-plugins,有一点像Nagios没有安装MySQL时没有check_mysql一样,操作如下:
[root@localhost nagios-plugins-2.2.1]# yum -y install net-snmp net-snmp-utils [root@localhost nagios-plugins-2.2.1]# ./configure --with-nagios-user=nagios --with-nagios-group=nagios [root@localhost nagios-plugins-2.2.1]# make && make install
此时再看libexec插件目录下就有check_hpjd插件,打印机的监控方式有点类似于Nagios监控Windows上的NSClient++,可以参看http://jim123.blog.51cto.com/4763600/1956790,在Nagios配置好后就有打印的配置模板,同NSClient++中一样修改下模板:
/usr/local/nagios/etc/objects/printer.cfg define hostgroup{ hostgroup_name network-printers alias Network Printers } ######################################################################################## /usr/local/nagios/etc/servers/192.168.1.254.cfg define host{ use generic-printer ; Inherit default values from a template host_name hplj200 ; The name we're giving to this printer alias HP LaserJet 200dn ; A longer name associated with the printer address 192.168.1.254 ; IP address of the printer hostgroups network-printers ; Host groups this printer is associated with contact_groups admins } define service{ use generic-service ; Inherit values from a template host_name hplj200 ; 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 check_interval 10 ; Check the service every 10 minutes under normal conditions retry_interval 1 ; Re-check the service every minute until its final/hard state is determined max_check_attempts 2 notifications_enabled 1 } define service{ use generic-service host_name hplj200 service_description PING check_command check_ping!3000.0,80%!5000.0,100% check_interval 10 retry_interval 1 max_check_attempts 2 notifications_enabled 1 }
当然如果是多台的话,也可以配置成通用模板,然后根据定义好的cfg_dir去配置多个文件:
/usr/local/nagios/etc/objects/printer.cfg define host{ name network-printers check_period 24x7 check_interval 5 retry_interval 1 max_check_attempts 4 check_command check-host-alive notification_period 24x7 notification_interval 30 notification_options d,r contact_groups admins register 0 } define service{ name network-printers max_check_attempts 4 normal_check_interval 3 retry_check_interval 1 register 0 check_period 24x7 process_perf_data 1 }
如果是不知道局域网内有多少台打印机,则可以通过nmap扫描一下局域内的9100端口就知道
[root@localhost ~]# nmap -p 515 --open 192.168.1.0/24
转载于:https://blog.51cto.com/jim123/1957149