欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

爛泥:學(xué)習(xí)Nagios(二):Nagios配置

本文首發(fā)于爛泥行天下

甘泉網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,甘泉網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為甘泉1000多家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的甘泉做網(wǎng)站的公司定做!

nagios安裝完畢后,我們現(xiàn)在就來(lái)配置nagios。有關(guān)nagios的安裝,可以參考《爛泥:學(xué)習(xí)Nagios(一):Nagios安裝》這篇文章。

說(shuō)明:為了和nagios版本的保持一直,我們?cè)诖耸褂玫氖莕agios最新版nagios-4.1.0rc1。

注意:最新版的nagios可在web頁(yè)面查看其運(yùn)行的PID。

爛泥:學(xué)習(xí)Nagios(二):Nagios配置

爛泥:學(xué)習(xí)Nagios(二):Nagios配置

一、nagois監(jiān)控對(duì)象

nagios監(jiān)控的對(duì)象比較多,我們可以從顆粒度的不同進(jìn)行劃分,分為籠統(tǒng)對(duì)象和詳細(xì)對(duì)象。

1.1籠統(tǒng)對(duì)象

nagios監(jiān)控的籠統(tǒng)對(duì)象可以分為兩種類(lèi)型:網(wǎng)絡(luò)服務(wù)和主機(jī)資源。

網(wǎng)絡(luò)服務(wù)包括主機(jī)(含網(wǎng)絡(luò)設(shè)備)存活狀態(tài)、web服務(wù)、ftp服務(wù)、數(shù)據(jù)庫(kù)服務(wù)、自定義服務(wù)等。

主機(jī)資源包括系統(tǒng)負(fù)載、當(dāng)前IP鏈接數(shù)、磁盤(pán)空間使用情況、當(dāng)前進(jìn)程數(shù)、自定義資源等。

1.2詳細(xì)對(duì)象

nagios監(jiān)控的詳細(xì)對(duì)象,有以下對(duì)象:

網(wǎng)站監(jiān)控、主流數(shù)據(jù)庫(kù)監(jiān)控、協(xié)議監(jiān)控、操作系統(tǒng)監(jiān)控、應(yīng)用監(jiān)控、應(yīng)用服務(wù)器監(jiān)控、網(wǎng)絡(luò)監(jiān)控、動(dòng)力環(huán)境監(jiān)控、存儲(chǔ)監(jiān)控、郵件監(jiān)控、安全監(jiān)控、日志監(jiān)控、虛擬化監(jiān)控。

網(wǎng)站監(jiān)控主要包括網(wǎng)站、網(wǎng)站應(yīng)用、網(wǎng)站內(nèi)容、HTTP、SSL等。

主流數(shù)據(jù)庫(kù)監(jiān)控主要包括MySQL、Oracle、DB2、MSSQL等。

協(xié)議監(jiān)控主要包括HTTP、DNS、FTP、SNMP、SMTP、SSH、LDAP、IMAP、POP、ICMP、DHCP等。

操作系統(tǒng)監(jiān)控主要包括Linux、Windows、Unix、Solaris、AIX、HP-UX等。

應(yīng)用監(jiān)控主要包括服務(wù)、進(jìn)程等。

應(yīng)用服務(wù)器監(jiān)控主要包括Tomcat、JBoss、Websphere、Weblogic、Java、JMX等。

網(wǎng)絡(luò)監(jiān)控主要包括路由器、交換機(jī)、防火墻等。

日志監(jiān)控主要包括windows事件日志、Syslog等。

動(dòng)力環(huán)境監(jiān)控主要包括溫濕度、煙霧傳感器、浸水、干接點(diǎn)、UPS、APC等。

如果想要詳細(xì)了解nagios監(jiān)控的對(duì)象,我們可以去nagios官網(wǎng)進(jìn)行查看。如下:

http://www.nagios.com/solutions

爛泥:學(xué)習(xí)Nagios(二):Nagios配置

二、nagios監(jiān)控方法

前面我們說(shuō)了nagios監(jiān)控的對(duì)象,那么我們是通過(guò)哪些方法監(jiān)控這些對(duì)象的呢,即通過(guò)哪些監(jiān)控載體來(lái)實(shí)現(xiàn)監(jiān)控的?

nagios給我們提供了多種監(jiān)控方法,比較常見(jiàn)的有NRPE、SNMP、腳本。

NRPE方式在windows、Linux上都有對(duì)應(yīng)的客戶端軟件,而SNMP方式需要在windows、Linux上安裝SNMP相關(guān)的組件。對(duì)于腳本方式的監(jiān)控,我們可以使用shell、perl等腳本。

對(duì)于以上三種方式,建議根據(jù)實(shí)際的業(yè)務(wù)進(jìn)行選擇。比如:要監(jiān)控網(wǎng)絡(luò)設(shè)備的相關(guān)情況,我們一般是通過(guò)SNMP方式的。而對(duì)于OS來(lái)說(shuō),我們最常見(jiàn)的是通過(guò)NRPE和SNMP方式。

