Nagios監控系統內容部署

來源:互聯網
上載者:User

標籤:方法   follow   log   mysq   環境   kconfig   etc   adb   資源   

Nagios的功能是監控服務和主機,但其自身並不包括這部分功能,所有的監控、檢測功能都是通過各種外掛程式來完成。啟動Nagios後,它會周期性的調用外掛程式去檢測伺服器狀態,同時Nagios會維持一個隊列,所有外掛程式返回來的狀態資訊都進入隊列,Nagios每次都從隊首讀取資訊,進行處理後,再把狀態通過web展現出來。

這就是所謂的被動模式,經常用於監控主機的系統資源,比如系統負載、磁碟使用率、記憶體使用量率、網路狀態、系統進程數等等。

另一種是主動模式,主要是nagios伺服器主動去擷取資料,常用於探測URL的監控和服務狀態監控。

相比於主動模式中伺服器去被監控主機上輪詢擷取監控資料的方式,這樣的最大優勢是避免除了資料處理工作以外的其他工作都放在了被監控主機上(包括資料轉送),避免了被監控主機量大時,一次輪詢時間過長而導致監控反應延遲,這也是被動模式能夠承擔更大監控量的關鍵。

Nagios提供了許多外掛程式,利用這些外掛程式可以方便的監控很多服務狀態,安裝完成後,在nagios目錄下的/libexec裡放nagios內建的可以使用的所有外掛程式,如check_disk是檢查磁碟空間的外掛程式,check_load是檢查CPU負載的外掛程式。每一個外掛程式都可通過運行./check_xxx -h命令來查看其使用方法和功能。

一、部署環境
主機 作業系統 IP地址 主要軟體
Nagios centos7.3 x86_64 192.168.144.112 Nagios4.0.1、nagios-plugins-1.5、LAMP環境
被監控主機 centos7.3 x86_64 192.168.144.111
二、Nagios服務主機部署1、首先準備LAMP環境
  • 由於被動模式資料進過處理後需要通過web介面呈現出來,因此在nagios服務主機上需要LAMP環境支援。
yum install -y httpd mariadb-server mariadb php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mhash

vim /etc/httpd/conf/httpd.conf

ServerName www.yun.com...AddType application/x-httpd-php .phpAddType application/x-httpd-php-source .phps...DirectoryIndex index.html index.php
  • 關閉防火牆和SELinux,啟動服務

systemctl stop firewalld.service
setenforce 0
systemctl start httpd
systemctl start mariadb.service

2、準備nagios服務軟體相關環境

yum install -y gcc glibc glibc-common gd gd-devel xinetd openssl-devel

useradd -s /sbin/nologin nagios

mkdir /usr/local/nagios

chown -R nagios.nagios /usr/local/nagios

ll -d /usr/local/nagios/ 查看許可權

3、解壓軟體包,執行安裝

tar zxvf nagios-4.0.1.tar.gz -C /opt/
cd /opt/nagios-4.0.1/
./configure --prefix=/usr/local/nagios

執行安裝程式後,編譯各模組的五大步驟make all    //首先執行全部編譯make installmake install-init        //初始化命令位置make install-commandmode   //編譯安裝控制模組make install-config      //編譯產生相關設定檔

chkconfig --add /etc/rc.d/init.d/nagios

chkconfig --level 35 nagios on

chkconfig --list nagios

  • 為驗證編譯是否完整成功,需要檢查/usr/local/nagios/下是否存在etc、bin、sbin、share、var 這五個目錄
4、編譯安裝外掛程式模組

tar xvzf nagios-plugins-1.5.tar.gz -C /opt
cd /opt/nagios-plugins-1.5
./configure --prefix=/usr/local/nagios 安裝外掛程式模組,注意放入nagios安裝目錄中
make && make install

5、修改Apache設定檔,為nagios建立虛擬目錄

vim /etc/httpd/conf/httpd.conf

找到:User apache Group apache 修改為 User nagios Group nagios ...為了安全起見,一般情況下要讓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> 
  • 設定完訪問驗證設定後,需要設定驗證的賬戶密碼
  • 利用htpasswd在/usr/local/nagios/etc/htpasswd產生jack賬戶並設定密碼

htpasswd -c /usr/local/nagios/etc/htpasswd jack

cat /usr/local/nagios/etc/htpasswd

jack:$apr1$DR0SjMa5$trumMzpqj./BA15Iswx2g0

systemctl restart httpd.service

三、配置nagois各功能模組設定檔
1.templates.cfi nagios主要用於監控主機資源以及服務,在nagios配置中稱為對象,為了不必重複定義一些監控對象,Nagios引入了一個模板設定檔,將一些共性的屬性定義成模板,以便於多次引用。 contact_groups  聯絡組屬性改成 ts 將在後面的contacts.cfg檔案中定義2.resource.cfg檔案resource.cfg是nagios的變數定義檔案 一般無需更改$USER1$=/usr/local/nagios/libexec3.commands.cfg檔案此檔案預設是存在的,無需修改即可使用,當然如果有新的命令需要加入時,在此檔案進行添加即可4. hosts.cfg檔案,如果建立位置不在object下,需要注意屬主屬組許可權,並且主設定檔中告知為絕對路徑此檔案預設不存在,需要手動建立,hosts.cfg主要用來指定被監控的主機地址以及相關屬性資訊(不能有任何空格)define host{           use                     linux-server#引用主機linux-server的屬性資訊,linux-server主機在templates.cfg檔案中進行了定義。        host_name               Nagios-Linux#主機名稱        alias                   Nagios-Linux#主機別名        address                 192.168.144.111#被監控的主機地址,這個地址可以是ip,也可以是網域名稱。        }   #定義一個主機群組   define hostgroup{              hostgroup_name          bsmart-servers#主機群組名稱,可以隨意指定。        alias                   bsmart servers#主機群組別名        members                 Nagios-Linux#主機群組成員,其中“Nagios-Linux”就是上面定義的主機。             }5.localhost.cfg檔案  用來監控本機 一般無需更改6.windows.cfg 用來監控windows 這裡無需使用7.services.cfg檔案 此檔案預設也不存在,需要手動建立        主要用於定義監控的服務和主機資源define 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#指定檢查的命令。        }  8.contacts.cfg檔案   contacts.cfg是一個定義連絡人和連絡人群組的設定檔(不能有空格)define contact{        contact_name                    jack#連絡人的名稱,這個地方不要有空格        use                             generic-contact#引用generic-contact的屬性資訊,其中“generic-contact”在templates.cfg檔案中進行定義        alias                           Nagios Admin        email                           [email protected]        }define contactgroup{        contactgroup_name       ts#連絡人群組的名稱,同樣不能空格        alias                   Technical Support#連絡人群組描述        members                 jack#連絡人群組成員,其中“jack”就是上面定義的連絡人,如果有多個連絡人則以逗號相隔        }9.cgi.cfg檔案 此檔案用來控制相關cgi指令碼由於nagios的web監控介面驗證使用者為jack,所以只需在cgi.cfg檔案中添加此使用者的執行許可權在最後加入default_user_name=jackauthorized_for_system_information=nagiosadmin,jack  authorized_for_configuration_information=nagiosadmin,jack  authorized_for_system_commands=jackauthorized_for_all_services=nagiosadmin,jack  authorized_for_all_hosts=nagiosadmin,jackauthorized_for_all_service_commands=nagiosadmin,jack  authorized_for_all_host_commands=nagiosadmin,jack10. 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 驗證設定檔

  • web介面顯示
    http://192.168.144.112/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.