您好,登錄后才能下訂單哦!
Nagios的配置文件
一、Nagios的主配置文件時(shí)nagios.cfg
參數(shù)的設(shè)置格式為<parameter>=<value> 有些值是可以重復(fù)出現(xiàn)的 其中常用的參數(shù)的說明如下:
- Log_file:設(shè)置nagios的日志文件
- cfg_file: Nagios對象定義的相關(guān)文件,此參數(shù)可重復(fù)使用多次以指定多個(gè)文件;
- cfg_dir: 設(shè)定Nagios對象定義的相關(guān)文件所在的目錄,此目錄中的所有文件都會(huì)被作為對象
- 定義的文件;此參數(shù)可重復(fù)使用多次以指定多個(gè)目錄;
- resource_file: 設(shè)定Nagios附加的宏定義的相關(guān)文件;
- status_file: 設(shè)定Nagios存儲所有主機(jī)和服務(wù)當(dāng)前狀態(tài)信息的文件;
- status_update_interval: 設(shè)定status_file指定的文件中狀態(tài)信息的更新頻率;
- service_check_timeout: 設(shè)定服務(wù)檢測的超時(shí)時(shí)間,默認(rèn)為60秒;
- host_check_timeout: 設(shè)定主機(jī)檢測的超時(shí)時(shí)間,默認(rèn)為30秒;
- notification_timeout: 設(shè)定通知信息發(fā)送嘗試的超時(shí)時(shí)間,默認(rèn)為30秒;
二、resource_file 變量存儲文件 rescource.cfg
在主配置文件中,參數(shù)resource_file用于定義所有用戶變量(即“宏”)的存儲文件,它用于存儲對象定義中的可以訪問的額外信息,此文件中可以定義的宏可多達(dá)32個(gè),它們分別為$USER1$,$USER2$...$USER32,這些宏一般在check命令中引用。通常情況下$USER1$用于引用Nagios插件所在目錄這個(gè)路徑信息,因此,一般不建議修改其值。
$USER1$=/usr/local/nagios/libexec
Nagios 中事先定義了一些宏,它的值依賴于安全上下文,例如:
- HOSTNAME: 用于引用host_name指定所定義的主機(jī)的主機(jī)名;
- HOSTADDRESS: 用于引用host對象中的address指令的值,它通常可以為IP地址或主機(jī)名;
- HOSTDISPLAYNAME: 用于引用host對象中alias指令的值,用以描述當(dāng)前主機(jī),
- 即主機(jī)的顯示名稱;
- HOSTSTATE:某主機(jī)的當(dāng)前狀態(tài),為UP,DOWN,UNREACHABLE三者之一;
- HOSTGROUPNAMES: 用于引用某主機(jī)所屬的所有主機(jī)組的簡名,主機(jī)組名稱之間以逗號分隔;
- LASTHOSTCHECK:用于引用某主機(jī)上次檢測的時(shí)間和日期,Unix時(shí)間戳格式;
- LASTHOSTSTATE:用于引用某主機(jī)前一次檢測時(shí)的狀態(tài),為UP,DOWN或UNREACHABLE三者之一;
- SERVICEDESC: 用于引用對應(yīng)service對象中的desccription指令的值;
- SERVICESTATE: 用于引用某服務(wù)的當(dāng)前狀態(tài),為OK,WARNING,UNKOWN或CRITICAL
- SERVICEGROUPNAMES: 用于引用某服務(wù)所屬的所有服務(wù)組的簡名,服務(wù)組名稱之間以逗號分隔;
- CONTACTNAME: 用于引用某contact對象中contact_name指令的值;
- CONTACTALIAS: 用于引用某contact對象中alias指令的值;
- CONTACTEMAIL: 用于引用某contact對象中email指令的值;
- CONTACTGROUPNAMES: 用于引用某contact所屬的所有contact組的簡名,contact組名稱
- 之間以逗號分隔;
三、 templates.cfg 定義一些通用的模板,被其他對象引用
###############################################################################
定義一個(gè)主機(jī)
- define host{ #定義一個(gè)主機(jī) 定義基本信息 被其他主機(jī)引用
- name generic-host ; #主機(jī)名稱
- notifications_enabled 1 ; Host notifications are enabled
- event_handler_enabled 1 ; Host event handler is enabled
- flap_detection_enabled 1 ; Flap detection is enabled 不穩(wěn)定檢測
- failure_prediction_enabled 1 ; Failure prediction is enabled 啟用故障預(yù)測
- process_perf_data 1 ; Process performance data 進(jìn)程性能數(shù)據(jù)
- retain_status_information 1 ; Retain status information across program restarts 保持狀態(tài)信息到程序重新啟動(dòng)
- retain_nonstatus_information 1 ; Retain non-status information across program restarts
- notification_period 24x7 ; Send host notifications at any time 發(fā)送通知的時(shí)段
- register 0 ; 模板
- }
定義主機(jī) 引用上面的主機(jī)屬性
- define host{
- name linux-server ; The name of this host template
- use generic-host ; 引用前面定義的主機(jī) 繼承它的屬性值
- check_period 24x7 ; 檢測周期
- check_interval 5 ; 檢測頻率
- retry_interval 1 ; 重試頻率
- max_check_attempts 10 ; 最大確認(rèn)次數(shù)
- check_command check-host-alive ; 檢測命令
- notification_period workhours ; 故障通知時(shí)間段
- notification_interval 0 ; 發(fā)送故障通知的頻率,0表示只發(fā)送一次
- notification_options d,u,r ;主機(jī)處于什么狀態(tài)下發(fā)送通知
- contact_groups admins ; 通知人組
- register 0 ;
- }
其中的notification_options用于指定當(dāng)主機(jī)處于什么狀態(tài)時(shí)應(yīng)該發(fā)送通知。其各狀態(tài)及其表示符如下:
d —— DOWN
u —— UNREACHABLE
r —— UP(host recovery)
f —— flapping
s —— 調(diào)試宕機(jī)時(shí)間開始或結(jié)束
define hostgroup { #定義主機(jī)組
hostgroup_name webservers #主機(jī)組名
alias Linux web servers #主機(jī)組別名
members webserver1 #主機(jī)組成員 也可以包含其他主機(jī)組
}
###############################################################################
定義一個(gè)服務(wù)
- define service{
- name generic-service ;
- active_checks_enabled 1 ;
- passive_checks_enabled 1 ;
- parallelize_check 1 ; 并行檢查啟動(dòng) 提高性能
- failure_prediction_enabled 1 ; 啟用故障預(yù)測
- process_perf_data 1 ; 過程性能數(shù)據(jù)
- check_period 24x7 ; 檢測時(shí)段
- max_check_attempts 3 ; 檢測3次確定狀態(tài)
- normal_check_interval 10 ; 正常檢測周期
- retry_check_interval 2 ; 重試檢測周期
- contact_groups admins ; 通知組
- notification_options w,u,c,r ;通知狀態(tài)
- notification_interval 0 ;發(fā)送通知的周期
- notification_period 24x7 ; 發(fā)送通知的時(shí)間段
- register 0 ;
- }
其中的notification_options用于指定當(dāng)服務(wù)處于什么狀態(tài)時(shí)應(yīng)該發(fā)送通知。其各狀態(tài)及其表示符如下:
w —— WARNING
u —— UNKNOWN
c —— CRITICAL
r —— OK(recovery)
f —— flapping
s —— 調(diào)試宕機(jī)時(shí)間開始或結(jié)束
- define service
- {
- host_name webserver1 主機(jī)名稱 可以給多臺主機(jī)定義同一服務(wù)
- service_description www
- check_command check_http 檢測命令
- check_interval 10 檢測周期
- check_period 24x7 檢測時(shí)間段
- retry_interval 3 重試周期
- max_check_attempts 3 重試檢測次數(shù)
- notification_interval 30 通知周期
- notification_period 24x7 通知時(shí)間段
- notification_options w,c,u,r 通知狀態(tài)
- contact_groups linux-admins 通知人組
- }
#定義服務(wù)組
- define servicegroup{ #定義服務(wù)組
- servicegroup_name webservices
- alias All services related to web
- members webserver1,www,webserver2,www
- }
一個(gè)服務(wù)組的成員通常是某主機(jī)上的某服務(wù),其指定時(shí)使用<host>,<service>的格式,多個(gè)服務(wù)也使用逗號分隔。
Webwervices 服務(wù)組的成員有兩個(gè) 主機(jī)webserver1上的www服務(wù) 和主機(jī)webserver2上的www服務(wù)
##########################################################################
定義命令對象
- define command{
- command_name check_local_swap 命令名字
- command_line $USER1$/check_swap -w $ARG1$ -c $ARG2$ 命令行 }
###########################################################################
定義時(shí)段對象
- define timeperiod
- {
- timeperiod_name workinghours 名字
- alias Working Hours, from Monday to Friday 描述名
- monday 09:00-17:00 多個(gè)時(shí)間跨度
- tuesday 09:00-17:00
- wednesday 09:00-17:00
- thursday 09:00-17:00
- friday 09:00-17:00
- }
###########################################################################
定義聯(lián)系人對象
- define contact {
- contact_name zhanghui #名稱
- alias Mage Education #描述名
- email linuxedu@magedu.com 郵箱地址
- host_notification_period workinghours 主機(jī)通知時(shí)段
- service_notification_period workinghours 服務(wù)通知時(shí)段
- host_notification_options d,u,r 主機(jī)通知狀態(tài)
- service_notification_options w,u,c,r 服務(wù)通知狀態(tài)
- host_notification_commands host-notify-by-email 主機(jī)通知命令
- service_notification_commands notify-by-email 服務(wù)通知命令
- }
notify-service-by-email 和notify-host-by-email 都是命令對象 在命令文件里會(huì)定義
定義聯(lián)系人祖對象
- define contactgroup
- {
- contactgroup_name linux-admins
- alias Linux Administrators
- members zhanghui,zhang
- }
###########################################################################
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。