小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

0x01 Nagios配置文件

 Coder編程 2022-06-02 發(fā)布于北京

Nagios配置文件

Nagios有多個(gè)不同的配置文件,用于不同的配置目的。要搞懂和配置Nagios設(shè)置,是一個(gè)比較花費(fèi)時(shí)間的事情。作為初學(xué)者的你,一旦弄懂了這些配置是怎樣工作的,那么你后面將會(huì)更加高效和值得。
Note: 如果你是按照我的安裝文檔中的快速安裝指導(dǎo)安裝的nagios,那么樣例配置文件都被存放在路徑/usr/local/nagios/etc/目錄下。
大致有四類配置文件:1. Main config 2. cgi config 3. resource file 4. object definition file.

配置文件介紹

配置文件和程序之間的關(guān)系圖

引用來(lái)自官方文檔,可以記在心中,相當(dāng)于有了一層組織架構(gòu)。
關(guān)系圖

圖內(nèi)容說(shuō)明:Nagios Daemon就是Nagios核心服務(wù),CGI可以說(shuō)是可執(zhí)行程序,可以讀取http請(qǐng)求的內(nèi)容并響應(yīng)給請(qǐng)求方。4個(gè)配置文件將在下面進(jìn)行介紹。

Main Config File

主配置文件,里面有很多指令,指示不同的配置信息。
Nagios Daemon和CGI程序都會(huì)讀取,不過(guò)CGI程序是通過(guò)讀取CGI Config file中的引用來(lái)知道Main Config的路徑的。
從圖中也看出,從Main Config 可以知道REsource file和 object Definition file。
這也是我們學(xué)習(xí)配置Nagios的配置的起始地。
詳細(xì)文檔main config file doc

文件通常名字是nagios.cfg 位于/usr/local/nagios/etc/目錄下

CGI Config File

這是CGI相關(guān)的配置文件,里面配置的指令,是用于指導(dǎo)CGI程序的。其中包含了一個(gè)指令用于指示引用Main Config File的位置,同時(shí)也間接知道了object 定義。

詳細(xì)文檔cgi config file doc

Resource Config File

存儲(chǔ)了用戶自定義的宏。該文件的一個(gè)主要用途就是存儲(chǔ)用戶的敏感信息,包括密碼。該文件不需要給CGI看到或訪問(wèn)到。
在main中通過(guò)resource_file指令進(jìn)行指定。

Object Definition File

該文件首先是定義了:

  • hosts
  • services
  • hostgroups
  • contacts
  • contactgroups
  • commands
    等等

這里就是定義了你所有要監(jiān)控的東西的定義,和怎么監(jiān)控他們。是不是有點(diǎn)像定義使用類初始化對(duì)象。

在main中通過(guò)cfg_file or cfg_dir 指定

詳細(xì)介紹object definition file doc

配置文件語(yǔ)法說(shuō)明

  1. '#' 開頭的是備注
  2. 指令變量名必須是行首開始,空格是不予許的
  3. 大小寫敏感
  4. 對(duì)于指令變量值是路徑的,分為絕對(duì)路徑和相對(duì)路徑,相對(duì)路徑是相對(duì)當(dāng)前main文件作為參照路徑。
  5. 分號(hào);后的字符也是注釋

核心配置詳解

Object相關(guān)配置

我們都知道,一套系統(tǒng)要管理控制很多東西,首先是要對(duì)控制的東西進(jìn)行抽象再按照格式定義落地下來(lái)。類似oop中的封裝。同時(shí)為了更好的管理這些封裝的對(duì)象,產(chǎn)生繼承關(guān)系是必要的,通過(guò)繼承不僅可以讓子類繼承一些東西,還可以通過(guò)繼承這種關(guān)系控制其某些行為。定義好很多類型后,類型之間還有一些相似的共通的特點(diǎn),將這些共通的特點(diǎn)也要表現(xiàn)出來(lái),這樣使用方就可以通過(guò)這些共通的特點(diǎn)來(lái)統(tǒng)一訪問(wèn)使用這些對(duì)象,多個(gè)種共通特點(diǎn),使用方就可以在多個(gè)共同點(diǎn)維度來(lái)管理訪問(wèn)這些對(duì)象。這就是oop中的多態(tài),具體表現(xiàn)就是接口的定義。實(shí)現(xiàn)了接口,就表現(xiàn)出一種共通特性。從而將異構(gòu)的對(duì)象進(jìn)行在必要的維度上統(tǒng)一管理了。

還有不要忘記了定義好的東西存儲(chǔ)持久化到哪里呢?核心定義肯定是在代碼文件里落地,但是怎么要讓在我們核心代碼基礎(chǔ)上用戶自定義東西,我們代碼再?gòu)闹凶x取來(lái)擴(kuò)展,那么就可以用配置文件或者結(jié)構(gòu)化數(shù)據(jù)(數(shù)據(jù)庫(kù)數(shù)據(jù))來(lái)存儲(chǔ)。這也體現(xiàn)了oop非常重要的序列化和反序列化來(lái)保存或讀取對(duì)象狀態(tài)了。