三、nagios通知方式

監(jiān)控的主要目的是當(dāng)監(jiān)控的對(duì)象發(fā)生故障或資源緊張時(shí)及時(shí)通知相關(guān)人員,以便問(wèn)題得到迅速的處理。

nagios為了方便我們的管理工作,給我們提供了至少3種通知方式。

web方式:通過(guò)瀏覽器觀看被監(jiān)控的對(duì)象,正常狀態(tài)下,其狀態(tài)(status)是以藍(lán)色填充并顯示一個(gè)OK。

郵件通知:當(dāng)發(fā)生故障同時(shí)達(dá)到設(shè)定重試次數(shù)和探測(cè)間隔時(shí)間時(shí),發(fā)送郵件給管理員或相關(guān)人員,報(bào)告問(wèn)題的大致情況。

手機(jī)短信:這是非常有用和及時(shí)的功能了,一旦發(fā)生故障,手機(jī)短信可以及時(shí)提醒你。

一般情況下,這三者是同時(shí)進(jìn)行的:上班時(shí)間開(kāi)個(gè)瀏覽器看頁(yè)面顯示、定時(shí)收取郵件、手機(jī)24小時(shí)在線。

四、nagios文件目錄

nagios以及其插件安裝并配置完畢后,整個(gè)目錄層次如下:

ll /usr/local/nagios/

爛泥:學(xué)習(xí)Nagios(二):Nagios配置

bin目錄用來(lái)存放nagios的執(zhí)行程序,包括nagios、nrpe等。

etc目錄用來(lái)存放nagios的配置文件。

libexec目錄用來(lái)存放nagios的監(jiān)控插件。

sbin目錄用來(lái)存放nagios cgi文件,也就是執(zhí)行外部命令所需文件所在的目錄。

share目錄用來(lái)存放nagios網(wǎng)頁(yè)文件,也就是存放web頁(yè)面的目錄。

include目錄用來(lái)存放nagios cgi文件的外部調(diào)用。

var目錄用來(lái)存放nagios日志文件、lock文件等文件。

五、nagios配置文件

nagios目錄介紹完畢后,我們?cè)賮?lái)介紹nagios的配置文件。nagios配置文件默認(rèn)都在/usr/local/nagios/etc目錄下。

5.1 nagios配置文件簡(jiǎn)介

查看nagios的配置文件,如下:

/usr/local/nagios

tree -L 2 ./etc/

爛泥:學(xué)習(xí)Nagios(二):Nagios配置

通過(guò)上圖,我們可以很明顯的看到所有的配置文件。下面來(lái)介紹每個(gè)配置文件具體作用。如下:

cgi.cfg用于控制CGI訪問(wèn)的配置文件。

htpasswd.users用于存放nagios管理員用戶名和密碼的文件。

nagios.cfg是nagios主配置文件,所有的cfg配置文件(外部調(diào)用除外)必須都在此文件中引用cfg配置文件才能生效。

resource.cfg變量定義文件,又稱為資源文件。該文件中定義的變量,可以被其他配置文件引用,如$USER1$。

objects是一個(gè)目錄,此目錄下的文件主要用于定義nagios的監(jiān)控對(duì)象。

commands.cfg是nagios監(jiān)控命令的定義文件,其中定義的命令可以被其他配置文件引用。

contacts.cfg是定義nagios監(jiān)控對(duì)象出現(xiàn)故障時(shí),通知的聯(lián)系人和聯(lián)系人組的配置文件。

localhost.cfg是定義監(jiān)控本地主機(jī)的配置文件。

templates.cfg是定義主機(jī)和服務(wù)的一個(gè)模板配置文件。

timeperiods.cfg是定義nagios監(jiān)控時(shí)間段的配置文件。

services.cfg是存放具體被監(jiān)控服務(wù)的相關(guān)配置內(nèi)容。該配置文件默認(rèn)是不存在的,需要自己手工建立,并且要建立在services目錄下。同時(shí)還需要在nagios.cfg文件指定services目錄。如下:

egrep -v "^#|^$" nagios.cfg

cfg_dir=/usr/local/nagios/etc/services

爛泥:學(xué)習(xí)Nagios(二):Nagios配置

hosts.cfg存放具體被監(jiān)控的主機(jī)相關(guān)配置。該配置文件默認(rèn)是不存在的,需要自己手工建立,并且要建立在hosts目錄下。同時(shí)還需要在nagios.cfg文件指定hosts目錄。與services.cfg使用方法相同。

5.2 nagios配置文件之間的關(guān)系

