部署Nagios監控系統

來源:互聯網
上載者:User

標籤:ecc   建立   預設   rc.d   描述   use   author   使用者   lock   

Nagios簡介
  • Nagios是一款開源的免費網路監視工具,能有效監控Windows、Linux和Unix的主機狀態,交換器路由器等網路裝置,印表機等。在系統或服務狀態異常時發出郵件或簡訊警示第一時間通知網站營運人員,在狀態恢複後發出正常的郵件或簡訊通知。
  • nagios本身並沒有監控的功能,所有的監控是由外掛程式完成的,外掛程式將監控的結果返回給nagios,nagios分析這些結果以web的方式展現給我們,同時提供相應的警示功能(這個警示的功能也是由相應的外掛程式完成的。
Nagios工作原理

Nagios的主動模式和被動模式

  • 被動模式:就如同所顯示的那樣,用戶端起nrpe進程,服務端通過check_nrpe外掛程式向用戶端發送命令,用戶端根據服務端的指示來調用相應的外掛程式,外掛程式可以擷取到原生相關資訊,並把擷取到的結果發送給服務端。因為需要調用用戶端的外掛程式去等帶用戶端返回的資訊,所以叫做被動模式
  • 主動模式:主動模式不需要調用用戶端的外掛程式,而是通過自己的外掛程式主動去探測用戶端的相關資訊。
    主動模式和被動模式的區別這兩種模式所擅長監控的服務也是不同的。
  • 主動模式:主機死活,連接埠,http服務,MySQL服務......
  • 被動模式:用戶端主機的負載,硬碟空間,記憶體......

Nagios可以識別4種狀態返回資訊,即 0(OK)表示狀態正常/綠色、1(WARNING)表示出現警告/×××、2(CRITICAL)表示出現非常嚴重的錯誤/紅色、3(UNKNOWN)表示未知錯誤/深×××。Nagios根據外掛程式返回來的值,來判斷監控對象的狀態,並通過web顯示出來,以供管理員及時發現故障。

?

操作步驟

?

  • 案例環境
主機 IP 主要軟體
Nagios監控端 192.168.200.131 httpd、php、nagios、nagios-plugins、nrpe、
被監控端 192.168.200.132 .

?

  • 下載安裝包環境

    # wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.3.1.tar.gz # wget https://nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz# wget https://sourceforge.net/projects/nagios/files/nrpe-3.x/nrpe-3.1.0.tar.gz# yum install -y gcc glibc glibc-common gd gd-devel xinetd openssl-devel# yum intall httpd php
  • 安裝

    # useradd -s /sbin/nologin nagios# mkdir /usr/local/nagios# chown -R nagios.nagios /usr/local/nagios# tar -zxvf nagios-4.3.1.tar.gz -C /opt# cd /opt/nagios-4.3.1# ./configure --prefix=/usr/local/nagios# make all# make install# make install-init# make install-commandmode# make install-config# make install-webconf      //產生apache設定檔# chkconfig --add /etc/rc.d/init.d/nagios# chkconfig --level 35 nagios on# chkconfig --list nagios# ls /usr/local/nagios    檢查 是否存在etc、bin、sbin、share、var 這五個目錄
  • 安裝外掛程式

    # tar xvzf nagios-plugins-2.2.1.tar.gz -C /opt# cd /opt/nagios-plugins-2.2.1/# ./configure --prefix=/usr/local/nagios# make && make install
  • 修改httpd設定檔

    # vim /etc/httpd/conf/httpd.conf User nagios        //修改Group nagios       //修改<IfModule dir_module>     DirectoryIndex index.html index.php       //修改</IfModule> ........AddType application/x-httpd-php .php    //添加
  • 為了安全起見,一般情況下要讓nagios 的web 監控頁面必須經過授權才能訪問,
  • 這需要增加驗證配置,即在httpd.conf 檔案最後添加如下資訊:

    #setting for nagios ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin" <Directory "/usr/local/nagios/sbin">          AuthType Basic          Options ExecCGI          AllowOverride None          Order allow,deny          Allow from all          AuthName "Nagios Access"          AuthUserFile /usr/local/nagios/etc/htpasswd                       Require valid-user </Directory> Alias /nagios "/usr/local/nagios/share" <Directory "/usr/local/nagios/share">          AuthType Basic          Options None          AllowOverride None          Order allow,deny          Allow from all          AuthName "nagios Access"          AuthUserFile /usr/local/nagios/etc/htpasswd          Require valid-user </Directory> # systemctl restart httpd.service  //重啟服務
  • 建立認證訪問檔案

    # htpasswd -c /usr/local/nagios/etc/htpasswd zkc    //接著輸入密碼
  • 配置Nagois

    設定檔一般在目錄/usr/local/nagios/etc/ 下

  • resource.cfg : 是nagios的變數定義檔案 一般無需更改 $USER1$=/usr/local/nagios/libexec
  • commands.cfg : 此檔案預設是存在的,無需修改即可使用,當然如果有新的命令需要加入時,在此檔案進行添加即可
  • localhost.cfg : 用來監控本機 一般無需更改
  • windows.cfg : 用來監控windows
  • templates.cfi
    主要用於監控主機資源以及服務,在nagios配置中稱為對象,為了不必重複定義一些監控對象,Nagios引入了一個模板設定檔,將一些共性的屬性定義成模板,以便於多次引用。

    # vim templates.cficontact_groups       ts        //聯絡組屬性改成 ts(5個) 將在後面的contacts.cfg檔案中定義
  • hosts.cfg
    此檔案預設不存在,需要手動建立,hosts.cfg主要用來指定被監控的主機地址以及相關屬性資訊(不能有任何空格)

    # vim /usr/local/nagios/etc/objects/hosts.cfgdefine host{                use                           linux-server#引用主機linux-server的屬性資訊,linux-server主機在templates.cfg檔案中進行了定義。                host_name               Nagios-Linux#主機名稱                alias                          Nagios-Linux#主機別名                address                    192.168.200.131 #被監控的主機地址,這個地址可以是ip,也可以是網域名稱。                }define host{                use                           linux-server                host_name               Nagios-Linux1                alias                          Nagios-Linux1                address                    192.168.200.132                 }#定義一個主機群組   define hostgroup{                      hostgroup_name          bsmart-servers#主機群組名稱,可以隨意指定。                alias                   bsmart servers#主機群組別名                members                 Nagios-Linux#主機群組成員,其中“Nagios-Linux”就是上面定義的主機。                     }       

?

  • services.cfg
    此檔案預設也不存在,需要手動建立,主要用於定義監控的服務和主機資源

    # vim /usr/local/nagios/etc/objects/services.cfgdefine service{                  use                     local-service#引用local-service服務的屬性值,local-service在templates.cfg檔案中進行了定義。                host_name               Nagios-Linux#指定要監控哪個主機上的服務,“Nagios-Server”在hosts.cfg檔案中進行了定義。                service_description     check-host-alive#對監控服務內容的描述,以供維護人員參考。                check_command           check-host-alive#指定檢查的命令。                }  

?

  • contacts.cfg
    contacts.cfg是一個定義連絡人和連絡人群組的設定檔(不能有空格)

    # vim /usr/local/nagios/etc/objects/contacts.cfgdefine contact{                contact_name                    zkc#連絡人的名稱,這個地方不要有空格                use                             generic-contact#引用generic-contact的屬性資訊,其中“generic-contact”在templates.cfg檔案中進行定義                alias                           Nagios Admin                email                           [email protected]                }define contactgroup{                contactgroup_name       ts#連絡人群組的名稱,同樣不能空格                alias                   Technical Support#連絡人群組描述                members                 zkc#連絡人群組成員,其中“zkc”就是上面定義的連絡人,如果有多個連絡人則以逗號相隔                }

?

  • cgi.cfg
    此檔案用來控制相關cgi指令碼
    由於nagios的web監控介面驗證使用者為zkc,所以只需在cgi.cfg檔案中添加此使用者的執行許可權
    在最後加入

    # vim /usr/local/nagios/etc/cgi.cfg default_user_name=zkcauthorized_for_system_information=nagiosadmin,zkc  authorized_for_configuration_information=nagiosadmin,zkc  authorized_for_system_commands=zkcauthorized_for_all_services=nagiosadmin,zkc  authorized_for_all_hosts=nagiosadmin,zkcauthorized_for_all_service_commands=nagiosadmin,zkc  authorized_for_all_host_commands=nagiosadmin,zkc

?

  • nagios.cfg

    # vim /usr/local/nagios/etc/nagios.cfg將對象設定檔在Nagios.cfg檔案中進行引用cfg_file=/usr/local/nagios/etc/objects/hosts.cfgcfg_file=/usr/local/nagios/etc/objects/services.cfgcommand_check_interval=10s  //添加   該變數用於設定nagios對外部命令檢測的時間間隔
  • 測試監控

    # /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 驗證設定檔# systemctl restart nagios.service # systemctl restart httpd

  • 驗證:開啟瀏覽器輸入

    http://192.168.200.131/nagios/


部署Nagios監控系統

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.