高談闊論后,思想指導(dǎo)后,我們就按照這個(gè)思想指導(dǎo),看看nagios是怎樣對(duì)應(yīng)思想指導(dǎo)中的一些東西的

  1. object在配置文件中的定義語(yǔ)法是
define host{
    host_name nagios_server_001
    check_command  check-host-alive
}

這里定義了一個(gè)host類型的子類。應(yīng)該說(shuō)host相當(dāng)于一個(gè)抽象類,會(huì)約束定義的這個(gè)子類必須定義必要的屬性。

  1. 當(dāng)然object可以繼承自定義的其它host類,可以看做是多層繼承
define host {
    host_name host1
    check_command check-host-alive
    name host1template  # name表明該子類可以作為一個(gè)可繼承的類
}

define host {
    host_name host2
    check_command check-host-alive
    use host1  # 這里可以看做是host2繼承了抽象類host,又繼承了host1這個(gè)。但是他兩個(gè)都是繼承了host這個(gè)抽象類才行。這樣理解比較好。
}
  1. object的本地變量會(huì)覆蓋同名的繼承變量
    則很好理解,如題意。

  2. 當(dāng)然繼承也是鏈?zhǔn)降?br> 也就是說(shuō),父親的父親的變量也會(huì)繼承下來(lái)

  3. 把共通的默認(rèn)變量放到父類中,來(lái)統(tǒng)一管理共通屬性。

  4. group 組的概念,無(wú)論host還是contact還是service都有一個(gè)對(duì)應(yīng)的gourp,像host group/contact group
    這些組里面,有個(gè)列表類型的變量,存儲(chǔ)了host的引用。這里面的host都是都會(huì)被統(tǒng)一訪問(wèn),說(shuō)明host都有相同的接口,體現(xiàn)了部分多態(tài)特性。

  5. 自定義變量屬性
    可以自定義變量屬性,就是在定義的屬性前加上_開頭

define host {
    _customvar1  10  ; 自定義一個(gè)屬性
    _snmp_community  pulic ; 自定義的第二個(gè)屬性
    name  custometemplate1
    register 0  ; 注意這里是不會(huì)被加載到內(nèi)存中使用的。
}

define host {
    host_name bighost1
    address 10.10.1.1
    use customertemplate1 ; 這里就繼承了自定義類,也有了自定義類的自定義屬性。

8.如果有不想繼承某個(gè)屬性,自己本地又用不上,那么本地對(duì)應(yīng)設(shè)置為null值

9.如果要繼承和本地的屬性的值都要使用可以在本地值前使用+好來(lái)合并一個(gè)列表

  1. nagios特有的跳出傳統(tǒng)繼承關(guān)系的繼承規(guī)則。
    將關(guān)聯(lián)組合的對(duì)象中的屬性變量值拿來(lái)用。而不需要顯示的引用組合對(duì)象名。如果services 類型關(guān)聯(lián)了host類型,那么service可能就會(huì)使用host中的變量。從需求上這樣設(shè)計(jì)很好理解,比如說(shuō)服務(wù)所要用的contact,可以從host中拿去。

  2. 在use 后可以設(shè)置多個(gè)繼承,使用,號(hào)間隔,如果多個(gè)繼承有相同屬性,那么靠前的優(yōu)先級(jí)高。且繼承是深度優(yōu)先的。

CGI 的配置

CGI是nagios操作的入口,大多數(shù)時(shí)候我們通過(guò)cgi程序來(lái)調(diào)用命令。
主要介紹里面幾個(gè)關(guān)鍵的配置

  1. use_authentication 用于配置cgi調(diào)用時(shí),是否進(jìn)行用戶身份認(rèn)證,強(qiáng)力建議設(shè)置認(rèn)證。不然,確定刪除了命令性CGI,避免沒(méi)有被認(rèn)證用戶觸發(fā)命令的執(zhí)行。雖然當(dāng)關(guān)閉認(rèn)證后cgi是不會(huì)觸發(fā)命令的,但是為了安全還是按照說(shuō)的做。

cgi的安全設(shè)置是非常重要的,畢竟cgi通過(guò)web是對(duì)外暴露的,如果不進(jìn)行認(rèn)證等安全限制,那么網(wǎng)絡(luò)都可以執(zhí)行相關(guān)cgi,是非常危險(xiǎn)的。

驗(yàn)證Nagios Core 配置可用性

修改了配置文件,不知道配置文件是否格式或語(yǔ)法或配置是否正確,可以通過(guò)ngios -V path_of_nagios_config 來(lái)驗(yàn)證。
命令你可以檢測(cè)出錯(cuò)誤,或者警告。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多