在nagios的配置過(guò)程中涉及到定義有:主機(jī)、主機(jī)組,服務(wù)、服務(wù)組,聯(lián)系人、聯(lián)系人組,監(jiān)控時(shí)間,監(jiān)控命令等。從這些定義可以看出,nagios各個(gè)配置文件之間是互為關(guān)聯(lián)、彼此引用的。

要成功配置出一臺(tái)nagios監(jiān)控系統(tǒng),必須要弄清楚各個(gè)配置文件之間依賴與被依賴的關(guān)系,最重要的有四點(diǎn):

第一:定義監(jiān)控哪些主機(jī)、主機(jī)組、服務(wù)和服務(wù)組。

第二:定義這個(gè)監(jiān)控要用什么命令實(shí)現(xiàn)。

第三:定義監(jiān)控的時(shí)間段。

第四:定義主機(jī)或服務(wù)出現(xiàn)問(wèn)題時(shí)要通知的聯(lián)系人和聯(lián)系人組。

5.2 cgi.cfg文件介紹

cgi.cfg文件是用來(lái)控制nagios的相關(guān)cgi腳本。如果想在nagios的web監(jiān)控界面執(zhí)行相關(guān)的cgi腳本,例如重啟nagios進(jìn)程、關(guān)閉nagios通知、停止nagios主機(jī)檢測(cè)等,這時(shí)就需要配置cgi.cfg文件。

在《爛泥:學(xué)習(xí)Nagios(一):Nagios安裝》文章中,我們已經(jīng)提到nagios默認(rèn)管理員是nagiosadmin。

如果我們要添加一個(gè)新管理員admin的話,我們就需要修改cgi.cfg文件添加此用戶的相關(guān)執(zhí)行權(quán)限即可。如下:

egrep -v "^#|^$" cgi.cfg

爛泥:學(xué)習(xí)Nagios(二):Nagios配置

cgi.cfg文件修改完畢,我們還需要把a(bǔ)dmin用戶添加到htpasswd.users文件中使用htpasswd命令。如下:

htpasswd htpasswd.users admin

cat htpasswd.users

爛泥:學(xué)習(xí)Nagios(二):Nagios配置

5.3 nagios.cfg文件介紹

nagios.cfg是nagios的主配置文件,默認(rèn)的路徑為/usr/local/nagios/etc/nagios.cfg。所有的對(duì)象配置文件都必須在這個(gè)文件中進(jìn)行定義才能發(fā)揮其作用,這里只需將對(duì)象配置文件在nagios.cfg文件中引用即可。

nagios.cfg配置文件的內(nèi)容比較多,我們?cè)诖酥唤榻B比較重要的部分。

查看nagios.cfg文件內(nèi)容,如下:

egrep -v "^#|^$" nagios.cfg

爛泥:學(xué)習(xí)Nagios(二):Nagios配置

log_file=/usr/local/nagios/var/nagios.log

用于定義nagios在何處創(chuàng)建其日志文件。

說(shuō)明:

log_file變量用于定義nagios在何處創(chuàng)建其日志文件。如果你使用了nagios日志輪詢功能,那么nagios將在每小時(shí)、每天、每周或每月對(duì)日志進(jìn)行輪詢。

cfg_file=/usr/local/nagios/etc/objects/commands.cfg

用于定義nagios監(jiān)控命令的配置文件。

說(shuō)明:

cfg_file變量用來(lái)引用對(duì)象配置文件,如果有更多的對(duì)象配置文件,我們只需在nagios.cfg文件中依次添加即可。

對(duì)象配置文件中一般包含主機(jī)、主機(jī)組、聯(lián)系人、聯(lián)系人組、服務(wù)、命令等對(duì)象的定義。

如果要使nagios處理所有在特定目錄中包含的對(duì)象配置文件,那么我們可以使用cfg_dir指令。如下所示:

cfg_dir=/usr/local/nagios/etc/services

爛泥:學(xué)習(xí)Nagios(二):Nagios配置

說(shuō)明:

cfg_dir變量用于引用一個(gè)目錄里包含的所有對(duì)象配置文件。所有在這個(gè)目錄下的且以.cfg為后綴名的文件將被作為對(duì)象配置文件來(lái)處理。

另外,nagios將會(huì)遞歸該目錄下的子目錄并處理其子目錄下的全部配置文件。你也可以把配置放入不同的目錄并且用cfg_dir=語(yǔ)句來(lái)指向每個(gè)待處理的目錄。

cfg_file=/usr/local/nagios/etc/objects/contacts.cfg

用于引用nagios聯(lián)系人的配置文件。

cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg

用于引用nagios監(jiān)控時(shí)段的配置文件。

cfg_file=/usr/local/nagios/etc/objects/templates.cfg

用于引用nagios監(jiān)控對(duì)象的模版文件。

cfg_file=/usr/local/nagios/etc/objects/localhost.cfg

用于引用nagios監(jiān)控本地( Linux )主機(jī)的配置文件。

