Nagios監控服務的搭建

來源:互聯網
上載者:User

標籤:nagios   安裝   

Nagios是一款開源的電腦系統和網路監視工具,能有效監控Windows、Linux和Unix的主機狀態,交換器路由器等網路設定,印表機等。

主要功能

網路服務監控(SMTP、POP3、HTTP、NNTP、ICMP、SNMP、FTP、SSH)

主機資源監控(CPU load、disk usage、system logs),也包括Windows主機(使用NSClient++ plugin)

可以指定自己編寫的Plugin通過網路收集資料來監控任何情況(溫度、警告……)

可以通過配置Nagios遠程執行外掛程式遠程執行指令碼

遠程監控支援SSH或SSL加通道方式進行監控

簡單的plugin設計允許使用者很容易的開發自己需要的檢查服務,支援很多開發語言(shell scripts、C++、Perl、ruby、Python、PHP、C#等)

包含很多圖形化資料Plugins(Nagiosgraph、Nagiosgrapher、PNP4Nagios等)

可並行服務檢查

能夠定義網路主機的層次,允許逐級檢查,就是從父主機開始向下檢查

當服務或主機出現問題時發出通告,可通過email, pager, sms 或任意使用者自訂的plugin進行通知

能夠自訂事件處理機制重新啟用出問題的服務或主機

自動日誌迴圈

支援冗餘監控

包括Web介面可以查看當前網路狀態,通知,問題曆史,記錄檔等

二、Nagios工作原理

Nagios的功能是監控服務和主機,但是他自身並不包括這部分功能,所有的監控、檢測功能都是通過各種外掛程式來完成的。

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

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

Nagios 通過NRPE 來遠端管理服務

1. Nagios 執行安裝在它裡面的check_nrpe 外掛程式,並告訴check_nrpe 去檢測哪些服務。

2. 通過SSL,check_nrpe 串連遠端機子上的NRPE daemon

3. NRPE 運行本地的各種外掛程式去檢測本地的服務和狀態(check_disk,..etc)

4. 最後,NRPE 把檢測的結果傳給主機端的check_nrpe,check_nrpe 再把結果送到Nagios狀態隊列中。

5. Nagios 依次讀取隊列中的資訊,再把結果顯示出來。

下面進行安裝

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


# useradd -s /sbin/nologin nagios

# mkdir /usr/local/nagios

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

# wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.4.3.tar.gz

# tar zxvf nagios-3.4.3.tar.gz

# ./configure --prefix=/usr/local/nagios

# make all

報下面錯

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M02/A5/46/wKioL1m6ZVizyXNHAAA4ERPfBLI449.png" title="0.46093984032862.png" alt="wKioL1m6ZVizyXNHAAA4ERPfBLI449.png" />

其實它是要製作目標檔案/include/locations.h,這個是標頭檔,可是這個標頭檔需要broker.o檔案

這個檔案是由perl安裝包提供的,你可以先執行下面命令安裝perl,然後再重新./configure一下,再make all就沒有問題啦

yum install perl -y

# make install

# make install-init

# make install-commandmode

# make install-config

# chkconfig --add nagios

# chkconfig --level 35 nagios on

# chkconfig --list nagios

驗證程式是否被正確安裝

切換目錄到安裝路徑(這裡是/usr/local/nagios),看是否存在etc、bin、sbin、share、var 這五個目錄,如果存在則可以表明程式被正確的安裝到系統了。Nagios 各個目錄用途說明如下:

bin
Nagios 可執行程式所在目錄

etc
Nagios 設定檔所在目錄

sbin
Nagios CGI 檔案所在目錄,也就是執行外部命令所需檔案所在的目錄

share
Nagios網頁檔案所在的目錄

libexec
Nagios 外部外掛程式所在目錄

var
Nagios 記錄檔、lock 等檔案所在的目錄

var/archives
Nagios 日誌自動歸檔目錄

var/rw
用來存放外部命令檔案的目錄

下面安裝Nagios的外掛程式

# wget https://nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz

# tar xzvf nagios-plugins-2.2.1.tar.gz

# cd nagios-plugins-2.2.1

# ./configure --prefix=/usr/local/nagios

# make && make install

下面安裝apache和php對web介面的支援

# wget http://archive.apache.org/dist/httpd/httpd-2.2.23.tar.gz

# tar zxvf httpd-2.2.23.tar.gz

# cd httpd-2.2.23

#  ./configure --prefix=/usr/local/apache2

# make && make install

如果出現以下錯誤

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/06/95/wKiom1m6ZZfwdAsaAAGm5ly6WE8708.png" title="1.png" alt="wKiom1m6ZZfwdAsaAAGm5ly6WE8708.png" />

則在編譯時間入加 --with-included-apr 即可解決。

# wget http://101.96.10.63/jp2.php.net/distributions/php-5.5.38.tar.gz

# tar -xzvf php-5.5.38.tar.gz 

# cd php-5.5.38

# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs 

apxs是一個為Apache HTTP伺服器編譯和安裝擴充模組的工具,用於編譯一個或多個來源程式或目標代碼檔案為動態共用對象,使之可以用由mod_so提供的LoadModule指令在運行時載入到Apache伺服器中。

這個可能會出現下面情況

650) this.width=650;" border="0" src="index_files/ecd7e379-536d-4e33-a198-a99a32250856.png" alt="ecd7e379-536d-4e33-a198-a99a32250856.png" />

這個是說你沒有安裝libxml這個軟體包,我就用yum安裝,發現提示已經安裝了,我覺得有可能是編譯包沒有安裝,果然沒錯,是libxml這個編譯包沒有安裝

# yum install libxml2

# yum install libxml2-devel

然後再回去執行./configure命令就可以啦

# make && make install

# vi /usr/local/apache2/conf/httpd.conf

找到:

User daemon Group daemon

修改為

User nagios Group nagios

然後找到

<IfModule dir_module>   DirectoryIndex index.html </IfModule>

修改為

<IfModule dir_module>   DirectoryIndex index.html index.php </IfModule>

接著增加如下內容:

AddType application/x-httpd-php .php

實質就是添加可以執行php的檔案類型,比如你再加上一行“AddType application/x-httpd-php .htm”,則.htm檔案也可以執行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>


建立apache目錄驗證檔案 

在上面的配置中,指定了目錄驗證檔案htpasswd,下面要建立這個檔案:

# /usr/local/apache2/bin/htpasswd -c /usr/local/nagios/etc/htpasswd username

這樣就在/usr/local/nagios/etc 目錄下建立了一個htpasswd 驗證檔案,當通過http://192.168.1.108/nagios/ 訪問時就需要輸入使用者名稱和密碼了。

啟動apache 服務

# /usr/local/apache2/bin/apachectl start

來源: http://www.cnblogs.com/mchina/archive/2013/02/20/2883404.html

本文出自 “愛周瑜” 部落格,請務必保留此出處http://izhouyu.blog.51cto.com/10318932/1965409

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.