Nagios的各個物件參數
功能
Host定義一個虛擬或實體主機,或各種網路設備
格式
紅色為必要的屬性,黑色為選填的屬性
define host{
|
||
host_name
|
host_name
|
|
alias
|
alias
|
|
display_name
|
display_name
|
|
address
|
address
|
|
parents
|
host_names
|
|
hostgroups
|
hostgroup_names
|
|
check_command
|
command_name
|
|
initial_state
|
[o,d,u]
|
|
max_check_attempts
|
#
|
|
check_interval
|
#
|
|
retry_interval
|
#
|
|
active_checks_enabled
|
[0/1]
|
|
passive_checks_enabled
|
[0/1]
|
|
check_period
|
timeperiod_name
|
|
obsess_over_host
|
[0/1]
|
|
check_freshness
|
[0/1]
|
|
freshness_threshold
|
#
|
|
event_handler
|
command_name
|
|
event_handler_enabled
|
[0/1]
|
|
low_flap_threshold
|
#
|
|
high_flap_threshold
|
#
|
|
flap_detection_enabled
|
[0/1]
|
|
flap_detection_options
|
[o,d,u]
|
|
process_perf_data
|
[0/1]
|
|
retain_status_information
|
[0/1]
|
|
retain_nonstatus_information
|
[0/1]
|
|
contacts
|
contacts
|
|
contact_groups
|
contact_groups
|
|
notification_interval
|
#
|
|
first_notification_delay
|
#
|
|
notification_period
|
timeperiod_name
|
|
notification_options
|
[d,u,r,f,s]
|
|
notifications_enabled
|
[0/1]
|
|
stalking_options
|
[o,d,u]
|
|
notes
|
note_string
|
|
notes_url
|
url
|
|
action_url
|
url
|
|
icon_image
|
image_file
|
|
icon_image_alt
|
alt_string
|
|
vrml_image
|
image_file
|
|
statusmap_image
|
image_file
|
|
2d_coords
|
x_coord,y_coord
|
|
3d_coords
|
x_coord,y_coord,z_coord
|
|
|
}
|
說明
host_name
|
Host的主體名稱,又稱為short name,建議不要設太長
設定hostgroup和service會參考到這個屬性
同時也會把這個屬性儲存到$HOSTNAME$這個變數
|
alias
|
註解或是主機的完整名稱
這個屬性也有變數,$HOSTALIAS$
|
address
|
主機的IP或FQDN
如果沒有此屬性,會使用host_name代替
變數為$HOSTADDRESS$
|
display_name
|
在WEB介面上用來顯示主機的名稱
如果沒輸入會用host_name代替
(目前的CGI還不支援,或許未來會)
|
parents
|
相依性設定,如果要設定這個屬性,要設定為最接近的上游設備,通常是連接這台主機的交換器。
或著看官網的教學
https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/3/en/networkreachability.html
|
hostgroups
|
設定這台主機屬於哪一個群組,如有多個群組,可用 “,” 分開
參考hostgroup物件的short name
也可以用hostgroup物件的member屬性來設定
|
check_command
|
檢查這個主機是否正常,一般是用Ping指令測試
如果沒有設定這個屬性,Nagios會假設這台主機一直是UP的狀態 (可能會在WEB介面看到PENDING字樣)
參考command物件的short name
如果檢查的指令太久沒有回應,則會直接認為這台主機已經掛了。
可調正Nagios設定的host_check_timeout值 (預設是60秒)
|
initial_state
|
主機的初始狀態,預設是UP,可以用此屬性覆寫
可用的值有,UP= o,DOWN= d,UNREACHABLE=
u
|
max_check_attempts
|
check_command屬性的檢查重試次數
達到這個次數時就會變為Hard
status
|
check_interval
|
check_command的正常測試間隔
其中的單位定義在Nagios設定的interval_length
預設是60秒
|
retry_interval
|
check_command的軟狀態時的重試間隔
達到max_check_attempts就會變為hard status
|
active_checks_enabled
|
啟動主動檢查機制,預設是啟動的
可以改成0變成永不檢查
|
passive_checks_enabled
|
啟動被動檢查機制,預設是啟動的
可以改成0變成永不檢查
|
check_period
|
執行active check的時段
參考timeperiod物件的short name
|
obsess_over_host
|
This directive determines whether or not
checks for the host will be "obsessed" over using the ochp_command.
|
check_freshness
|
This directive is used to determine
whether or not freshness checks are enabled for this host.
|
freshness_threshold
|
specify the freshness threshold (in
seconds) for this host. If you set this directive to a value of 0, Nagios
will determine a freshness threshold to use automatically.
|
event_handler
|
當主機的狀態改變時,會觸發這個屬性設定的指令
(狀態改變所指的是從UP->DOWN或DOWN->UP)
指令可持續運作的時間依據event_handler_timeout值
可調正Nagios設定的event_handler_timeout值(預設是60秒)
參考command物件的short name
|
event_handler_enabled
|
設定是否啟動event_handler。
不啟動=0 。 啟動=1
|
low_flap_threshold
|
Flapping的解除值 (low),詳細說明可看
Flapping Detection–狀態不穩定的機制
如果這邊沒設定將看全域的設定,預設是5.0
|
high_flap_threshold
|
啟動Flapping值 (high),詳細說明可看
Flapping Detection–狀態不穩定的機制
如果這邊沒設定將看全域的設定,預設是20.0
|
flap_detection_enabled
|
是否啟動偵查主機不穩定的機制。
如果這邊沒設定將看全域的設定
nagios.conf內的enable_flap_detection,預設是開啟
|
flap_detection_options
|
設定那些狀態會被列入狀態不穩定
可用的值有,UP= o,DOWN= d,UNREACHABLE=
u
|
process_perf_data
|
是否會處理效能資料 (performance
data)
|
retain_status_information
|
是否讀取重開機之前的狀態檔
前提是全域設定的retain_state_information必須設為1
(預設有開啟retain_state_information)
預設狀態檔會存在 /usr/local/nagios/var/retention.dat
|
retain_nonstatus_information
|
是否不讀取主機狀態檔
|
contacts
|
當要告警時,要找哪個人員告警,可用 “,”
分隔多個人員
|
contact_groups
|
要告警的人員群組,可用 “,” 分隔多個群組
|
notification_interval
|
當狀態持續發生時,兩個告警之間的時間。
單位是 unit time,由全域設定的interval_length控制
預設是60秒,也就是設定為2的時候,就是2分鐘發一次
|
first_notification_delay
|
當觸發可以告警的狀態時,要延遲多久才要發出告警
單位是 unit time
|
notification_period
|
會發送告警的時間
參考timeperiod物件的short name
|
notification_options
|
當切換狀態時發出告警,可設定轉換到哪幾種狀態才告警
預設是全部的狀態都告警,可用的狀態有
DOWN = d,UNREACHABLE=
u,回復到OK的狀態= r
flapping= f,排程關閉狀態= s,都不發送= n
|
notifications_enabled
|
是否要告警
|
stalking_options
|
跟蹤功能要持續跟蹤的狀態
OK= o, DOWN= d, UNREACHABLE= u
|
notes
|
延伸訊息,如有設定可以在這個主機的WEB頁面看到
|
notes_url
|
如果有設定,會看到紅色的資料夾的小圖,其URL可以用絕對路徑和相對路徑
|
action_url
|
如果有設定,會看到紅色的圖案,URL可以用絕對路徑和相對路徑
|
icon_image
|
改變主機的圖片,支援GIF, PNG,
JPG,最大40 x 40
預設要存在 /usr/local/nagios/share/images/logos
資料夾內
|
icon_image_alt
|
上面的屬性的icon圖片的WEB頁面的描述
實際上是在網頁的html標記img內,加上alt屬性
|
vrml_image
|
繪製VRML(statuswrl
CGI)用的主機圖片,官方建議用不透明的圖檔,如jpg支援GIF, PNG, JPG,最大40 x 40
|
statusmap_image
|
繪製statusmap CGI用的主機圖片
|
2d_coords
|
statusmap CGI繪製2D圖所用的座標,設定方式如 (0, 0)
|
3d_coords
|
statuswrl CGI繪製3D圖所用的座標,設定方式如 (0.0,
0.0, 0.0)
|
功能
Hostgroup可以把多個host包在一起,然後統一設定contact或設定service
格式
紅色為必要的屬性,黑色為選填的屬性
define hostgroup{
|
|
hostgroup_name
|
hostgroup_name
|
alias
|
alias
|
members
|
hosts
|
hostgroup_members
|
hostgroups
|
notes
|
Note_string
|
notes_url
|
url
|
action_url
|
url
|
}
|
說明
hostgroup_name
|
群組名稱
|
alias
|
註解或是群組的完整名稱
|
members
|
指定那些主機屬於這個群組
host的short name
|
hostgroup_members
|
指定那些群組屬於這個群組
也就是建立巢狀群組,不建議常用
hostgroup的short name
|
notes
|
如果有設定,會在Group的延伸訊息頁面看到
|
notes_url
|
如果有設定,會在Group的延伸訊息頁面的右上角看到紅色的資料夾
|
action_url
|
如果有設定,會在Group的延伸訊息頁面的右上角看到紅色的圖案
|
功能
用來檢查主機的服務的狀態
格式
紅色為必要的屬性,黑色為選填的屬性
define service{
|
||
host_name
|
host_name
|
|
hostgroup_name
|
hostgroup_name
|
|
service_description
|
service_description
|
|
display_name
|
display_name
|
|
servicegroups
|
servicegroup_names
|
|
is_volatile
|
[0/1]
|
|
check_command
|
command_name
|
|
initial_state
|
[o,w,u,c]
|
|
max_check_attempts
|
#
|
|
check_interval
|
#
|
|
retry_interval
|
#
|
|
active_checks_enabled
|
[0/1]
|
|
passive_checks_enabled
|
[0/1]
|
|
check_period
|
timeperiod_name
|
|
obsess_over_service
|
[0/1]
|
|
check_freshness
|
[0/1]
|
|
freshness_threshold
|
#
|
|
event_handler
|
command_name
|
|
event_handler_enabled
|
[0/1]
|
|
low_flap_threshold
|
#
|
|
high_flap_threshold
|
#
|
|
flap_detection_enabled
|
[0/1]
|
|
flap_detection_options
|
[o,w,c,u]
|
|
process_perf_data
|
[0/1]
|
|
retain_status_information
|
[0/1]
|
|
retain_nonstatus_information
|
[0/1]
|
|
notification_interval
|
#
|
|
first_notification_delay
|
#
|
|
notification_period
|
timeperiod_name
|
|
notification_options
|
[w,u,c,r,f,s]
|
|
notifications_enabled
|
[0/1]
|
|
contacts
|
contacts
|
|
contact_groups
|
contact_groups
|
|
stalking_options
|
[o,w,u,c]
|
|
notes
|
note_string
|
|
notes_url
|
url
|
|
action_url
|
url
|
|
icon_image
|
image_file
|
|
icon_image_alt
|
alt_string
|
|
|
}
|
說明
host_name
|
指定要用這個service的主機
如果有多個主機可以用
“,” 分開
|
hotgroup_name
|
指定要用這個service的群組
如果有多個群組可以用
“,” 分開
|
service_description
|
這個service的名稱
雖然叫做description,但是實際的功能是service的命名
任一個service的定義內不能出現host_name和service_description與其它service相同
|
display_name
|
顯示在網頁上的名字
如果不輸入會用service_description代替
目前網頁還不支援此功能
|
servicegroups
|
指定這個service屬於哪一個service的群組
如果逆屬於多個群組可以用
“,” 分開
Service的群組功能是4版以後才有的
|
is_volatile
|
指定這個服務是否為揮發性的 (預設是沒有)
|
check_command
|
指定要用那個command
指令可以持續運作的最長時間可以在全域設定內的service_check_timeout,預設是60秒
參考command物件的short name
|
initial_state
|
預設Nagios在初始化後會認定每個服務都是在 OK 的狀態,可以用這個屬性複寫初始狀態
OK = o,WARNING =
w,UNKNOWN = u,CRITICAL = c
|
max_check_attempts
|
當檢查後回傳的值不是1 (OK),Nagios會先進入軟狀態(soft state),並重複測試,這個值是重複測試的最大值,達到這個值就會變為硬狀態(hard state)
如果設為1,代表不會進入軟狀態
|
check_interval
|
正常檢查間隔
單位是 “time units”,這個值可以在全域設定的interval_length
(單位秒)調整,預設是60秒
|
retry_interval
|
重試檢查間隔 (軟狀態時的檢查間隔)
單位同上
|
active_checks_enabled
|
啟動主動檢查,0是關 1是開,預設是開
|
passive_checks_enabled
|
啟動被動檢查,0是關 1是開,預設是開
|
check_period
|
執行檢查(check)的時段
參考timeperiod物件的short name
|
obsess_over_service
|
執行event handler和notification指令後都會再執行全域設定的ocsp_command這個屬性所指定的指令
主要是用在分散式Nagios系統時使用,也就是環境大到一台Nagios負荷不了,需要很多台一起運作,然後把運作後的值回傳到主要的Nagios。
(前提是全域設定的obsess_over_services要設為 1 ,官方建議如果沒用到不要啟動,預設為0)
|
check_freshness
|
新鮮度檢查,0是關 1是開,預設是開
|
freshness_threshold
|
新鮮度檢查的過期時間 (單位 秒)
|
event_handler
|
當服務狀態改變時,會觸發這個屬性設定的指令
(狀態改變所指的是從UP->DOWN或DOWN->UP)
指令可持續運作的時間依據event_handler_timeout值
可調正Nagios設定的event_handler_timeout值(預設是60秒
參考command物件的short name
|
event_handler_enabled
|
是否啟動event_handler
|
low_flap_threshold
|
Flapping的解除值 (low),詳細說明可看
Flapping Detection–狀態不穩定的機制
如果這邊沒設定將看全域的設定,預設是5.0
|
high_flap_threshold
|
啟動Flapping值 (high),詳細說明可看
Flapping Detection–狀態不穩定的機制
如果這邊沒設定將看全域的設定,預設是20.0
|
flap_detection_enabled
|
是否啟動偵查主機不穩定的機制。
如果這邊沒設定將看全域的設定
nagios.conf內的enable_flap_detection,預設是開啟
|
flap_detection_options
|
設定那些狀態會被列入狀態不穩定
可用的值有,UP= o,DOWN= d,UNREACHABLE=
u
|
process_perf_data
|
是否會處理效能資料 (performance
data)
|
retain_status_information
|
是否讀取重開機之前的狀態檔
前提是全域設定的retain_state_information必須設為1
(預設有開啟retain_state_information)
預設狀態檔會存在 /usr/local/nagios/var/retention.dat
|
retain_nonstatus_information
|
是否不讀取主機狀態檔
|
notification_interval
|
當狀態持續發生時,兩個告警之間的時間。
單位是 unit time,由全域設定的interval_length控制
預設是60秒,也就是設定為2的時候,就是2分鐘發一次
|
first_notification_delay
|
當觸發可以告警的狀態時,要延遲多久才要發出告警
單位是 unit time
|
notification_period
|
會發送告警的時間
參考timeperiod物件的short name
|
notification_options
|
當切換狀態時發出告警,可設定轉換到哪幾種狀態才告警
預設是全部的狀態都告警,可用的狀態有
DOWN = d,UNREACHABLE=
u,回復到OK的狀態= r
flapping= f,排程關閉狀態= s,都不發送= n
|
notifications_enabled
|
是否要告警
|
contacts
|
當要告警時,要找哪個人員告警,可用 “,”
分隔多個人員
|
contact_groups
|
要告警的人員群組,可用 “,” 分隔多個群組
|
stalking_options
|
跟蹤功能要持續跟蹤的狀態
OK= o, DOWN= d, UNREACHABLE= u
|
notes
|
延伸訊息,如有設定可以在這個服務的WEB頁面看到
|
notes_url
|
如果有設定,會看到紅色的資料夾的小圖,其URL可以用絕對路徑和相對路徑
|
action_url
|
如果有設定,會看到紅色的圖案,URL可以用絕對路徑和相對路徑
|
icon_image
|
改變服務的圖片,支援GIF, PNG,
JPG,最大40 x 40
預設要存在 /usr/local/nagios/share/images/logos
資料夾內
|
icon_image_alt
|
上面的屬性的icon圖片的WEB頁面的描述
實際上是在網頁的html標記img內,加上alt屬性
|
功能
servicegroups可以把多個service包在一起,然後統一設定告警升級和服務相依性
(此功能在3.5版以後才有)
格式
紅色為必要的屬性,黑色為選填的屬性
define servicegroup{
|
||
servicegroup_name
|
servicegroup_name
|
|
alias
|
alias
|
|
members
|
services
|
|
servicegroup_members
|
servicegroups
|
|
notes
|
note_string
|
|
notes_url
|
url
|
|
action_url
|
url
|
|
|
}
|
說明
servicegroup_name
|
服務群組名稱
|
alias
|
註解或是群組的完整名稱
|
members
|
指定那些服務屬於這個群組
參考service的service_description
|
hostgroup_members
|
指定那些群組屬於這個群組
也就是建立巢狀群組,不建議常用
參考servicegroup的short name
|
notes
|
如果有設定,會在serviceGroup的延伸訊息頁面看到
|
notes_url
|
如果有設定,會在serviceGroup的延伸訊息頁面的右上角看到紅色的資料夾
|
action_url
|
如果有設定,會在serviceGroup的延伸訊息頁面的右上角看到紅色的圖案
|
功能
servicegroups可以把多個service包在一起,然後統一設定告警升級和服務相依性
格式
紅色為必要的屬性,黑色為選填的屬性
define contact{
|
||
contact_name
|
contact_name
|
|
alias
|
alias
|
|
contactgroups
|
contactgroup_names
|
|
host_notifications_enabled
|
[0/1]
|
|
service_notifications_enabled
|
[0/1]
|
|
host_notification_period
|
timeperiod_name
|
|
service_notification_period
|
timeperiod_name
|
|
host_notification_options
|
[d,u,r,f,s,n]
|
|
service_notification_options
|
[w,u,c,r,f,s,n]
|
|
host_notification_commands
|
command_name
|
|
service_notification_commands
|
command_name
|
|
email
|
email_address
|
|
pager
|
pager_number or pager_email_gateway
|
|
addressx
|
additional_contact_address
|
|
can_submit_commands
|
[0/1]
|
|
retain_status_information
|
[0/1]
|
|
retain_nonstatus_information
|
[0/1]
|
|
|
}
|
說明
contact_name
|
代表這個物件的名稱,又稱為short name
同時也會把這個屬性儲存到$CONTACTNAME$這個變數
|
alias
|
註解或是聯絡人的完整名稱
如果沒有設定會用contact_name代替
這個屬性也有變數,$CONTACTALIAS$
|
contactgroups
|
設定這個聯絡人屬於哪一個群組,如有多個群組,可用 “,” 分開
參考contactgroup物件的short name
也可以用contactgroup物件的member屬性來設定
|
host_notifications_enabled
|
當主機發生任何問題或回復時,是否會執行host_notification_commands
|
service_notifications_enabled
|
當服務發生任何問題或回復時,是否會執行service_notification_commands
|
host_notification_period
|
只有在這個時間內發生主機的問題時,才會發出告警
參考timeperiod物件的short name
|
service_notification_period
|
只有在這個時間內發生服務的問題時,才會發出告警
參考timeperiod物件的short name
|
host_notification_commands
|
當主機發生任何問題或回復時,用來通知使用者的指令,如果有多個指令可以用 “,” 分隔
參考command物件的short name
|
host_notification_options
|
指定發生那幾種主機的狀態才會發出告警
DOWN = d,UNREACHABLE=
u,回復到OK的狀態= r,flapping= f,排程關閉狀態= s,都不發送= n
|
service_notification_options
|
指定發生那幾種服務的狀態才會發出告警
WARNING = w,UNREACHABLE=
u,CRITIC= c回復到OK的狀態= r,flapping= f,排程關閉狀態= s,都不發送= n
|
service_notification_commands
|
當服務發生任何問題或回復時,用來通知使用者的指令,如果有多個指令可以用 “,” 分隔
參考command物件的short name
|
email
|
這個聯絡人的Email
這個屬性有個變數,$CONTACTEMAIL$
|
pager
|
呼叫器的號碼,這邊可以用在page
gateway的MAIL或叫EMAIL簡訊服務,就像Hinet簡訊圖鈴
這個屬性有個變數,$CONTACTPAGER$
|
addressx
|
其它的額外資訊,如電話號碼、IM名稱,最高可以有六個額外的資訊,address1~address6
會對應到六個變數,$CONTACTADDRESS1$到
$CONTACTADDRESS6$
|
can_submit_commands
|
是否允許這個聯絡人有權限可以執行外部指令(external commands)
不允許 = 0,允許 = 1
|
retain_status_information
|
是否讀取Nagios重新啟動前的狀態檔
前提是全域設定的retain_state_information必須設為1 (預設retain_state_information=1)
預設狀態檔會存在 /usr/local/nagios/var/retention.dat
|
retain_nonstatus_information
|
是否不讀取狀態檔
|
功能
contactgroups可以把多個contact包在一起,然後統一發送告警訊息
格式
紅色為必要的屬性,黑色為選填的屬性
define contactgroup{
|
||
contactgroup_name
|
contactgroup_name
|
|
alias
|
alias
|
|
members
|
contacts
|
|
contactgroup_members
|
contactgroups
|
|
|
}
|
說明
contactgroup_name
|
聯絡人群組名稱
|
alias
|
註解或是群組的完整名稱
|
members
|
指定那些聯絡人屬於這個群組,如果有多個聯絡人需用 “,” 隔開
參考contact的short name
|
contactgroup_members
|
指定那些群組屬於這個群組,如果有多個聯絡人群組需用 “,” 隔開
也就是建立巢狀群組,不建議常用
參考contactgroup的short name
|
功能
設定一個列表,列出那些時間可以發送告警或可以執行檢查的動作
基本上以一個禮拜為周期,設定這個週期內的禮拜一1-7天每天有那些時間是有效時間
另外可以設定例外時間和不包含的時段,也可以指定某年某月某日等
格式
紅色為必要的屬性,黑色為選填的屬性
define timeperiod{
|
||
timeperiod_name
|
timeperiod_name
|
|
alias
|
alias
|
|
[weekday]
|
timeranges
|
|
[exception]
|
timeranges
|
|
exclude
|
[timeperiod1,timeperiod2,...,timeperiodn]
|
|
|
}
|
說明
timeperiod_name
|
代表這個物件的名稱,又稱為short name
|
alias
|
註解或是timeperiod的完整名稱
|
[weekday]
|
設定”周”的有效時間,就是可以執行指令或寄發告警的時間。
共有Monday、Tuesday、Wednesday、Thursday、Friday、Sunday、Saturday,這七天還可以個別設定每天的有效時間,格式為HH:MM-HH:MM
如果希望某一整天不要加入有效時間,可以不要把這一天填入。
例如: Tuesday 08:00-12:00,13:00-17:00,代表禮拜二的8點到12點和下午一點到五點,這個時段是有效時間
|
[exception]
|
例外設定,可以跳脫已周為基礎的設定方式,可以設定特定的日期,每三天或其他的特殊時間段。
詳細方式可看下方說明。
|
exclude
|
指定其它的timeperiod作為例外時段
被參考到的時間段內將被認為無效,也就是不告警不執行檢查
參考timeperiod的short name
|
Exception設定說明
可用的設定格式如下 :
l
Calendar date (2008-01-01)
l
Specific month date (January 1st)
l
Generic month date (Day 15)
l
Offset weekday of specific month
(2nd Tuesday in December)
l
Offset weekday (3rd Monday)
l
Normal weekday (Tuesday)
(天數可以用 “–“ 號表示倒數第幾天)
(禮拜日為一周的第一天,禮拜六為一周的最後一天)
(可以用 “/” 號表示每隔多少天)
Calendar
date
指定某個日期或某一段日期
如2010年的2月2號到2015年的3月3號,每天的零點30分到下午5點10分
2010-02-02 - 2015-03-03 00:30-17:10
2011年的5月5號到2012年3月3號,每三天有一天有效
2011-05-05 - 2012-03-03 / 3 00:00-24:00
代表5月5號有效,6,7號無效,8號有效
Specific
month date
指定月份的日期。指定特定月分的某幾天為有效時間
如指定2月的10號到倒數第2天
february 10 - -2 00:00-24:00
也可以指定跨月份的時段
如指定3月10號到4月15號
march 10 - april 15 0:00-24:00
Generic
month date
如果想要每個月分的某幾天都是有效時間,可以用此方式設定
如每個月的3號到7號,這四天的6點到9點
day 3 - 7 06:00-09:00
Offset
weekday of specific month
指定特定月份的第幾周的天數
例如指定3月的第三周,禮拜二到禮拜四,每天的8點到12點、13點到17點
Tuesday 3 March - Thursday 3 March 08:00-12:00,13:00-17:00
也可以跨月份
如2月的第一周的禮拜三到3月的最後一周的禮拜一
Wednesday 1 February - Monday -1 March
00:00-24:00
Offset
weekday
指定每個月的特定某一周或某幾周
如每個月的第三個禮拜一
Monday 3 00:00-24:00
每個月的最後一周的禮拜日
Normal
weekday
就是最基礎的[weekday],總共有七天
Monday、Tuesday、Wednesday、Thursday、Friday、Sunday、Saturday
每天都可以再指定可用的時間
monday 10:30-12:30
功能
給各種物件執行用,如service checks, service
notifications, service event handlers, host checks, host notifications, 和 host event handlers
指令內可包含Nagios提供的變數,或自己定義變數,如$HOSTNAME$、$USER1$ (<-自定義變數,這個變數由Nagios所設定,代表Nagios內建Plugin的路徑)
格式
紅色為必要的屬性,黑色為選填的屬性
define command{
|
||
command_name
|
command_name
|
|
command_line
|
command_line
|
|
|
}
|
說明
command_name
|
這個指令的名稱
|
command_line
|
Nagios做一件事情時,真正使用的檔案和參數,script或執行檔,和附屬的參數
這個屬性不能添加任何的 “;” 符號,因為Nagios會認為 “;”符號之後的文字都是註解,如果依定要有這個符號,可以用$UER$自定義參數,並在自定義參數內加上 “;”符號
如果想要在使用這個COMMAND的同時傳送一些參數近來,可以用$ARGn$變數,而物件在使用這些指令時需要在command_name後面加上 ”!” 號,再加上要帶進來的參數
|
範例
如host_check想要帶入warning和critic的值,可以如下設定command和host :
(host的部分沒有完整的設定好,在實際使用上可能會不能用,主要是說明指令的關係)
define command {
command_name PING
command_line $USER1$/ check _ping -H $HOSTADDRESS$ -w $ARG1$
-c $ARG2$
-p 5
}
define host {
host_name test
address 1.1.1.1
host_check PING!200,60%!500,80%
}
依照上面的範例,實際上每次執行的時候,真正的指令是 :
/usr/local/nagios/libexec/ping -H 1.1.1.1
-w 200,60%
-c 500,80%
-p 5
另外,$USER$自定義變數可在 /usr/local/nagios/etc/
設定
功能
服務的相依性是進階的設定功能,主要是給需要在複雜環境中使用的使用者
當被相依的服務出問題時,會停止相依的服務的告警功能
當某個服務故障時會影響到其它服務時,這兩者間就有相依性
格式
紅色為必要的屬性,黑色為選填的屬性
define servicedependency{
|
||
dependent_host_name
|
host_name
|
|
dependent_hostgroup_name
|
hostgroup_name
|
|
servicegroup_name
|
servicegroup_name
|
|
dependent_servicegroup_name
|
servicegroup_name
|
|
dependent_service_description
|
service_description
|
|
host_name
|
host_name
|
|
hostgroup_name
|
hostgroup_name
|
|
service_description
|
service_description
|
|
inherits_parent
|
[0/1]
|
|
execution_failure_criteria
|
[o,w,u,c,p,n]
|
|
notification_failure_criteria
|
[o,w,u,c,p,n]
|
|
dependency_period
|
timeperiod_name
|
|
|
}
|
說明
服務的依存性主要有四個屬性要匹配好,分別是主要的服務、主要的主機、被影響的服務、被影響的主機 :
主要的服務 – 這個服務出問題後會使其它的服務連帶受影響
主要的主機 – 上面的服務所存在的主機,或著說執行主要服務的主機
被影響的服務 – 一旦主要的服務出問題,這個服務也會出問題
被影響的主機 – 執行被影響的服務的主機
dependent_host_name
|
被影響的主機,如果此欄位不填寫代表與host_name同一台主機
參考host的short name
|
dependent_hostgroup_name
|
被影響的主機群組,也就是上面的主機執行著” 被影響的服務”
參考hostgroup的short name
|
servicegroup_name
|
主要的服務群組
|
dependent_servicegroup_name
|
被影響的服務群組
|
dependent_service_description
|
被影響的服務
參考service的description
|
host_name
|
主要的主機
|
hostgroup_name
|
主要的主機群組
|
service_description
|
主要的服務
參考service的description
|
inherits_parent
|
是否繼承主要的服務的相依性
意思是如果主要的服務也有設定相依性時,被影響的服務是否也相依於最前面的服務,或著說更主要的服務
|
execution_failure_criteria
|
“主要的服務”處於那一個狀態時,“被影響的服務”不執行主動檢查的指令。
OK = o,WARNING =
w,UNREACHABLE= u,CRITIC= c,Pending= p,總是執行= n
例如設定o,c,u,則“主要的服務”處於OK、Critic、Unreachable這三種狀態時,“被影響的服務”不會執行主動檢查的指令。
|
notification_failure_criteria
|
“主要的服務”處於那一個狀態時,“被影響的服務”不會送出告警訊息。
OK = o,WARNING =
w,UNREACHABLE= u,CRITIC= c,Pending= p,總是發送= n
例如設定w,則“主要的服務”處於Warning狀態時,“被影響的服務”不會發送告警訊息。
|
dependency_period
|
這個相依性設定的有效時段
參考timeperiod的short name
|
功能
服務的告警升級屬於進階的設定,不一定要有。
當一個事件持續發生一個小時或更久的時候,公司可能會希望這個訊息能讓更高層的人知道,因此會需要改變告警的人員和告警的間隔。
格式
紅色為必要的屬性,黑色為選填的屬性
define serviceescalation{
|
||
host_name
|
host_name
|
|
hostgroup_name
|
hostgroup_name
|
|
service_description
|
service_description
|
|
contacts
|
contacts
|
|
contact_groups
|
contactgroup_name
|
|
first_notification
|
#
|
|
last_notification
|
#
|
|
notification_interval
|
#
|
|
escalation_period
|
timeperiod_name
|
|
escalation_options
|
[w,u,c,r]
|
|
|
}
|
說明
host_name
|
安裝服務的主機
參考host的short name
|
hostgroup_name
|
安裝服務的主機群組
|
service_description
|
要使用事件升級的服務
參考service的description
|
contacts
|
事件升級後要通知的聯絡人
|
Contact_groups
|
事件升級後要通知的聯絡人群組
|
first_notification
|
當一般告警發送幾次後,就會進入事件升級
|
last_notification
|
進入事件升級後,告警幾次後結束事件升級
如果設為0,則會依值持續發送,直到事件結束
|
notification_interval
|
事件升級後,告警的間隔
如果有一個服務同時會啟動多個事件升級,則發送告警的間隔會用數值最低的
|
escalation_period
|
事件升級有效的時間
參考timeperiod的short name
|
escalation_options
|
服務的狀態處於那幾種狀態時,才會觸發事件升級
回復到OK狀態 = r,Warning = w,Unreachable = u,Critic = c
|
功能
當某個主機/設備故障時會影響到其它主機時,這兩者間就有相依性
當被相依的主機出問題時,會停止相依的主機的告警功能
主機的相依性是進階的設定功能,主要是給需要在複雜環境中使用的使用者
格式
紅色為必要的屬性,黑色為選填的屬性
define hostdependency{
|
||
dependent_host_name
|
host_name
|
|
dependent_hostgroup_name
|
hostgroup_name
|
|
host_name
|
host_name
|
|
hostgroup_name
|
hostgroup_name
|
|
inherits_parent
|
[0/1]
|
|
execution_failure_criteria
|
[o,d,u,p,n]
|
|
notification_failure_criteria
|
[o,d,u,p,n]
|
|
dependency_period
|
timeperiod_name
|
|
|
}
|
說明
主機的依存性比服務相依性簡單一點。有兩個屬性要匹配好,分別主要的主機、被影響的主機
:
主要的主機 – 如果這個主機出現問題,會使其它主機也出現問題
被影響的主機 – 如果主要的主機有問題時,這台主機也會出現問題
dependent_host_name
|
被影響的主機,如果被影響的主機很多,可以用 “,” 分隔開來
參考host的short name
|
dependent_hostgroup_name
|
被影響的主機群組”
參考hostgroup的short name
|
host_name
|
主要的主機
|
hostgroup_name
|
主要的主機群組
|
inherits_parent
|
是否繼承主要的主機的相依性
意思是如果主要的主機也有設定相依性時,被影響的主機是否也相依於最前面的主機,或著說更主要的主機
|
execution_failure_criteria
|
“主要的主機”處於那一個狀態時,“被影響的主機”不執行主動檢查的指令。
OK = o,WARNING =
w,UNREACHABLE= u,CRITIC= c,Pending= p,總是執行= n
例如設定o,c,u,則“主要的主機”處於OK、Critic、Unreachable這三種狀態時,“被影響的主機”不會執行主動檢查的指令。
|
notification_failure_criteria
|
“主要的主機”處於那一個狀態時,“被影響的主機”不會送出告警訊息。
OK = o,WARNING =
w,UNREACHABLE= u,CRITIC= c,Pending= p,總是發送= n
例如設定w,則“主要的主機”處於Warning狀態時,“被影響的主機”不會發送告警訊息。
|
dependency_period
|
這個相依性設定的有效時段
參考timeperiod的short name
|
功能
當一個事件持續發生一個小時或更久的時候,公司可能會希望這個訊息能讓更高層的人知道,因此會需要改變告警的人員和告警的間隔。
主機的告警升級屬於進階的設定,不一定要有。
格式
紅色為必要的屬性,黑色為選填的屬性
define hostescalation{
|
||
host_name
|
host_name
|
|
hostgroup_name
|
hostgroup_name
|
|
contacts
|
contacts
|
|
contact_groups
|
contactgroup_name
|
|
first_notification
|
#
|
|
last_notification
|
#
|
|
notification_interval
|
#
|
|
escalation_period
|
timeperiod_name
|
|
escalation_options
|
[d,u,r]
|
|
|
}
|
說明
host_name
|
要執行事件升級的主機
參考host的short name
|
hostgroup_name
|
要執行事件升級的主機群組
|
contacts
|
事件升級後要通知的聯絡人
|
Contact_groups
|
事件升級後要通知的聯絡人群組
|
first_notification
|
當一般告警發送幾次後,就會進入事件升級
|
last_notification
|
進入事件升級後,告警幾次後結束事件升級
如果設為0,則會依值持續發送,直到事件結束
|
notification_interval
|
事件升級後,告警的間隔
如果有一個主機同時會啟動多個事件升級,則發送告警的間隔會用數值最低的
|
escalation_period
|
事件升級有效的時間
參考timeperiod的short name
|
escalation_options
|
主機狀態處於那幾種狀態時,才會觸發事件升級
回復到OK狀態 = r,Warning = d,Unreachable = u
|
留言
發佈留言