resource_file=/usr/local/nagios/etc/resource.cfg

resource_file變量用于定義nagios資源配置文件,可以在nagios.cfg中定義多個(gè)資源文件。

status_file=/usr/local/nagios/var/status.dat

status_file變量用于定義nagios的狀態(tài)文件,此文件用于保存nagios當(dāng)前的狀態(tài)、宕機(jī)信息等。它會(huì)在每次nagios重新啟動(dòng)的時(shí)候被清空刪除。

status_update_interval=10

該變量用于定義狀態(tài)文件(即status.dat)的更新時(shí)間間隔,單位是秒,最小更新間隔是1秒,默認(rèn)是10秒。

nagios_user=nagios

該變量指定nagios進(jìn)程使用哪個(gè)用戶運(yùn)行。

nagios_group=nagios

該變量指定nagios使用哪個(gè)用戶組運(yùn)行。

check_external_commands=1

該變量用于設(shè)置是否允許nagios在web監(jiān)控界面運(yùn)行cgi命令,也就是是否允許nagios在web界面下執(zhí)行重啟nagios、停止主機(jī)、服務(wù)檢查等操作。其中1表示允許,0表示不允許。

command_file=/usr/local/nagios/var/rw/nagios.cmd

定義nagios用來(lái)檢查外部命令請(qǐng)求的文件。這個(gè)文件同樣也是用戶操作提交與CGI命令寫(xiě)入的地方,所以這個(gè)文件必須對(duì)于相關(guān)服務(wù)可寫(xiě),一般是針對(duì)Apache的宿主用戶可寫(xiě)。并且注意,這個(gè)文件所在的目錄的權(quán)限必須被Apache可寫(xiě),而不單指這文件,因?yàn)檫@個(gè)文件在工作當(dāng)中是頻繁被寫(xiě)入和刪除的。

lock_file=/usr/local/nagios/var/nagios.lock

定義nagios運(yùn)行時(shí)用來(lái)保存它的PID文件。

temp_file=/usr/local/nagios/var/nagios.tmp

定義nagios臨時(shí)文件路徑。它將在nagios運(yùn)行時(shí)不停地被建立、使用和刪除。

log_rotation_method=d

定義nagios的日志輪詢方式,默認(rèn)是每天輪詢。

值為n表示none,不做輪詢。值為h表示hourly,每小時(shí)輪詢一次(每小時(shí)的開(kāi)始)。值為d表示daily,每天輪詢一次(每天的午夜)。值為w表示weekly,每周輪詢一次(每周六的晚上)。值為m表示monthly,每月輪詢一次(每上個(gè)月的最后一天的午夜)。

log_archive_path=/usr/local/nagios/var/archives

定義nagios日志的歸檔路徑。

command_check_interval=10s

該變量用于定義nagios對(duì)外部命令檢測(cè)的間隔,默認(rèn)為10秒。如果這個(gè)數(shù)值不加上單位的話,默認(rèn)單位為分鐘。例如1就是表示1分鐘,nagios每分鐘檢測(cè)一次。

service_check_timeout=60

定義服務(wù)檢測(cè)的超時(shí)時(shí)間,默認(rèn)為60秒。如果服務(wù)檢查時(shí)間超過(guò)所定義的時(shí)間,則顯示為CRITICAL狀態(tài)。

host_check_timeout=30

定義主機(jī)檢測(cè)的超時(shí)時(shí)間,默認(rèn)為30秒。若主機(jī)檢查時(shí)間超過(guò)所定義的時(shí)間,則顯示為CRITICAL狀態(tài)。

event_handler_timeout=30

定義事件處理最長(zhǎng)時(shí)間,默認(rèn)為30秒。若事件處理最長(zhǎng)時(shí)間超出所定義的時(shí)間,則nagios會(huì)發(fā)出一條warning警告信息并記錄到日志中。

notification_timeout=30

定義通知信息發(fā)送的時(shí)間間隔,默認(rèn)為30秒。

interval_length=60

該變量用于定義nagios檢測(cè)時(shí)間間隔的單位,默認(rèn)值是60秒,即1分鐘。也就是說(shuō)在nagios中,檢測(cè)時(shí)間間隔默認(rèn)是以分鐘為單位的。

這樣定義以后其他地方需要用到時(shí)間單位長(zhǎng)度的,默認(rèn)都為分鐘。在配置模版文件templates.cfg中定義主機(jī)和服務(wù)時(shí),就是以該值為基礎(chǔ)的。如下:

egrep -v "^#|^$" templates.cfg

check_interval 5

retry_interval 1

爛泥:學(xué)習(xí)Nagios(二):Nagios配置

表示檢查間隔為5*60s(5分鐘),即每5分鐘檢查一次。重試檢查時(shí)間間隔為1分鐘,最多重試檢查10次。

