邳州網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)建站成立與2013年到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專(zhuān)注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。
Nagios是一款開(kāi)源的電腦系統(tǒng)和網(wǎng)絡(luò)監(jiān)視工具,能有效監(jiān)控Windows、Linux和Unix的主機(jī)狀態(tài),交換機(jī)路由器等網(wǎng)絡(luò)設(shè)置,打印機(jī)等。在系統(tǒng)或服務(wù)狀態(tài)異常時(shí)發(fā)出郵件或短信報(bào)警第一時(shí)間通知網(wǎng)站運(yùn)維人員,在狀態(tài)恢復(fù)后發(fā)出正常的郵件或短信通知。
Nagios原名為NetSaint,由Ethan Galstad開(kāi)發(fā)并維護(hù)至今。NAGIOS是一個(gè)縮寫(xiě)形式: "Nagios Ain't Gonna Insist On Sainthood" Sainthood 翻譯為圣徒,而"Agios"是"saint"的希臘表示方法。Nagios被開(kāi)發(fā)在Linux下使用,但在Unix下也工作得非常好。
主要功能
網(wǎng)絡(luò)服務(wù)監(jiān)控(SMTP、POP3、HTTP、NNTP、ICMP、SNMP、FTP、SSH)
主機(jī)資源監(jiān)控(CPU load、disk usage、system logs),也包括Windows主機(jī)(使用NSClient++ plugin)
可以指定自己編寫(xiě)的Plugin通過(guò)網(wǎng)絡(luò)收集數(shù)據(jù)來(lái)監(jiān)控任何情況(溫度、警告……)
可以通過(guò)配置Nagios遠(yuǎn)程執(zhí)行插件遠(yuǎn)程執(zhí)行腳本
遠(yuǎn)程監(jiān)控支持SSH或SSL加通道方式進(jìn)行監(jiān)控
簡(jiǎn)單的plugin設(shè)計(jì)允許用戶(hù)很容易的開(kāi)發(fā)自己需要的檢查服務(wù),支持很多開(kāi)發(fā)語(yǔ)言(shell scripts、C++、Perl、ruby、Python、PHP、C#等)
包含很多圖形化數(shù)據(jù)Plugins(Nagiosgraph、Nagiosgrapher、PNP4Nagios等)
可并行服務(wù)檢查
能夠定義網(wǎng)絡(luò)主機(jī)的層次,允許逐級(jí)檢查,就是從父主機(jī)開(kāi)始向下檢查
當(dāng)服務(wù)或主機(jī)出現(xiàn)問(wèn)題時(shí)發(fā)出通告,可通過(guò)email, pager, sms 或任意用戶(hù)自定義的plugin進(jìn)行通知
能夠自定義事件處理機(jī)制重新激活出問(wèn)題的服務(wù)或主機(jī)
自動(dòng)日志循環(huán)
支持冗余監(jiān)控
包括Web界面可以查看當(dāng)前網(wǎng)絡(luò)狀態(tài),通知,問(wèn)題歷史,日志文件等
二、Nagios工作原理
Nagios的功能是監(jiān)控服務(wù)和主機(jī),但是他自身并不包括這部分功能,所有的監(jiān)控、檢測(cè)功能都是通過(guò)各種插件來(lái)完成的。
啟動(dòng)Nagios后,它會(huì)周期性的自動(dòng)調(diào)用插件去檢測(cè)服務(wù)器狀態(tài),同時(shí)Nagios會(huì)維持一個(gè)隊(duì)列,所有插件返回來(lái)的狀態(tài)信息都進(jìn)入隊(duì)列,Nagios每次都從隊(duì)首開(kāi)始讀取信息,并進(jìn)行處理后,把狀態(tài)結(jié)果通過(guò)web顯示出來(lái)。
Nagios提供了許多插件,利用這些插件可以方便的監(jiān)控很多服務(wù)狀態(tài)。安裝完成后,在nagios主目錄下的/libexec里放有nagios自帶的可以使用的所有插件,如,check_disk是檢查磁盤(pán)空間的插件,check_load是檢查CPU負(fù)載的,等等。每一個(gè)插件可以通過(guò)運(yùn)行./check_xxx –h 來(lái)查看其使用方法和功能。
Nagios可以識(shí)別4種狀態(tài)返回信息,即 0(OK)表示狀態(tài)正常/綠色、1(WARNING)表示出現(xiàn)警告/×××、2(CRITICAL)表示出現(xiàn)非常嚴(yán)重的錯(cuò)誤/紅色、3(UNKNOWN)表示未知錯(cuò)誤/深×××。Nagios根據(jù)插件返回來(lái)的值,來(lái)判斷監(jiān)控對(duì)象的狀態(tài),并通過(guò)web顯示出來(lái),以供管理員及時(shí)發(fā)現(xiàn)故障。
四種監(jiān)控狀態(tài)
再說(shuō)報(bào)警功能,如果監(jiān)控系統(tǒng)發(fā)現(xiàn)問(wèn)題不能報(bào)警那就沒(méi)有意義了,所以報(bào)警也是nagios很重要的功能之一。但是,同樣的,Nagios 自身也沒(méi)有報(bào)警部分的代碼,甚至沒(méi)有插件,而是交給用戶(hù)或者其他相關(guān)開(kāi)源項(xiàng)目組去完成的。
Nagios 安裝,是指基本平臺(tái),也就是Nagios軟件包的安裝。它是監(jiān)控體系的框架,也是所有監(jiān)控的基礎(chǔ)。
打開(kāi)Nagios官方的文檔,會(huì)發(fā)現(xiàn)Nagios基本上沒(méi)有什么依賴(lài)包,只要求系統(tǒng)是Linux或者其他Nagios支持的系統(tǒng)。不過(guò)如果你沒(méi)有安裝apache(http服務(wù)),那么你就沒(méi)有那么直觀的界面來(lái)查看監(jiān)控信息了,所以apache姑且算是一個(gè)前提條件。關(guān)于apache的安裝,網(wǎng)上有很多,照著安裝就是了。安裝之后要檢查一下是否可以正常工作。
知道Nagios 是如何通過(guò)插件來(lái)管理服務(wù)器對(duì)象后,現(xiàn)在開(kāi)始研究它是如何管理遠(yuǎn)端服務(wù)器對(duì)象的。Nagios 系統(tǒng)提供了一個(gè)插件NRPE。Nagios 通過(guò)周期性的運(yùn)行它來(lái)獲得遠(yuǎn)端服務(wù)器的各種狀態(tài)信息。它們之間的關(guān)系如下圖所示:
Nagios 通過(guò)NRPE 來(lái)遠(yuǎn)端管理服務(wù)
1. Nagios 執(zhí)行安裝在它里面的check_nrpe 插件,并告訴check_nrpe 去檢測(cè)哪些服務(wù)。
2. 通過(guò)SSL,check_nrpe 連接遠(yuǎn)端機(jī)子上的NRPE daemon
3. NRPE 運(yùn)行本地的各種插件去檢測(cè)本地的服務(wù)和狀態(tài)(check_disk,..etc)
4. 最后,NRPE 把檢測(cè)的結(jié)果傳給主機(jī)端的check_nrpe,check_nrpe 再把結(jié)果送到Nagios狀態(tài)隊(duì)列中。
5. Nagios 依次讀取隊(duì)列中的信息,再把結(jié)果顯示出來(lái)。
三、實(shí)驗(yàn)環(huán)境
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軟件,對(duì)監(jiān)控的數(shù)據(jù)做處理,并且提供web界面查看和管理。當(dāng)然也可以對(duì)本機(jī)自身的信息進(jìn)行監(jiān)控。
Client 安裝了NRPE等客戶(hù)端,根據(jù)監(jiān)控機(jī)的請(qǐng)求執(zhí)行監(jiān)控,然后將結(jié)果回傳給監(jiān)控機(jī)。
防火墻已關(guān)閉/iptables: Firewall is not running.
SELINUX=disabled
四、實(shí)驗(yàn)?zāi)繕?biāo)
五、Nagios服務(wù)端安裝
5.1 基礎(chǔ)支持套件:gcc glibc glibc-common gd gd-devel xinetd openssl-devel
# rpm -q gcc glibc glibc-common gd gd-devel xinetd openssl-devel
如果系統(tǒng)中沒(méi)有這些套件,使用yum 安裝
# yum install -y gcc glibc glibc-common gd gd-devel xinetd openssl-devel
5.2 創(chuàng)建nagios用戶(hù)和用戶(hù)組
# useradd -s /sbin/nologin nagios# mkdir /usr/local/nagios# chown -R nagios.nagios /usr/local/nagios
查看nagios 目錄的權(quán)限
# ll -d /usr/local/nagios/
5.3 編譯安裝Nagios
# wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.4.3.tar.gz
# tar zxvf nagios-3.4.3.tar.gz
# cd nagios
# ./configure --prefix=/usr/local/nagios
# make all
# make install
# make install-init
# make install-commandmode
# make install-config
# chkconfig --add nagios
# chkconfig --level 35 nagios on
# chkconfig --list nagios
5.4 驗(yàn)證程序是否被正確安裝
切換目錄到安裝路徑(這里是/usr/local/nagios),看是否存在etc、bin、sbin、share、var 這五個(gè)目錄,如果存在則可以表明程序被正確的安裝到系統(tǒng)了。Nagios 各個(gè)目錄用途說(shuō)明如下:
bin | Nagios 可執(zhí)行程序所在目錄 |
etc | Nagios 配置文件所在目錄 |
sbin | Nagios CGI 文件所在目錄,也就是執(zhí)行外部命令所需文件所在的目錄 |
share | Nagios網(wǎng)頁(yè)文件所在的目錄 |
libexec | Nagios 外部插件所在目錄 |
var | Nagios 日志文件、lock 等文件所在的目錄 |
var/archives | Nagios 日志自動(dòng)歸檔目錄 |
var/rw | 用來(lái)存放外部命令文件的目錄 |
5.5 安裝Nagios 插件
# wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.16.tar.gz
# tar zxvf nagios-plugins-1.4.16.tar.gz
# cd nagios-plugins-1.4.16
# ./configure --prefix=/usr/local/nagios
# make && make install
5.6 安裝與配置Apache和Php
Apache 和Php 不是安裝nagios 所必須的,但是nagios提供了web監(jiān)控界面,通過(guò)web監(jiān)控界面可以清晰的看到被監(jiān)控主機(jī)、資源的運(yùn)行狀態(tài),因此,安裝一個(gè)web服務(wù)是很必要的。
需要注意的是,nagios在nagios3.1.x版本以后,配置web監(jiān)控界面時(shí)需要php的支持。這里我們下載的nagios版本為nagios-3.4.3,因此在編譯安裝完成apache后,還需要編譯php模塊,這里選取的php版本為php5.4.10。
a. 安裝Apache
# 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
若出現(xiàn)錯(cuò)誤:
則在編譯時(shí)入加 --with-included-apr 即可解決。
b. 安裝Php
# wget http://cn2.php.net/distributions/php-5.4.10.tar.gz
# tar zxvf php-5.4.10.tar.gz
# cd php-5.4.10
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs
# make && make install
c. 配置apache
找到apache 的配置文件/usr/local/apache2/conf/httpd.conf
找到:
User daemon Group daemon
修改為
User nagios Group nagios
然后找到
DirectoryIndex index.html
修改為
DirectoryIndex index.html index.php
接著增加如下內(nèi)容:
AddType application/x-httpd-php .php
為了安全起見(jiàn),一般情況下要讓nagios 的web 監(jiān)控頁(yè)面必須經(jīng)過(guò)授權(quán)才能訪(fǎng)問(wèn),這需要增加驗(yàn)證配置,即在httpd.conf 文件最后添加如下信息:
#setting for nagios ScriptAlias /nagios/cgi-bin "/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 //用于此目錄訪(fǎng)問(wèn)身份驗(yàn)證的文件 Require valid-user Alias /nagios "/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
d. 創(chuàng)建apache目錄驗(yàn)證文件
在上面的配置中,指定了目錄驗(yàn)證文件htpasswd,下面要?jiǎng)?chuàng)建這個(gè)文件:
# /usr/local/apache2/bin/htpasswd -c /usr/local/nagios/etc/htpasswd david
這樣就在/usr/local/nagios/etc 目錄下創(chuàng)建了一個(gè)htpasswd 驗(yàn)證文件,當(dāng)通過(guò)http://192.168.1.108/nagios/訪(fǎng)問(wèn)時(shí)就需要輸入用戶(hù)名和密碼了。
e. 查看認(rèn)證文件的內(nèi)容
# cat /usr/local/nagios/etc/htpasswd
f. 啟動(dòng)apache 服務(wù)
# /usr/local/apache2/bin/apachectl start
到這里nagios 的安裝也就基本完成了,你可以通過(guò)web來(lái)訪(fǎng)問(wèn)了。