目錄索引
創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的遵義網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
一、Nagios簡介
1.1主要功能
二、Nagios工作原理
2.1.四種監(jiān)控狀態(tài)
三、實(shí)驗(yàn)環(huán)境之前期準(zhǔn)備
3.1.掛載光盤并對(duì)yum進(jìn)行配置
3.2.安裝網(wǎng)絡(luò)配置工具
3.3.進(jìn)行網(wǎng)絡(luò)配置
3.4.進(jìn)行測試
四、實(shí)驗(yàn)環(huán)境之LAMP平臺(tái)構(gòu)建
4.1.構(gòu)建LAMP平臺(tái)
4.2.建立測試文件
4.3.開啟httpd服務(wù)并開機(jī)自啟
4.4.測試
五、實(shí)驗(yàn)?zāi)繕?biāo)
六、Nagios安裝
5.1.下載Nagios及插件
5.2.Nagios準(zhǔn)備
5.3.安裝Nagios
七、Nagios配置
6.1.創(chuàng)建Nagios的web程序配置文件
6.2.創(chuàng)建Nagios-web程序用戶
八、編譯安裝Nagios插件
7.1.nagios的目錄結(jié)構(gòu)
7.2.編譯安裝Nagios-plugins
7.3.將Nagios添加至系統(tǒng)服務(wù)并設(shè)置開機(jī)自啟
7.4.檢查配置文件的語法是否正確
九、測試
Nagios是一款開源的電腦系統(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開發(fā)并維護(hù)至今。NAGIOS是一個(gè)縮寫形式: "Nagios Ain't Gonna Insist On Sainthood" Sainthood翻譯為圣徒,而"Agios"是"saint"的希臘表示方法。Nagios被開發(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)
可以指定自己編寫的Plugin通過網(wǎng)絡(luò)收集數(shù)據(jù)來監(jiān)控任何情況(溫度、警告……)
可以通過配置Nagios遠(yuǎn)程執(zhí)行插件遠(yuǎn)程執(zhí)行腳本
遠(yuǎn)程監(jiān)控支持SSH或SSL加通道方式進(jìn)行監(jiān)控
簡單的plugin設(shè)計(jì)允許用戶很容易的開發(fā)自己需要的檢查服務(wù),支持很多開發(fā)語言(shell scripts、C++、Perl、ruby、Python、PHP、C#等)
包含很多圖形化數(shù)據(jù)Plugins(Nagiosgraph、Nagiosgrapher、PNP4Nagios等)
可并行服務(wù)檢查
能夠定義網(wǎng)絡(luò)主機(jī)的層次,允許逐級(jí)檢查,就是從父主機(jī)開始向下檢查
當(dāng)服務(wù)或主機(jī)出現(xiàn)問題時(shí)發(fā)出通告,可通過email, pager, sms或任意用戶自定義的plugin進(jìn)行通知
能夠自定義事件處理機(jī)制重新激活出問題的服務(wù)或主機(jī)
自動(dòng)日志循環(huán)
支持冗余監(jiān)控
包括Web界面可以查看當(dāng)前網(wǎng)絡(luò)狀態(tài),通知,問題歷史,日志文件等
Nagios的功能是監(jiān)控服務(wù)和主機(jī),但是他自身并不包括這部分功能,所有的監(jiān)控、檢測功能都是通過各種插件來完成的。
啟動(dòng)Nagios后,它會(huì)周期性的自動(dòng)調(diào)用插件去檢測服務(wù)器狀態(tài),同時(shí)Nagios會(huì)維持一個(gè)隊(duì)列,所有插件返回來的狀態(tài)信息都進(jìn)入隊(duì)列,Nagios每次都從隊(duì)首開始讀取信息,并進(jìn)行處理后,把狀態(tài)結(jié)果通過web顯示出來。
Nagios提供了許多插件,利用這些插件可以方便的監(jiān)控很多服務(wù)狀態(tài)。安裝完成后,在nagios主目錄下的/libexec里放有nagios自帶的可以使用的所有插件,如,check_disk是檢查磁盤空間的插件,check_load是檢查CPU負(fù)載的,等等。每一個(gè)插件可以通過運(yùn)行./check_xxx –h來查看其使用方法和功能。
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ù)插件返回來的值,來判斷監(jiān)控對(duì)象的狀態(tài),并通過web顯示出來,以供管理員及時(shí)發(fā)現(xiàn)故障。
再說報(bào)警功能,如果監(jiān)控系統(tǒng)發(fā)現(xiàn)問題不能報(bào)警那就沒有意義了,所以報(bào)警也是nagios很重要的功能之一。但是,同樣的,Nagios自身也沒有報(bào)警部分的代碼,甚至沒有插件,而是交給用戶或者其他相關(guān)開源項(xiàng)目組去完成的。
Nagios安裝,是指基本平臺(tái),也就是Nagios軟件包的安裝。它是監(jiān)控體系的框架,也是所有監(jiān)控的基礎(chǔ)。
[root@a ~]# yum -y install httpd gcc glibc glibc-commongdgd-develphpphp-MySQL mysqlmysql-servermysql-developenssl-devel
[root@a ~]# vi /var/www/html/index.php
phpinfo();
?>
$link=mysql_connect('localhost'@'root'S'')
[root@a ~]# service httpd start
[root@a ~]# chkconfig httpd on
[root@a nagios]# groupadd -r nagcmd
[root@a nagios]# useradd-m-Gnagcmdnagios
[root@a nagios]# passwdnagios
更改用戶 nagios的密碼。
新的密碼:
重新輸入新的密碼:
passwd:所有的身份驗(yàn)證令牌已經(jīng)成功更新。
[root@a nagios]# usermod -G nagcmd apache
[root@a ~]# tar -xvzf nagios-3.4.4.tar.gz -C /usr/src
[root@a ~]# cd /usr/src/nagios/
[root@a nagios]# ./configure--sysconfdir=/etc/nagios --enable-event-broker --with-command-group=nagcmd
[root@a nagios]# make all
[root@a nagios]# make install
[root@a nagios]# make install-init
[root@a nagios]# make install-commandmode
[root@a nagios]# make install-config
在httpd的配置文件目錄(conf.d)中創(chuàng)建創(chuàng)建Nagios的web程序配置文件
[root@a nagios]# make install-webconf
/usr/bin/install -c -m 644 sample-config/httpd.conf /etc/httpd/conf.d/nagios.conf
*** Nagios/Apache conf file installed ***
修改apache的配置文件
[root@a nagios]# vi /etc/httpd/conf/httpd.conf
Include conf.d/nagios.conf
創(chuàng)建一個(gè)登錄Nagios web程序的用戶,這個(gè)用戶帳號(hào)在以后web登錄nagios認(rèn)證時(shí)所用:
[root@a nagios]# htpasswd-c/etc/nagios/htpasswd.usersnagiosadmin
以上過程配置結(jié)束后要重新啟動(dòng)httpd
bin | Nagios執(zhí)行程序所在目錄,nagios文件即為主程序 |
etc | Nagios配置文件位置,初始安裝完后,只有幾個(gè)*.cfg-sample文件 |
sbin | Nagios Cgi文件所在目錄,也就是執(zhí)行外部命令所需未找到索引項(xiàng)。文件所在的目錄 |
Share | Nagios網(wǎng)頁文件所在的目錄 |
libexec | 插件所在的目錄 |
Var | Nagios日志文件等文件所在的目錄 |
var/archives | Empty directory for thearchived logs |
var/rw | Empty directory for theexternal command file |
nagios的所有監(jiān)控工作都是通過插件完成的,因此,在啟動(dòng)nagios之前還需要為其安裝官方提供的插件
[root@a ~]# tar -xvzf nagios-plugins-1.4.16.tar.gz -C /usr/src
[root@a ~]# cd /usr/src/nagios-plugins-1.4.16/
[root@a nagios-plugins-1.4.16]# ./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-mysql=/usr/local/mysql
[root@a nagios-plugins-1.4.16]# make && make install
[root@a nagios-plugins-1.4.16]# chkconfig --add nagios
[root@a nagios-plugins-1.4.16]# chkconfig nagios on
[root@a var]# service nagios restart
[root@a nagios-plugins-1.4.16]# /usr/local/nagios/bin/nagios –v /etc/nagios/nagios.cfg
Nagios Core 3.4.4
Copyright (c) 2009-2011 Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 01-12-2013
License: GPL
Website: http://www.nagios.org
Reading configuration data...
Read main config file okay...
Processing object config file '/etc/nagios/objects/commands.cfg'...
Processing object config file '/etc/nagios/objects/contacts.cfg'...
Processing object config file '/etc/nagios/objects/timeperiods.cfg'...
Processing object config file '/etc/nagios/objects/templates.cfg'...
Processing object config file '/etc/nagios/objects/localhost.cfg'...
Read object config files okay...
Running pre-flight check on configuration data...
Checking services...
Checked 8 services.
Checking hosts...
Checked 1 hosts.
Checking host groups...
Checked 1 host groups.
Checking service groups...
Checked 0 service groups.
Checking contacts...
Checked 1 contacts.
Checking contact groups...
Checked 1 contact groups.
Checking service escalations...
Checked 0 service escalations.
Checking service dependencies...
Checked 0 service dependencies.
Checking host escalations...
Checked 0 host escalations.
Checking host dependencies...
Checked 0 host dependencies.
Checking commands...
Checked 24 commands.
Checking time periods...
Checked 5 time periods.
Checking for circular paths between hosts...
Checking for circular host and service dependencies...
Checking global event handlers...
Checking obsessive compulsive processor commands...
Checking misc settings...
Total Warnings: 0
Total Errors:0
7.5.關(guān)閉selinux及防火墻
[root@a nagios-plugins-1.4.16]# setenfoce 0
[root@a nagios-plugins-1.4.16]# service iptables stop