注意:nagios在OK狀態(tài)時(shí),用check_interval定義的時(shí)間間隔來(lái)監(jiān)控,出現(xiàn)問(wèn)題后,切換為retry_interval和max_check_attempts進(jìn)行監(jiān)控,當(dāng)重試次數(shù)達(dá)到max_check_attempts值后觸發(fā)首次報(bào)警,同時(shí)恢復(fù)為check_interval進(jìn)行監(jiān)控,并用notification_interval定義的時(shí)間間隔來(lái)發(fā)送報(bào)警。故障恢復(fù)正常后,在最近的check_interval點(diǎn)發(fā)送OK通知,完成報(bào)警周期。

對(duì)于一些敏感度要求高的服務(wù),這明顯不能滿足我們的要求,因此可以將其調(diào)小,如調(diào)整為10秒:

interval_length=10s

這樣就提高了檢查的靈敏度,但有些服務(wù)又不需要如此高的靈敏度,如磁盤(pán)空間(不會(huì)一下就增加很多),則可以在定義check_interval是增大其數(shù)值。

注意:靈敏度和誤報(bào)率是成正比的,檢查間隔越小,出現(xiàn)誤報(bào)的可能性越大。所以,建議根據(jù)實(shí)際情況調(diào)整到合適的值。

5.4 resource.cfg文件介紹

resource.cfg是nagios的變量定義文件,文件內(nèi)容只有一行。如下:

$USER1$=/usr/local/nagios/libexec

爛泥:學(xué)習(xí)Nagios(二):Nagios配置

其中,變量$USER1$指定安裝nagios插件的路徑。

如果把插件安裝在了其它路徑,只需在這里進(jìn)行修改即可。

需要注意的是,變量必須先定義,然后才能在其它配置文件中進(jìn)行引用,同時(shí)該變量也是可以通過(guò)宏進(jìn)行定義。

nagios的一個(gè)重要特征就是可以在命令行的定義里使用宏,通過(guò)定義宏,nagios可以靈活的獲取主機(jī)、服務(wù)和其它對(duì)象的信息。

5.4.1宏的工作機(jī)制

在執(zhí)行命令之前,nagios將對(duì)命令里的每個(gè)宏替換成它們應(yīng)當(dāng)取得的值。這種宏替換發(fā)生在nagios執(zhí)行各種類(lèi)型的宏時(shí)候。例如主機(jī)和服務(wù)的檢測(cè)、通知、事件處理等。

5.4.2宏的分類(lèi)

根據(jù)宏的不同,我們可以把宏分成:默認(rèn)宏、按需而成的宏、用戶自定義宏。

默認(rèn)宏,以主機(jī)IP地址宏為例。

當(dāng)在命令定義中使用主機(jī)或服務(wù)宏時(shí),宏將要執(zhí)行時(shí)所用的值指向主機(jī)或服務(wù)所帶的值。

看下面這個(gè)例子,假如在check_ping命令定義里使用了一個(gè)主機(jī)對(duì)象,如下:

define host{

  host_name ilanni

  address 192.168.1.247

  check_command check_ping }

define command{

  command_name check_ping

  command_line /usr/local/nagios/libexec/check_ping -H $HOSTADDRESS$-w 100.0,90% -c 200.0,60% }

那么執(zhí)行這個(gè)主機(jī)檢測(cè)命令時(shí),最終執(zhí)行的將是這樣的:

/usr/local/nagios/libexec/check_ping -H 192.168.1.247 -w 100.0,90% -c 200.0,60%

nagios宏的優(yōu)美之處在于你可以只用一個(gè)命令定義來(lái)完成無(wú)限個(gè)主機(jī)的檢測(cè),并且每個(gè)主機(jī)可以使用相同的命令來(lái)進(jìn)行檢測(cè),而在對(duì)它們檢測(cè)之前將把主機(jī)地址正確地進(jìn)行替換。

命令參數(shù)宏

同樣你也可以向命令傳遞參數(shù),這樣可以保證命令定義更具通用性。參數(shù)指定在對(duì)象(像主機(jī)或服務(wù))中定義,用一個(gè)“!”來(lái)分隔,例如這樣:

define service{

  host_name ilanniservice

  service_description PING

  check_command check_ping!200.0,80%!400.0,40% }

上例中,服務(wù)的檢測(cè)命令中含有兩個(gè)參數(shù),$ARG1$宏將是"200.0,80%",$ARG2$將是"400.0,40%"(都不帶引號(hào))。假如check_ping命令是這樣定義的:

define command{

  command_name check_ping

  command_line /usr/local/nagios/libexec/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ }

那么對(duì)于服務(wù)的檢測(cè)命令最終將是這樣的:

/usr/local/nagios/libexec/check_ping -H 192.168.1.247 -w 200.0,80% -c 400.0,40%

