Nagios配置文件官方說明文檔:https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/4/en/toc.html
Nagios配置文件分爲四部分:html
Main Configure File
主配置文件包含了一些列用於nagios core daemon工做的指令。該配置文件須要對nagios core daemon和CGI 有可讀權限。
配置文件說明:
1. 行首以#開始的爲註釋
2. 變量名必須在行首開始處,而且以前不能擁有空格
3. 變量名區分大小寫
4. 主配置文件中的路徑多是相對的或絕對的。相對路徑相對於主配置文件的位置。ios
本系列博客中,Main Configure File位於:/usr/local/globle/softs/monitor/nagios/4.4.1/etc/nagios.cfgweb
官方配置文件詳解:https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/4/en/configmain.htmlwindows
nagios.cfg是Nagios監控系統的主要配置文件,是Nagios基本功能的實現。
下面表格中的配置及參數,是本系列博客部署Nagios(版本4.4.1)時的參數,僅供參考。緩存
log_file:/usr/local/globle/softs/monitor/nagios/4.4.1/var/nagios.log
nagios運行時的總日誌文件。必須是配置文件的第一個選項。默認開啓。服務器
主要有cfg_fileh和cfg_dir兩部分組成網絡
cfg_fie:/usr/local/globle/softs/monitor/nagios/4.4.1/etc/objects/commands.cfg 命令模板配置文件。默認開啓 cfg_file:/usr/local/globle/softs/monitor/nagios/4.4.1/etc/objects/contacts.cfg 聯繫人模板配置文件。默認開啓 cfg_file:/usr/local/globle/softs/monitor/nagios/4.4.1/etc/objects/timeperiods.cfg 報警時間模板配置文件。默認開啓 cfg_file:/usr/local/globle/softs/monitor/nagios/4.4.1/etc/objects/templates.cfg 監控模板配置文件。默認開啓 cfg_file:/usr/local/globle/softs/monitor/nagios/4.4.1/etc/objects/localhost.cfg 本機(監控主機)配置文件。默認開啓 cfg_file:/usr/local/globle/softs/monitor/nagios/4.4.1/etc/objects/windows.cfg windows監控配置。默認關閉 cfg_file:/usr/local/globle/softs/monitor/nagios/4.4.1/etc/objects/switch.cfg 交換機監控配置。默認關閉 cfg_file:/usr/local/globle/softs/monitor/nagios/4.4.1/etc/objects/printer.cfg 打印機監控配置。默認關閉 cfg_dir:/usr/local/globle/softs/monitor/nagios/4.4.1/etc/servers 服務監控目錄。啓用時,位於該目錄下的xxx.cfg文件所有生效,方便用戶自定義配置管理。默認關閉
object_cache_file:/usr/local/globle/softs/monitor/nagios/4.4.1/var/objects.cache 對象緩存文件。在Nagios啓動或者重啓時,被CGI讀取使用,避免CGI從配置文件讀取對象配置時,因Nagios對象配置文件修改形成的衝突。
precached_object_file:/usr/local/globle/softs/monitor/nagios/4.4.1/var/objects.precache >此選項肯定預緩存對象文件的位置。若是使用-p 命令行選項運行 Nagios, 它將預處理對象配置文件, 並將緩存的配置寫入此文件。 而後, 您可使用-u 選項啓動 Nagios 以使其讀取此預緩存文件中的對象定義, 而不是標準對象配置文件 (請參見上面的 cfg_file 和 cfg_dir 選項)。使用預緩存對象文件能夠加快 (從新) 啓動所需的時間。若是您有一個大的和/或複雜的配置, Nagios 過程。閱讀有關優化 Nagios 的文檔部分, 以找到更有關此功能的工做原理。
resource_file=/usr/local/globle/softs/monitor/nagios/4.4.1/etc/resource.cfg 這是一個可選的資源文件,包含了USERx的宏定義。經過配置多個resource_file能夠設置多個資源文件。 CGI不會讀取資源文件,所以敏感的用戶密碼等信息能夠定義爲此文件中的宏,而且能夠將文件權限設置文件600
status_file=/usr/local/globle/softs/monitor/nagios/4.4.1/var/status.dat 存儲當前全部被監控的服務和主機狀態的文件。它的值被CGI讀取和執行。在nagios重啓時這些內容會被刪除。 status_update_internal=10 該選項肯定nagios週期性轉存program,host,servicie的頻率值
nagios_user=nagios 運行nagios的系統用戶 nagios_group=nagios 運行nagios的用戶組
temp_file=/usr/local/globle/softs/monitor/nagios/4.4.1/var/nagios.tmp 這是nagios更新狀態日誌,清除內容文件等劃出的臨時目錄。該目錄在nagios啓動時建立,使用和刪除 temp_path=/tmp nagios爲service和host檢查結果建立的臨時目錄
check_external_commands=1socket
該選項容許用戶指定nagios是否檢查外部指令(在下面定義的command file選項)。默認狀況下,nagios將會檢查外部命令。若是用戶想啓用CGI命令接口,能夠開啓該項。0表示不開啓,1表示開啓。默認開啓。優化
command_file=/usr/local/globle/softs/monitor/nagios/4.4.1/var/rw/nagios.cmd命令行
該選項是nagios檢查外部命令請求的文件。它也是用戶經過CGI提交的命令的地方。所以對於web server的用戶必須是可寫權限的。權限設置須要在目錄級別而非文件,而且該文件在執行完其內容後總被刪除。默認開啓
query_socket=/usr/local/globle/softs/monitor/nagios/4.4.1/var/rw/nagios.qh 該選項是Query Handler interface建立的socker套接字
check_worker=10 該項設置指定當nagios core 開始時,有多少worker process應該啓動。worker process 用於執行主機和服務的檢查。 若是未指定,默認的值爲每一個計算核心1.5個worker process,最小4個worker process
host_down_disable_service_checks=0/1 該項設置將會關閉服務檢查當其所在主機宕機時。雖然在某些環境中是可取的, 但啓用此值可能會扭曲報表值, 由於預期的檢查數量不會執行
enable_notification=0/1 該項設置決定了當nagios啓動或者重啓時是否發送警告信息。若是禁用,nagios不會發送任何主機或者服務的報警。 注意:若是用戶開啓了【state retention】,nagios將會忽略此項配置,並在(從新)啓動時使用最後一次該選項的配置(存儲在state retention file中),除非禁用掉【use_retained_program_state】選項。 若是用戶在【state retention】啓用時想要改變此項配置(use_retained_program_state開啓),用戶將不得不經過web interface來實現。
lock_file=/var/run/nagios.lock
程序運行時pid的鎖文件
event_broker_options=-1
控制那些數據發送到事件中斷器。0表示不發送,-1表示發送全部。其餘值參照文檔。
EVENT BROKER MODULES
該選項指令主要用於指定一個在nagios啓動時被加載的事件中斷模塊。經過定義多個指定來加載多個模塊。
啓動時傳遞給模塊的參數經過空格隔開。
例如:
broker_module=<modulepath> [moduleargs] breoker_module=/somewhere/module1.0 breoker_module=/somewhere/module2.0 arg1 arg2=3 debud=0
日誌輪換方式主要爭對nagios的主日誌文件。其值包括:
log_rotation_method=d 默認以天爲單位進行日誌輪換
log_archive_path=/usr/local/globle/softs/monitor/nagios/4.4.1/var/archives** 該選項定義日誌輪換歸檔目錄
use_syslog=1
該現象表示是否記錄到syslog中。1表示記錄,0表示不記錄。
log_notification=1
日誌notifications級別是否被記錄。1表示記錄,0表示不記錄。
log_service_retries=1
服務檢查重啓記錄是否記錄到日誌。1表示記錄,0表示不記錄。
log_host_retries=1
主機檢查重試記錄是否記錄到日誌。1表示記錄,0表示不記錄。
log_event_handlers=1
若是不但願host和service事件句柄被記錄到日誌,設置爲0,反之設置爲1。
log_initial_states=0
若是用戶但願記錄全部的主機和服務的開始狀態到日誌文件中。若是用戶不使用具備長期狀態的外部應用程序統計報告, 您不須要啓用此選項。 在此狀況下, 將值設置爲0
log_current_states=1
若是不但願 Nagios 在將日誌存儲到主日誌文件以後記錄全部當前主機和服務狀態, 能夠經過將此值設置爲0來禁用此選項。默認值爲1。
log_external_commands=1
若是不但願 Nagios 記錄外部命令, 請將此值設置爲0。 若是外部指令應該被記錄, 請將此值設置爲 1
注意: 此選項不包括對被動服務檢查的日誌記錄(請參閱如下選項以控制是否記錄被動檢查)
log_passive_checks=1
若是用戶不但願nagios記錄主動檢查日誌,設置爲0。反之爲1
GLOBAL HOST AND SERVICE EVENT HANDLERS
這些選項容許您指定要爲每一個主機或服務狀態更改運行的主機和服務事件處理程序命令。
全局事件處理程序在您在每一個主機或服務定義中有選擇地指定的事件處理程序以前當即執行。
命令參數是您在主機配置文件中定義的命令定義的簡稱。
有關詳細信息, 請閱讀 HTML 文檔。
Nagios的對象包括:服務,服務組,主機,主機組,聯繫人,聯繫人組,命令集,時間段,通知方式,通知和執行依賴。
Nagios的Object 在主配置文件中的cfg_file和cfg_dir兩個參數定義文件和目錄。
主機和主機組
主機通常是物理設備,如服務器,工做站,路由器,交換機,打印機等;主機通常有IP地址或者MAC地址;主機上有一個或者多個服務運行;主機之間存在父子關係,一般可以反映真實的網絡鏈接
主機組是一個或者更多的主機
服務和服務組
服務主要包括:主機資源如CPU負載,磁盤使用,系統負載等;網絡服務,如HTTP,POP3,FTP,SSH等;
服務組是一個或者更多的服務
聯繫人和聯繫人組
聯繫方式定義,報警應答。
時刻和時間段
主機或者服務監控的時間段,通知聯繫人的時間段
命令集
包括:主機和服務的檢查,報警,事件處理,其餘命令
不難發現: Nagios實際上不監控行爲量化,而後採用宏定義的方式實現批量處理。 好比監控對象顆粒化:主機,主機組,服務,服務組; 時間顆粒化:監控時刻或者時間段,報警時刻或者時間段,通知時刻或者時間段 行爲顆粒化:主機(組)檢查行爲,服務(組)檢查行爲,報警和通知行爲,事件處理(控制)行爲等