Nagos是一款開源電腦系統和網絡監視工具,能夠有效監控windows,linux,Uninx的主機狀態,交換機路由器等網絡設置,打印機等.在系統或服務狀態異常時發出郵件或短信報警第一時間通知運維人員,在狀態恢復后發出正常的郵件或短信報警通知
#主要功能:
*網絡服務監控(STMP簡單電子郵件服務;POP3郵件服務器;HTTP;NNTP;ICMP;SNMP;FTP;SSH) *主機 資源監控(CPU locd,disk usage,system logs),也包括windows主機(使用NSCLIENT++ Plugin) *可以指定自己編寫的Plugin通過網絡收集數據來監控任何情況(溫度,警告。。。) *可以監控支持SSH或SSK加通道方式進行監 可以通過配置Nagio遠程 執行插件遠程執行腳本 *簡單的plugin設計允許用戶很容易的開發自己 需要的檢查服務,支持很多開發語言(shel scripts,c++,perl,ruby,python,php,c) *包含很多圖形化數據plugins(Nagiosgraph,Nagiosgrapher,PNP4Nagios等) *可並行服務檢查 *能夠定義網絡主機的層,允許逐級調查,就是從父主機開始向下檢查, *當服務或主機 出現 問題是發出通告 ,可通過emall,pager,sms或任意用戶自定義的plugin進行通知
*自動日志 循環
*支持冗余監控
*包web界面可以查看當前網絡狀態,通知,問題歷史,日志文件等
二.Nagios工作原理
Nagiosq的功能是監控服務和主機,但也是 他 自身並不包括這部分功能,所有的監控,檢測功能都是通過各種插件來完成的。
啟動Nagios后他會周期性的自動調用插件去檢查服務器狀態 ,同時Nagios會維持一個列隊,所有插件返回來的狀態信息都進入列隊 ,Nagios每次都從隊首開始讀取信息,並進行處理,把狀態結果通過web結果通過顯示出來
Nagios提供了許多插件,利用這些插件可以方便的監控很多服務狀態,安裝完成 后,在Nagios主目錄下的/libexec里放有nagios自的可以使用的所有插件,如,check_disk是檢查磁盤空間的插件,check_load是檢查CPU負載的,等等。每一個插件可以通過運行 ./check_xxx –h 來查看使用方法和功能;
Nagios可以識別4種狀態返回信息,即0(OK)表示狀態正常/綠色,1(WARNING)表示出現警告/黃色,2(CRITTCAL)表示出現 非常嚴重 的錯誤/紅色,3(UNKNOWN)表示未知錯誤 、深黃色。Nagios根據插件返回來的值,來判斷 監控對象的狀態,並通過web顯示出來,以提供管理員及時發現故障
再說報警功能,如果 監控系統發現問題不能報警那就沒有意義了,所以報警也是nagios很重要的功能之一,但是,同樣的,Nagios自身業沒有報警部分的代碼,甚至沒有插件,而是交給用戶或者其他 相關開源項目組去完成
Nagios安裝,是指基本平台,也就是Nagios軟件包的安裝,它是監控體系的框架,也是所有監控基礎。
Nagios通過NRPE來遠端管理服務
- Nagios執行安裝在它里面的check_nrpe插件,並告訴check_nrpe去檢測哪些服務。
- 通過SSL,check_nrpe連接遠端 機子上的NRPE daemon
- NRPE運行本地的各種插件去檢測本地的服務和狀態
- 最后,NRPE把檢測的結果傳給主機端check_nrpe,check_nrpe在把結果 送到Nagios狀態隊列中,
- Nagios依次讀取隊列中信息,再把結果顯示出來
-
三.實驗環境
Host Name
OS
IP
Software
Nagios-Server
CentOS release 6.3 (Final)
192.168.1.108
Apache、Php、Nagios、nagios-plugins
Nagios-Linux
CentOS release 5.8 (Final)
192.168.1.111
nagios-plugins、nrpe
Nagios-Windows
Windows XP
192.168.1.113
NSClient++
Server安裝了nagios軟件,對監控的數據做處理,並且提供web界面查看和管理,當然也可以對本機自身的信息 進行監控
Client安裝了NRPE等客戶端,根據監控機的請求執行監控,然后將結果回傳給監控機。
五.Nagios服務端安裝
5.1.基礎支持套件:
Gcc glibc glibc-common gd gd-devel xinetd openssl-devel
[root@localhost yum.repos.d]#rpm -q gcc glibc glibc-common gd gd-devel xinetd openssl-devel
[root@localhost yum.repos.d]# rpm -q gcc glibc glibc-common gd gd-devel xinetd
創建Nagios用戶和用戶組
[root@localhost ~]# useradd -s /sbin/nologin nagios
[root@localhost ~]# mkdir /usr/local/nagios
[root@localhost ~]# chown -R nagios:nagios /usr/local/nagios
查看nagios目錄的權限
[root@localhost ~]# ll -d /usr/local/nagios/
drwxr-xr-x. 2 nagios nagios 4096 4月 23 15:52 /usr/local/nagios/
[root@localhost ~]# tar zxvf nagios-4.0.1.tar.gz -C /usr/src/
[root@localhost nagios-4.0.1]# cd /usr/src/nagios-4.0.1
root@localhost nagios-4.0.1]# ./configure --prefix=/usr/local/nagios
[root@localhost nagios-4.0.1]# make all
[root@localhost nagios-4.0.1]# make install
[root@localhost nagios-4.0.1]# make install-init
[root@localhost nagios-4.0.1]# make install-commandmode
[root@localhost nagios-4.0.1]# make install-config
[root@localhost nagios-4.0.1]# chkconfig --add nagios
[root@localhost nagios-4.0.1]# chkconfig --level 35 nagios on
[root@localhost nagios-4.0.1]# 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插件
[root@localhost ~]# tar zxvf nagios-plugins-1.5.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/nagios-plugins-1.5/
[root@localhost nagios-plugins-1.5]# ./configureprefix=/usr/local/nagios
[root@localhost nagios-plugins-1.5]# make && make install
安裝與配置apache和php
Ps:Apache和php不是 安裝nagios所必須的,但是nagios提供了web監控界面 ,通過web監控界面,可以清晰的看到被監控主機,資源 的運行狀態,因此 ,安裝一個web服務是 很必要的
安裝apache
配置apache
為了安全起見,一般情況下讓nagios的web監控頁面必須經過授權才能訪問,這需要增加驗證配置,即在httpd.conf文件添加如下信息:
創建apache目錄驗證文件
#在上面的配置中,之地給立刻目錄驗證文件htpasswd,這樣就在/usr/local/nagios/etc/目錄下創建一個htpasswd驗證文件,當通URL路徑就可以訪問時就需要用戶名和密碼
[root@localhost ~]# cat /usr/local/nagios/etc/htpasswd 查看認證文件的內容
xiaoyu:$apr1$MFNBJhbt$8gQMv4fdErnpKPKy9NBHV.
[root@localhost ~]# /etc/init.d/httpd restart
-------------------nagios服務安裝基本完成------------------
這時,我們可用web客戶端瀏覽器訪問