另外,按需而成的宏和用戶自定義宏,在此我們就不做過(guò)多介紹。如果想要深入學(xué)習(xí)有關(guān)nagios宏的相關(guān)知識(shí)的話,可以去nagios官網(wǎng)進(jìn)行查看。

5.4.3 nagios可用的宏

nagios可用的宏比較多,但是每個(gè)命令最多支持32個(gè)參數(shù)宏。在此我們介紹幾個(gè)經(jīng)常使用的宏。

主機(jī)宏:

$HOSTNAME$主機(jī)簡(jiǎn)稱,取自于主機(jī)定義里的host_name。$HOSTADDRESS$主機(jī)地址,取自于主機(jī)定義里的address。

服務(wù)宏:

$SERVICESTATE$當(dāng)前服務(wù)的狀態(tài),有w、u、c、r。其中w即warn,表示警告狀態(tài)。u即unknown,表示狀態(tài)不明。c即criticle,表示緊急狀態(tài)。r即recover,表示恢復(fù)狀態(tài)。

$SERVICEDESC$對(duì)當(dāng)前服務(wù)的描述。

聯(lián)系人宏:

$CONTACTNAME$表示聯(lián)系人,在聯(lián)系人contacts.cfg文件中定義。

通知宏:

$NOTIFICATIONTYPE$返回下面信息:("PROBLEM", "RECOVERY", "ACKNOWLEDGEMENT","FLAPPINGSTART","FLAPPINGSTOP","FLAPPINGDISABLED","DOWNTIMESTART","DOWNTIMEEND",or"DOWNTIMECANCELLED")。

日期/時(shí)間宏:

$LONGDATETIME$當(dāng)前的日期/時(shí)間戳。

文件宏:

$LOGFILE$日志文件的保存位置。$MAINCONFIGFILE$主配置文件的保存位置。

其他宏:

$ADMINEMAIL$全局管理員email地址。

$ARGn$指向第n個(gè)命令傳遞參數(shù)(通知、事件處理、服務(wù)檢測(cè)等)。

如果想查看nagios所有宏的信息,可以在nagios的官方網(wǎng)站進(jìn)行查看。如下:

http://nagios.sourceforge.net/docs/nagioscore/4/en/toc.html

爛泥:學(xué)習(xí)Nagios(二):Nagios配置

當(dāng)然也可以查看nagioc中文版的連接,如下:

http://nagios-cn.sourceforge.net/nagios-cn/advance.html

爛泥:學(xué)習(xí)Nagios(二):Nagios配置

5.5 commands.cfg文件介紹

commands.cfg是nagios監(jiān)控命令的定義文件,該文件默認(rèn)是存在的,無(wú)需修改即可使用。當(dāng)然如果有新命令需要加入時(shí),只需在此文件中添加即可。這里并未列出該文件的所有內(nèi)容,僅僅介紹在配置中經(jīng)常使用到的一些命令。

egrep -v "^#|^$" commands.cfg

爛泥:學(xué)習(xí)Nagios(二):Nagios配置

下面是notify-host-by-email命令的定義:

