Nagios 配置文件介紹

 

Nagios的WEB配置

# htpasswd -c /etc/nagios/htpasswd.users nagiosadmin 123456
建一個WEB訪問的用戶之後,在瀏覽器輸入http://ip/nagios/,輸入相應的用戶和密碼就可以就看到Nagios的web界面了。

WEB用到的配置文件是/etc/nagios/cgi.cfg,更改配置可修改這個配置文件。
# vi /etc/nagios/cgi.cfg
use_authentication=1 #使用用戶認證
authorized_for_system_information=nagiosadmin
authorized_for_configuration_information=nagiosadmin
authorized_for_system_commands=nagiosadmin #多個用戶之間用逗號隔開
authorized_for_all_services=nagiosadmin
authorized_for_all_hosts=nagiosadmin
authorized_for_all_service_commands=nagiosadmin
authorized_for_all_host_commands=nagiosadmin

hosts.cfg這段是用來定義一個被監控的主機。
host_name #這一項是用來定義標識主機的名字。我們用這個名字在host group和service裏標識這個主機。一個主機能定義多個服務。使用適當時,宏$HOSTNAME$裏存放了這一項的值。
alias #這一項用來定義主機的一個完整名字或描述。主要是和使你能理容易的標識一個主機。使用適當時,宏$HOSTALIAS$裏存放了這一項的值。
address #這一項是用來定義主機的地址。一般而言是主機的IP。當然,你也能夠使用一個FQDN來標識你的主機,在沒有可訪問DNS服務器服務的情況下這種方法會引起問題。使用適當時,宏$ HOSTADDRESS $裏存放了這一項的值。
max_check_attempts #這一項用來定義在檢測返回結果不是OK時,nagios重試檢測命令的次數。設置這個值爲1會導致nagios一次也不重試就報警。
check_period #這一項用一個time period項的名字來定義在哪段時間內激活對這臺主機的主動檢測。time period是定義在別的文件裏的配置項,我們可以在這裏用名字來引用她。
contact_groups #這是一個聯繫組列表。我們用聯繫組的名字來引用她們。多個聯繫組間用“,”來分隔。
notification_interval #這一項用來定義當一個服務仍然down或unreachable時,我們間隔多久重發一次通知給聯繫組。
notification_period #這一項用一個time period定義來標識什麼時間段內給聯繫組送通知。這裏我們用time period定義的名字來引用她。
notification_options #這一項用來決定發送通知的時機。選項有:d = 當有down狀態時發送通知,u = 當有unreachable狀態時發送通知, r = 當有服務recoveries時發送通知,f = 當主機啓動或停機時發送通知。如果你給一個n選項,那麼永遠不會發送通知。
}

define hostgroup{ #這段是用來定義一個被監控的主機組。
hostgroup_name #主機組名稱,通常定義得較短
alias #主機組別名,通常定義得較長
members #主機組成員
}


services.cfg這段是用來定義一個被監控的服務。
host_name #主機名稱
service_description #服務描述
check_command #執行命令
max_check_attempts #最大失敗嘗試次數,值爲1時只報警不重新檢測
normal_check_interval #常規檢測間隔時間,默認爲60分鐘(常規檢測是指無論服務狀態是否正常,檢測次數達到“最大次數”時)
retry_check_interval #失敗嘗試間隔時間,默認爲60分鐘(失敗嘗試是指服務狀態不正常,檢查次數達到“最大次數”時)
check_period #檢測時間段
notification_interval #當服務狀態不正常時通知聯繫人的間隔時間,值爲0時不通知聯繫人
notification_period #通知聯繫人時間段
notification_options #通知聯繫人選項,w警告,u未知,c危急,f啓動和停止,n不發送通知
contact_groups #聯繫人組
}


define servicegroup{ #這段是用來定義一個被監控的服務組。
servicegroup_name #服務組名稱,通常定義得較短
alias #服務組別名,通常定義得較長
members #服務組成員
}


contacts.cfg這段是用來定義一個聯繫人。
contact_name #這個指令用來定義一個聯繫人的簡稱。他會在定義contactgroup時被引用到。在相應的環境中,宏定義$CONTACTNAME$會包含這個值。
alias #這個指令是爲了定義一個聯繫人的具體的描述。在相應的環境中,宏定義$CONTACTALIAS$會包含這個值。
host_notification_period #這個指令是爲了定義,能夠通知Contact中定義的那個簡稱聯繫人,關於主機有問題或者恢復正常狀態的時間段。你可以把他想象成能夠通知Contact關於主機的在線時間。
service_notification_period #這個指令是爲了定義,能夠通知Contact中定義的那個簡稱聯繫人,關於服務的問題或恢復正常的時間段。
host_notification_options #這個指令爲了定義主機在什麼狀態下會給聯繫人發通知。各個參數的描述如下:d=當主機的狀態處於down時,發送通知;f=當主機狀態處於stop時發送通知。r=當主機恢復up狀態時發送通知。n=什麼狀態下都不發送通知(w-warning , u-unknown,c-critical,r-recovery;d-down,u-unreachable)。
service_notification_options #這個指令爲了定義服務在什麼狀態下會給聯繫人發通知。各個參數的描述如下:w=當服務處於警告狀態時發送通知 u=當服務的狀態處於unknown時,發送通知;f=當服務狀態處於啓動和停止時發送通知。c=當服務處於Critical狀態時發送通知。n=什麼狀態下都不發送通知。
host_notification_commands #這個指令是爲了定義一個通知聯繫人關於主機問題或恢復正常的聯繫手段的一個列表。多個手段之間用逗號隔開。
service_notification_commands#這個指令是爲了定義一個通知聯繫人關於服務問題或恢復正常的聯繫手段的一個列表。多個手段之間用逗號隔開。
email #這個指令是爲了定義聯繫人的email地址。這個將取決於你是如何定義你的notification commands.它可以用來給聯繫人發送緊急郵件。在相應的環境中。宏定義$CONTACTEMAIL$將會包含它的值。
}

define contactgroup{ #這段是用來定義一個聯繫人組。
contactgroup_name #聯繫組名稱,通常定義得較短
alias #聯繫組別名,通常定義得較長
members #聯繫組成員
}


timeperiods.cfg時間段名稱,通常定義得較短
alias #時間段別名,通常定義得較長
sunday #星期日時間段
monday #星期一時間段
tuesday #星期二時間段
wednesday #星期三時間段
thursday #星期四時間段
friday #星期五時間段
saturday #星期六時間段
}


commands.cfg定義命令的簡稱
command_line #定義當服務進行時Nagios要執行的動作。在命令執行以前,所有合法的宏都要被他們的值代替。
}


define command{
command_name #

define timeperiod{
timeperiod_name #

define contact{ #

define service{ #

define host{ #
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章