Nagios網(wǎng)上的教程百度一下一大把,發(fā)現(xiàn)有些教程講法有點(diǎn)出入,估計(jì)有些都是拷貝亂貼亂飛,按有些說法去做,根本就做不下去,今天我親自實(shí)踐,現(xiàn)場(chǎng)抓圖讓你看得清楚看得明白,以及中間遇到什么問題,怎么解決,都會(huì)分享給大家,抓圖再寫出來有點(diǎn)辛苦,關(guān)鍵能學(xué)到東西一切都是值得滴,F(xiàn)ollow me~!
下載centOS 6.0然后安裝好系統(tǒng),最好用vmware來做最好.
CentOS 6.0最新版國內(nèi)下載地址:http://mirrors.163.com/centos/6.0/isos/i386/
自行裝好系統(tǒng)以后現(xiàn)在開始裝備安裝前的環(huán)境準(zhǔn)備
我把命令貼出來,為了方便大家操作你只要跟著我把命令拷貝和粘貼即可,省去敲打命令的麻煩也避免失誤出錯(cuò)(小技巧提醒:裝好centOS以后進(jìn)入x-windows里面裝個(gè)vmware tools就可以實(shí)現(xiàn)物理機(jī)和虛擬機(jī)之間的拷貝和粘貼,方法很簡(jiǎn)單這里就不說了)
yum -y install httpd gettext mysql mysql-server mysql-devel php php-mysql php-pear
yum install php-mysql mysql perl mysql-server perl-DBI perl-DBD-MySQL httpd gcc glibc glibc-common gd gd-devel php
在線下載nagios程序和插件
wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz (現(xiàn)在最新版本的插件)
wget http://sourceforge.net/projects/nagios-cn/files/sourcecode/zh_CN%203.2.3/nagios-cn-3.2.3.tar.bz2/download(最新版為3.3.1,裝上去覺得界面變得不好看,順便就找了個(gè)中文版的)
[root@centos nagios]# ls
nagios-cn-3.2.3.tar.bz2 nagios-plugins-1.4.15.tar.gz
用戶和組的準(zhǔn)備
[root@centos nagios]# useradd nagios
[root@centos nagios]# passwd nagios
changing password for user nagios.
New password:
BAD PASSWORD:it is based on a dictionary word
BAD PASSWORD:is too simple
Retype new password:
passwd:all authentication tokens updated successfully.
開始安裝主程序
./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios --with-command-group=nagcmd
完成以后發(fā)現(xiàn)執(zhí)行make all命令的時(shí)候出現(xiàn)以下錯(cuò)誤
貌似CentOS下默認(rèn)系統(tǒng)沒有安裝編譯器,安裝一下:
yum -y install gcc automake autoconf libtool make
繼續(xù)做make all操作,發(fā)現(xiàn)最后報(bào)錯(cuò)了,
先執(zhí)行make clean操作,然后再執(zhí)行 ./configure && make all 操作通過(問題分享)接著再執(zhí)行以下命令即可,沒有出現(xiàn)任何狀況.
接下來安裝插件
./configure --with-nagios-user=nagios --with-nagios-group=nagios
添加訪問頁面用戶nagiosadmin及密碼,這里要記住此密碼不要忘記了.
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
接下來啟動(dòng)相關(guān)服務(wù)
檢查配置文件是否正確
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
[經(jīng)驗(yàn)分享:由于這一串檢查的命令很長(zhǎng),應(yīng)用率也比較高,這里我們可以自定義一個(gè)命令來代替這一長(zhǎng)串的命令
編輯.bashrc這個(gè)文件
在里面用alias 來自定義一個(gè)命令來代替,這里我用check
用source命令在當(dāng)前bash環(huán)境下讀取并執(zhí)行bashrc中的命令
這樣我們自定義的命令就生效了,以后只要輸入check就可以檢查nagios配置文件是否存在錯(cuò)誤了,簡(jiǎn)單方便.]
發(fā)現(xiàn)沒有警告和錯(cuò)誤就表示通過了
現(xiàn)在就可以用http://serverip/nagios 方式訪問nagios web訪問控制臺(tái)了.
開了防火墻記得要開放80端口,要不然連接不到,或者直接關(guān)閉防火墻用命令service iptables stop關(guān)閉即可.
問題分享:進(jìn)入頁面的時(shí)候點(diǎn)主機(jī)或其它選項(xiàng)的時(shí)候報(bào)此錯(cuò)誤,后面百度一下原來是開啟了selinux強(qiáng)制訪問控制安全模塊所致
注意:如果你開啟了selinux 需要配置如下二步:
chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/
chcon -R -t httpd_sys_content_t /usr/local/nagios/share/
這樣正宗的中文版出來了,總算邁出了成功的一小步,耐心堅(jiān)持讓我們繼續(xù)吧~~!
[經(jīng)驗(yàn)分享:我這里用虛擬機(jī)做的,記得系統(tǒng)和網(wǎng)絡(luò)相關(guān)參數(shù)配置好以后做一個(gè)系統(tǒng)的快照,配到這里nagios安裝成功以后我們?cè)僮鲆粋€(gè)快照,以免后面配亂出問題的時(shí)候我們可以返回到這里重新再配置,方便快捷,記住做快照的時(shí)候先把虛擬機(jī)關(guān)閉以后再做,要不然快照出來的文件大得嚇人,而關(guān)閉以后做快照文件才幾百KB.]
ok下面我們接著來
[nrpe_plugins指標(biāo)采集程序主要是用來分析nrpe客戶端的plugin腳本采集性能指標(biāo)數(shù)據(jù)。目前實(shí)現(xiàn)的有cpu、memory、disk、buffer、singleprocess、oracle、sybase等方面的性能指標(biāo)的分析,這個(gè)插件需要分別安裝在主控端和被控端上,這個(gè)插件需要openssl的支持,沒有就直接在線安裝一下(yum install openssl-devel)所以還需在nagios主機(jī)和被控端安裝,感覺挺麻煩,沒辦法它需要咱們就跟著做哈.]
先把nrpe下載下來先.
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz
解壓文件
編譯安裝
完成以后沒有出錯(cuò)就可以看到以下生成的文件了
二:配置PNP
[PNP是一個(gè)基于php和perl,用rrdtool將nagios采集的數(shù)據(jù)繪制圖表的工具,所以安裝pnp之前必須先安裝php perl and rrdtool這里用yum直接來安裝rrdtool,單獨(dú)下載安裝有很多依存關(guān)系,挺麻煩.]
我這里找到最新的版本是0.6.15
wget http://sourceforge.net/projects/pnp4nagios/files/PNP-0.6/pnp4nagios-0.6.15.tar.gz/download
編譯的時(shí)候報(bào)錯(cuò)了.
yum install perl-Time-HiRes
繼續(xù)編譯發(fā)現(xiàn)有個(gè)perl modules沒有發(fā)現(xiàn),好像提示用來加速什么的,暫時(shí)不管它了
根據(jù)提示需要繼續(xù)
然后把相關(guān)后綴帶sample文件變更成無sample后綴
配置Nagios來啟用PNP
enable_environment_macros=1默認(rèn)是開啟了的
pnp4nagios有很多種工作模式,這里我們選用同步模式,想選其它模式可以看說明都有詳細(xì)配置教程(不同模式配置不同)
這里我們按說明的設(shè)定方法來做
[這里先把pnp4nagios執(zhí)行數(shù)據(jù)收集的文件拷貝到nagios的libexec下,方便統(tǒng)一命令的執(zhí)行路徑.]
cp /usr/local/pnp4nagios/libexec/process_perfdata.pl /usr/local/nagios/libexec/
然后在commands.cfg里面加入如下(這里是同步模式設(shè)定方法)
#process-host-perfdata' command definition
define command{
command_name process-host-perfdata
command_line $USER1$/process_perfdata.pl -d HOSTPERFDATA
}
#process-service-perfdata' command definition
define command{
command_name process-service-perfdata
command_line $USER1$/process_perfdata.pl
}
然后添加小太陽模版,鑲嵌在nagios頁面上
[這里有兩種查看圖的方法,第一種方法是你當(dāng)太陽的圖標(biāo)的時(shí)候會(huì)在新窗口中打開圖形查看,第二種方法是你只需要把鼠標(biāo)移動(dòng)到太陽圖標(biāo)上面就會(huì)自動(dòng)彈出圖形出來,以下兩種方法你可以根據(jù)自己喜好選其中一種即可]
第一種方法在templates.cfg里面加入如下
define host {
name host-pnp
action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_
register 0
}
define service {
name srv-pnp
action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$
register 0
}
第二種方法按照說明加入如下
拷貝status-header.ssi到/usr/local/nagios/share/ssi/目錄下面來(這一步很重要,要不然移動(dòng)到太陽標(biāo)記上出不來圖)
define host {
name host-pnp
action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_' class='tips' rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=_HOST_
register 0
}
define service {
name srv-pnp
action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$' class='tips' rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=$SERVICEDESC$
register 0
}
第二種方法最終效果圖
為目標(biāo)主機(jī)圖標(biāo)旁邊添加一個(gè)小太陽標(biāo)記
為相關(guān)服務(wù)添加一個(gè)小太陽標(biāo)記
先做一下pnp4nagios環(huán)境測(cè)試,發(fā)現(xiàn)php-gd模塊無效,用命令yum install php-gd安裝成功以后還是不行,后來經(jīng)老男孩指點(diǎn)用yum install php* -y安裝然后重啟系統(tǒng)成功通過,
按要求重命名install.php
做好相關(guān)配置以后請(qǐng)用命令重啟一下nagios的服務(wù)
ok,到此總算配置好了PNP,配置了這么多有點(diǎn)累了,但我們還要繼續(xù),配置本章最后一個(gè)Nagios WEB管理工具叫NagiosQL(注:還有同樣一個(gè)Nagios WEB管理工具叫Nconf)
NagiosQL是一個(gè)WEB管理工具,只要把其放到下Apache即可。因?yàn)檫@里它要和Nagios整合到一起,為了方便管理,把其放在Nagios目錄下
建立nagiosQL導(dǎo)出nagios配置文件的目錄,并修改權(quán)限
建目錄和改權(quán)限
mkdir -p /etc/nagiosql/{hosts,services,backup/{,hosts,services},import}
chown -R apache:nagios /etc/nagiosql/
chmod -R 755 /etc/nagiosql
chmod 777 /usr/local/nagios/nagiosql/config
Nagios相關(guān)文件權(quán)限的設(shè)定
chown nagios:apache /usr/local/nagios/etc
chown nagios:apache /usr/local/nagios/etc/{nagios.cfg,cgi.cfg}
chown nagios:apache /usr/local/nagios/etc/*
chmod 664 /usr/local/nagios/etc/{nagios.cfg,cgi.cfg}
chmod 775 /usr/local/nagios/etc
設(shè)定nagios二進(jìn)制文件的權(quán)限,以便其能夠通過Web程序執(zhí)行
chown nagios:apache /usr/local/nagios/bin/nagios
chmod 750 /usr/local/nagios/bin/nagios
chown -R apache.nagios /usr/local/nagios/var/spool/
chown nagios:apache /usr/local/nagios/var/rw/nagios.cmd
chmod 660 /usr/local/nagios/var/rw/nagios.cmd
為apache添加nagiosQL虛擬目錄
Alias /nagiosQL "/usr/local/nagios/nagiosql"
<Directory "/usr/local/nagios/nagiosql">
# SSLRequireSSL
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
重新加載httpd服務(wù)和啟動(dòng)mysqld服務(wù)
建立nagiosql安裝文件
touch /usr/local/nagios/nagiosql/install/ENABLE_INSTALLER
訪問http://ip/nagiosQL進(jìn)行安裝
問題分享:我在訪問的時(shí)候提示沒有權(quán)限訪問,搞了半天原來是SElinux惹的禍,修改SELinux的實(shí)時(shí)運(yùn)行模式,setenforce 0 (設(shè)置SELinux 成為permissive模式)這個(gè)只是臨時(shí)解決方法,優(yōu)點(diǎn)是不需重啟系統(tǒng)生效,但如果要徹底禁用SELinux 需要在/etc/sysconfig/selinux中設(shè)置參數(shù)selinux=0
選取中文然后點(diǎn)開始安裝按鈕
測(cè)試所需環(huán)境通過,直接按下一步即可
刪除安裝目錄,這里使用改權(quán)限:chmod 000 /usr/local/nagios/nagiosql/install
到這里安裝步驟總算結(jié)束了,下面我們還需要進(jìn)行相關(guān)配置工作.
管理-域-localhost---點(diǎn)“修改”
按如圖所示更改相應(yīng)的路徑即可
工具-導(dǎo)入數(shù)據(jù) 右邊會(huì)列出一些配置文件,選擇導(dǎo)入即可。
導(dǎo)入只是把配置文件內(nèi)容導(dǎo)入到Mysql數(shù)據(jù)庫,而使用其配置文件時(shí),是一個(gè)個(gè)cfg文件,所以下面要進(jìn)行寫入過程
工具-nagios控制-寫入檢測(cè)數(shù)據(jù)-寫入其他數(shù)據(jù)
檢查配置文件成功
寫入之后就可以看到相應(yīng)的cfg文件了,查看寫入是否成功,由下面的輸出可以看出寫入是成功滴.
修改nagios的配置文件,將原有以cfg_file開頭項(xiàng)全部注釋掉,加入上面新寫入的配置文件
注釋掉
加入新的配置文件路徑
cfg_dir=/etc/nagiosql/hosts/
cfg_dir=/etc/nagiosql/services/
cfg_file=/etc/nagiosql/commands.cfg
cfg_file=/etc/nagiosql/contactgroups.cfg
cfg_file=/etc/nagiosql/contacts.cfg
cfg_file=/etc/nagiosql/contacttemplates.cfg
cfg_file=/etc/nagiosql/hostdependencies.cfg
cfg_file=/etc/nagiosql/hostescalations.cfg
cfg_file=/etc/nagiosql/hostextinfo.cfg
cfg_file=/etc/nagiosql/hostgroups.cfg
cfg_file=/etc/nagiosql/hosttemplates.cfg
cfg_file=/etc/nagiosql/servicedependencies.cfg
cfg_file=/etc/nagiosql/serviceescalations.cfg
cfg_file=/etc/nagiosql/serviceextinfo.cfg
cfg_file=/etc/nagiosql/servicegroups.cfg
cfg_file=/etc/nagiosql/servicetemplates.cfg
cfg_file=/etc/nagiosql/timeperiods.cfg
檢查nagios的配置文件是否有問題,然后生重啟nagios服務(wù),至此整個(gè)搭建過程終于完成了,下一節(jié)將講解重頭戲,怎么用nagiosQL添加需要監(jiān)控的主機(jī)以及啟用nagios報(bào)警機(jī)制,待續(xù)~~!
聯(lián)系客服