define command{

   command_name notify-host-by-email

   command_line /usr/bin/printf "%b" "*****Nagios*****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost:$HOSTNAME$\nState: $HOSTSTATE$\nAddress:$HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time:$LONGDATETIME$\n"|/bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert:$HOSTNAME$ is $HOSTSTATE$**"$CONTACTEMAIL$ }

command_name行定義命令名稱,即定義了一個(gè)主機(jī)異常時(shí)發(fā)送郵件的命令。

command_line行定義命令具體的執(zhí)行方式,其中“-H $HOSTADDRESS$”是定義目標(biāo)主機(jī)的地址。

下面是notify-service-by-email命令的定義:

define command{

command_name notify-service-by-email

command_line /usr/bin/printf "%b" "*****Nagios*****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n"|/bin/mail -s "** $NOTIFICATIONTYPE$Service Alert: $HOSTALIAS$/$SERVICEDESC$is $SERVICESTATE$**"$CONTACTEMAIL$ }

command_name行定義命令名稱,即定義了一個(gè)服務(wù)異常時(shí)發(fā)送郵件的命令。

command_line命令具體的執(zhí)行方式,“-H $HOSTADDRESS$”是定義目標(biāo)主機(jī)的地址,這個(gè)地址在hosts.cfg文件中定義了。

下面是check-host-alive命令的定義:

define command{

command_name check-host-alive

command_line $USER1$/check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 5 }

command_name行定義命令名稱,用來(lái)檢測(cè)主機(jī)的狀態(tài)。

command_line這里的變量$USER1$是在resource.cfg文件中進(jìn)行定義的,即$USER1$=/usr/local/nagios/libexec,最后check_ping的完整路徑為/usr/local/nagios/libexec/check_ping。

“-w 3000.0,80%”中“-w”說(shuō)明后面的一對(duì)值對(duì)應(yīng)的是“WARNING”狀態(tài),“80%”是其臨界值?!?c 5000.0,100%”中“-c”說(shuō)明后面的一對(duì)值對(duì)應(yīng)的是“CRITICAL”,“100%”是其臨界值?!?p 5”表示發(fā)送5個(gè)數(shù)據(jù)包。

check_ping命令的參數(shù):

-H 目標(biāo)主機(jī)地址。

-w WARNING警告狀態(tài):響應(yīng)時(shí)間(毫秒),丟包率(%)的閥值。

-c CRITICAL危險(xiǎn)狀態(tài):響應(yīng)時(shí)間(毫秒),丟包率(%)的閥值。

-p 發(fā)送包的個(gè)數(shù),默認(rèn)5個(gè)包。

-t 超時(shí)時(shí)間,默認(rèn)10秒。

-4|-6 使用ipv4|ipv6 地址,默認(rèn)ipv4。

5.6 contacts.cfg文件介紹

contacts.cfg是定義聯(lián)系人和聯(lián)系人組的配置文件。當(dāng)監(jiān)控的主機(jī)或者服務(wù)出現(xiàn)故障時(shí),nagios會(huì)通過(guò)指定的通知方式,將信息發(fā)給這里指定的聯(lián)系人。

egrep -v "^$|^#" contacts.cfg

define contact{

contact_name nagiosadmin

use generic-contact

alias Nagios Admin

email nagios@localhost }

define contactgroup{

contactgroup_name admins

alias Nagios Administrators

members nagiosadmin }

爛泥:學(xué)習(xí)Nagios(二):Nagios配置

contact_name行定義聯(lián)系人名稱。

use行表示引用generic-contact的屬性信息,其中g(shù)eneric-contact在templates.cfg文件中進(jìn)行定義。

alias行定義聯(lián)系人別名。

email行定義聯(lián)系人的郵件地址。

contactgroup_name行定義聯(lián)系人組名稱。

members行定義聯(lián)系人組成員,其中“nagiosadmin”就是上面定義的聯(lián)系人。

5.7 timeperiods.cfg文件介紹

timeperiods.cfg文件用于定義監(jiān)控的時(shí)間段。

下面是定義一個(gè)名為24x7的時(shí)間段,即監(jiān)控所有時(shí)間段。如下:

egrep -v "^#|^$" timeperiods.cfg

爛泥:學(xué)習(xí)Nagios(二):Nagios配置

注意:timeperiod_name行定義的時(shí)間段名稱中不能有空格。

5.8 templates.cfg文件介紹

為了不必重復(fù)定義一些監(jiān)控對(duì)象,nagios引入了一個(gè)模板配置文件templates.cfg,將一些共性的屬性定義成模板,以便于多次引用。

templates.cfg通用模板定義,包括監(jiān)控主機(jī)模板generic-host、linux_server,監(jiān)控服務(wù)模板local_service,聯(lián)系人模板generic-contact(并非真正的聯(lián)系人,真正的聯(lián)系人在contacts.cfg中定義)。

下面詳細(xì)介紹下templates.cfg文件中每個(gè)參數(shù)的含義:

define contact{

name generic-contact

定義聯(lián)系人名稱。

service_notification_period 24x7

當(dāng)服務(wù)出現(xiàn)異常時(shí),發(fā)送通知的時(shí)間段,這個(gè)時(shí)間段“24x7"在timeperiods.cfg文件中定義。

host_notification_period 24x7

當(dāng)主機(jī)出現(xiàn)異常時(shí),發(fā)送通知的時(shí)間段,這個(gè)時(shí)間段“24x7"在timeperiods.cfg文件中定義。

service_notification_options w,u,c,r

定義通知可以發(fā)出的狀態(tài)。w即warn,表示警告狀態(tài)。u即unknown,表示狀態(tài)不明。c即criticle,表示緊急狀態(tài)。r即recover,表示恢復(fù)狀態(tài)。也就是說(shuō)在服務(wù)出現(xiàn)警告狀態(tài)、未知狀態(tài)、緊急狀態(tài)和重新恢復(fù)狀態(tài)時(shí)都發(fā)送通知給使用者。

host_notification_options d,u,r

定義主機(jī)在什么狀態(tài)下需要發(fā)送通知給使用者。d即down,表示宕機(jī)狀態(tài)。u即unreachable,表示不可到達(dá)狀態(tài)。r即recovery,表示重新恢復(fù)狀態(tài)。

service_notification_commands notify-service-by-email

定義服務(wù)發(fā)生故障時(shí),發(fā)送通知的方式,這里定義的是郵件,其中“notify-service-by-email”在commands.cfg文件中定義。

host_notification_commands notify-host-by-email

定義主機(jī)發(fā)生故障時(shí),發(fā)送通知的方式,這里定義的是郵件,其中“notify-host-by-email”在commands.cfg文件中定義。

register 0

}

define host{

name generic-host

定義主機(jī)名稱。這里的主機(jī)名,并不是直接對(duì)應(yīng)到真正機(jī)器的主機(jī)名,而是對(duì)應(yīng)到在主機(jī)配置文件里所設(shè)定的主機(jī)名。

notifications_enabled 1

event_handler_enabled 1

flap_detection_enabled 1

failure_prediction_enabled 1

process_perf_data 1

retain_status_information 1

retain_nonstatus_information 1

notification_period 24x7

指定發(fā)送通知的時(shí)間段,也就是可以在什么時(shí)候發(fā)送通知給使用者。

register 0 }

define host{

name linux-server

定義主機(jī)名稱。

use generic-host

use表示引用,也就是將主機(jī)generic-host的所有屬性引用到linux-server中來(lái)。在nagios配置中,很多情況下會(huì)用到引用。

check_period 24x7

這里的check_period告訴nagios檢查主機(jī)的時(shí)間段。

check_interval 5

nagios對(duì)主機(jī)的檢查時(shí)間間隔,這里是5分鐘。

retry_interval 1

重試檢查時(shí)間間隔,單位是分鐘。

max_check_attempts 10

nagios對(duì)主機(jī)的最大檢查次數(shù),也就是nagios在檢查發(fā)現(xiàn)某主機(jī)異常時(shí),并不馬上判斷為異常狀況,而是多試幾次,因?yàn)橛锌赡苤皇且粫r(shí)網(wǎng)絡(luò)太擁擠,或是一些其他原因,讓主機(jī)受到了一點(diǎn)影響,這里的10就是最多試10次的意思。

check_command check-host-alive

指定檢查主機(jī)狀態(tài)的命令,其中“check-host-alive”在commands.cfg文件中定義。

notification_period workhours

當(dāng)主機(jī)故障時(shí),發(fā)送通知的時(shí)間范圍,其中“workhours”在timeperiods.cfg中進(jìn)行定義。

notification_interval 120

在主機(jī)出現(xiàn)異常后,故障一直沒(méi)有解決,nagios再次對(duì)使用者發(fā)出通知的時(shí)間,單位是分鐘。

notification_options d,u,r

定義主機(jī)在什么狀態(tài)下可以發(fā)送通知給使用者。d即down,表示宕機(jī)狀態(tài)。u即unreachable,表示不可到達(dá)狀態(tài)。r即recovery,表示重新恢復(fù)狀態(tài)。

contact_groups admins

指定聯(lián)系人組,這個(gè)“admins”在contacts.cfg文件中定義。

register 0 }

