乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      0x01 Nagios配置文件

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

      Nagios配置文件

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

      配置文件介紹

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

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

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

      Main Config File

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

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

      CGI Config File

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

      詳細文檔cgi config file doc

      Resource Config File

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

      Object Definition File

      該文件首先是定義了:

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

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

      在main中通過cfg_file or cfg_dir 指定

      詳細介紹object definition file doc

      配置文件語法說明

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

      核心配置詳解

      Object相關(guān)配置

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

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

      高談闊論后,思想指導后,我們就按照這個思想指導,看看nagios是怎樣對應思想指導中的一些東西的

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

      這里定義了一個host類型的子類。應該說host相當于一個抽象類,會約束定義的這個子類必須定義必要的屬性。

      1. 當然object可以繼承自定義的其它host類,可以看做是多層繼承
      define host {
          host_name host1
          check_command check-host-alive
          name host1template  # name表明該子類可以作為一個可繼承的類
      }
      
      define host {
          host_name host2
          check_command check-host-alive
          use host1  # 這里可以看做是host2繼承了抽象類host,又繼承了host1這個。但是他兩個都是繼承了host這個抽象類才行。這樣理解比較好。
      }
      
      1. object的本地變量會覆蓋同名的繼承變量
        則很好理解,如題意。

      2. 當然繼承也是鏈式的
        也就是說,父親的父親的變量也會繼承下來

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

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

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

      define host {
          _customvar1  10  ; 自定義一個屬性
          _snmp_community  pulic ; 自定義的第二個屬性
          name  custometemplate1
          register 0  ; 注意這里是不會被加載到內(nèi)存中使用的。
      }
      
      define host {
          host_name bighost1
          address 10.10.1.1
          use customertemplate1 ; 這里就繼承了自定義類,也有了自定義類的自定義屬性。
      
      

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

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

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

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

      CGI 的配置

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

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

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

      驗證Nagios Core 配置可用性

      修改了配置文件,不知道配置文件是否格式或語法或配置是否正確,可以通過ngios -V path_of_nagios_config 來驗證。
      命令你可以檢測出錯誤,或者警告。

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

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多