nagios監(jiān)控網(wǎng)絡(luò)打印機(jī)
nagios監(jiān)控網(wǎng)絡(luò)打印機(jī):本文講述的主要是如何監(jiān)控網(wǎng)絡(luò)打印機(jī)。特別是有內(nèi)置或外置JetDirect卡的HP惠普打印機(jī)設(shè)備,或是其他(象Troy PocketPro 100S或Netgear PS101)支持JetDirect協(xié)議的打印機(jī)。
check_hpjd插件(該命令是Nagios插件軟件發(fā)行包的標(biāo)準(zhǔn)組成部分)可以用SNMP使能的方式來(lái)監(jiān)控JetDirect兼容型打印機(jī)。該插件可以檢查如下打印機(jī)狀態(tài):
卡紙、無(wú)紙、打印機(jī)離線、需要人工干預(yù)、墨盒墨粉低、內(nèi)存不足、開外殼、輸出托盤已滿、和其他...
注意:如下指令假定你已經(jīng)按照快速安裝指南安裝好Nagios??梢詤⒖及惭b好的樣本配置文件(commands.cfg、templates.cfg等)。
一、概覽
監(jiān)控網(wǎng)絡(luò)打印機(jī)的狀態(tài)很簡(jiǎn)單。有JetDirect功能的打印機(jī)一般提供SNMP功能,可以用check_hpjd插件來(lái)檢測(cè)狀態(tài)。
check_hpjd插件只是當(dāng)當(dāng)前系統(tǒng)中安裝有net-snmp和net-snmp-utils軟件包時(shí)才會(huì)被編譯和安裝。要保證在/usr/local/nagios/libexec目錄下有check_hpjd文件再繼承,否則,要安裝好net-snmp和net-snmp-utils軟件包再重新編譯安裝Nagios插件包。
二、步驟
監(jiān)控打印機(jī)需要做如下幾步:
做些事先準(zhǔn)備工作;
創(chuàng)建一個(gè)用于監(jiān)控打印機(jī)的主機(jī)與服務(wù)對(duì)象定義;
重啟動(dòng)Nagios守護(hù)進(jìn)程。
1、已經(jīng)做了什么?
為使這項(xiàng)工作更輕松,幾個(gè)配置工作已經(jīng)做好:
check_hpjd的命令定義已經(jīng)加到了commands.cfg配置文件中,可以用check_hpjd插件來(lái)監(jiān)控網(wǎng)絡(luò)打印機(jī);
一個(gè)網(wǎng)絡(luò)打印機(jī)模板(命名為generic-printer)已經(jīng)在templates.cfg配置文件里創(chuàng)建好,可以更方便地加入一個(gè)新打印機(jī)設(shè)備的主機(jī)對(duì)象。
上面的監(jiān)控配置文件可以在/usr/local/nagios/etc/objects/目錄里找到。如果想做,可以修改里面的定義以更好地適用于你的情況。但是在此之前,推薦你要熟悉Nagios的配置之后再做。起初,***只是按下面的大概修改一下以實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)打印機(jī)的監(jiān)控。
2、事先準(zhǔn)備工作
在配置Nagios用于監(jiān)控網(wǎng)絡(luò)打印機(jī)之前,有些額外工作,記住這是要對(duì)***臺(tái)打印機(jī)設(shè)備進(jìn)行監(jiān)控。
編輯Nagios的主配置文件。
- vi /usr/local/nagios/etc/nagios.cfg
移除下面這行最前面的(#)號(hào):
- #cfg_file=/usr/local/nagios/etc/objects/printer.cfg
保存文件并退出編輯。
為何要這樣?告訴Nagios查找/usr/local/nagios/etc/objects/printer.cfg文件以取得額外對(duì)象定義。該文件中將加入網(wǎng)絡(luò)打印機(jī)設(shè)備的主機(jī)與服務(wù)對(duì)象定義。這個(gè)配置文件里已經(jīng)包含有一個(gè)樣本主機(jī)、主機(jī)組和服務(wù)定義。給***臺(tái)打印機(jī)設(shè)備做監(jiān)控,可以簡(jiǎn)單地修改這個(gè)文件而不需重生成一個(gè)。
3、配置Nagios
需要?jiǎng)?chuàng)建幾個(gè)對(duì)象定義以進(jìn)行網(wǎng)絡(luò)打印機(jī)的監(jiān)控。
打開printer.cfg文件并編輯它。
- vi /usr/local/nagios/etc/objects/printer.cfg
增加一個(gè)你要監(jiān)控的網(wǎng)絡(luò)打印機(jī)設(shè)備的主機(jī)對(duì)象定義。如果這是***臺(tái)打印機(jī)設(shè)備,可以簡(jiǎn)單地修改printer.cfg文件里的樣本主機(jī)定義。將合理的值賦在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
- }
現(xiàn)在可以給監(jiān)控的打印機(jī)加些服務(wù)定義(在同一個(gè)配置文件里)。如果是***臺(tái)被監(jiān)控的網(wǎng)絡(luò)打印機(jī),可以簡(jiǎn)單地修改printer.cfg里的服務(wù)配置。
注意:要用你要?jiǎng)倓偧由系谋槐O(jiān)控打印機(jī)主機(jī)名替換樣例對(duì)象"hplj2605dn"里的host_name域值。
按如下方式加好對(duì)打印機(jī)狀態(tài)檢測(cè)的服務(wù)定義。服務(wù)用check_hpjd插件來(lái)檢測(cè)打印機(jī)狀態(tài),默認(rèn)情況下每10分鐘檢測(cè)一次。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
- }
加入一個(gè)默認(rèn)每10分鐘進(jìn)行一次的PING檢測(cè)服務(wù)。用于檢測(cè)RTA、丟包率和網(wǎng)絡(luò)聯(lián)接狀態(tài)。
- 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、重啟動(dòng)Nagios
一旦在printer.cfg文件里加好新的主機(jī)和服務(wù)對(duì)象定義就可以監(jiān)控網(wǎng)絡(luò)打印機(jī)。為了開始,應(yīng)該先驗(yàn)證配置文件并重啟動(dòng)Nagios。如果在驗(yàn)證配置過程中有任何錯(cuò)誤信息,修改好配置文件再繼續(xù)。保證驗(yàn)證過程完成且沒有任何錯(cuò)誤的情況下再重啟動(dòng)Nagios!
【編輯推薦】