define service{

name generic-service

定義服務(wù)名稱。

active_checks_enabled 1

passive_checks_enabled 1

parallelize_check 1

obsess_over_service 1

check_freshness 0

notifications_enabled 1

event_handler_enabled 1

flap_detection_enabled 1

failure_prediction_enabled 1

process_perf_data 1

retain_status_information 1

retain_nonstatus_information 1

is_volatile 1

check_period 24x7

這里的check_period告訴nagios檢查服務(wù)的時(shí)間段。

max_check_attempts 3

nagios對(duì)服務(wù)的最大檢查次數(shù)。

normal_check_interval 10

此選項(xiàng)是用來(lái)設(shè)置服務(wù)檢查時(shí)間間隔,也就是說(shuō),nagios這一次檢查和下一次檢查之間所隔的時(shí)間,這里是10分鐘。

retry_check_interval  2

重試檢查時(shí)間間隔,單位是分鐘。

contact_groups  admins

指定聯(lián)系人組,同上。

notification_options  w,u,c,r

這個(gè)定義的是通知可以發(fā)出時(shí)的狀態(tài)。w即warn,表示警告狀態(tài),u即unknown,表示不明狀態(tài)。c即criticle,表示緊急狀態(tài)。r即recover,表示恢復(fù)狀態(tài)。也就是在服務(wù)出現(xiàn)警告狀態(tài)、未知狀態(tài)、緊急狀態(tài)和重新恢復(fù)后都發(fā)送通知給使用者。

notification_interval 60

在服務(wù)出現(xiàn)異常后,故障一直沒(méi)有解決,nagios再次對(duì)使用者發(fā)出通知的時(shí)間,單位是分鐘。

notification_period  24x7

指定發(fā)送通知的時(shí)間段,也就是可以在什么時(shí)候發(fā)送通知給使用者。

register  0 }

分享文章:爛泥:學(xué)習(xí)Nagios(二):Nagios配置
本文來(lái)源:http://chinadenli.net/article28/gpjicp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、微信公眾號(hào)、網(wǎng)站內(nèi)鏈、網(wǎng)站營(yíng)銷(xiāo)、網(wǎng)站維護(hù)、品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)