Nagios網上的教程百度一下一大把,發現有些教程講法有點出入,估計有些都是拷貝亂貼亂飛,按有些說法去作,根本就作不下去,今天我親自實踐,現場抓圖讓你看得清楚看得明白,以及中間遇到什麼問題,怎麼解決,都會分享給你們,抓圖再寫出來有點辛苦,關鍵能學到東西一切都是值得滴,Follow me~!php
下載centOS 6.0而後安裝好系統,最好用vmware來作最好.mysql
CentOS 6.0最新版國內下載地址:http://mirrors.163.com/centos/6.0/isos/i386/linux
自行裝好系統之後如今開始裝備安裝前的環境準備
我把命令貼出來,爲了方便你們操做你只要跟着我把命令拷貝和粘貼便可,省去敲打命令的麻煩也避免失誤出錯(小技巧提醒:裝好centOS之後進入x-windows裏面裝個vmware tools就能夠實現物理機和虛擬機之間的拷貝和粘貼,方法很簡單這裏就不說了)
yum -y install httpd gettext mysql mysql-server mysql-devel php php-mysql php-pearios
yum install php-mysql mysql perl mysql-server perl-DBI perl-DBD-MySQL httpd gcc glibc glibc-common gd gd-devel phpweb
在線下載nagios程序和插件sql
wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz (如今最新版本的插件)
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,裝上去以爲界面變得很差看,順便就找了箇中文版的)數據庫
用戶和組的準備apache
開始安裝主程序windows
./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios --with-command-group=nagcmdcentos
完成之後發現執行make all命令的時候出現如下錯誤
貌似CentOS下默認系統沒有安裝編譯器,安裝一下:
yum -y install gcc automake autoconf libtool make
繼續作make all操做,發現最後報錯了,
先執行make clean操做,而後再執行 ./configure && make all 操做經過(問題分享)接着再執行如下命令便可,沒有出現任何情況.
接下來安裝插件
./configure --with-nagios-user=nagios --with-nagios-group=nagios
添加訪問頁面用戶nagiosadmin及密碼,這裏要記住此密碼不要忘記了.
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
接下來啓動相關服務
檢查配置文件是否正確
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
[經驗分享:因爲這一串檢查的命令很長,應用率也比較高,這裏咱們能夠自定義一個命令來代替這一長串的命令
編輯.bashrc這個文件
在裏面用alias 來自定義一個命令來代替,這裏我用check
用source命令在當前bash環境下讀取並執行bashrc中的命令
這樣咱們自定義的命令就生效了,之後只要輸入check就能夠檢查nagios配置文件是否存在錯誤了,簡單方便.]
發現沒有警告和錯誤就表示經過了
如今就能夠用http://serverip/nagios 方式訪問nagios web訪問控制檯了.
開了防火牆記得要開放80端口,要否則鏈接不到,或者直接關閉防火牆用命令service iptables stop關閉便可.
問題分享:進入頁面的時候點主機或其它選項的時候報此錯誤,後面百度一下原來是開啓了selinux強制訪問控制安全模塊所致
注意:若是你開啓了selinux 須要配置以下二步:
chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/
chcon -R -t httpd_sys_content_t /usr/local/nagios/share/
這樣正宗的中文版出來了,總算邁出了成功的一小步,耐心堅持讓咱們繼續吧~~!
[經驗分享:我這裏用虛擬機作的,記得系統和網絡相關參數配置好之後作一個系統的快照,配到這裏nagios安裝成功之後咱們再作一個快照,以避免後面配亂出問題的時候咱們能夠返回到這裏從新再配置,方便快捷,記住作快照的時候先把虛擬機關閉之後再作,要否則快照出來的文件大得嚇人,而關閉之後作快照文件才幾百KB.]
ok下面咱們接着來
[nrpe_plugins指標採集程序主要是用來分析nrpe客戶端的plugin腳本採集性能指標數據。目前實現的有cpu、memory、disk、buffer、singleprocess、oracle、sybase等方面的性能指標的分析,這個插件須要分別安裝在主控端和被控端上,這個插件須要openssl的支持,沒有就直接在線安裝一下(yum install openssl-devel)因此還需在nagios主機和被控端安裝,感受挺麻煩,沒辦法它須要我們就跟着作哈.]
先把nrpe下載下來先.
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz
解壓文件
編譯安裝
完成之後沒有出錯就能夠看到如下生成的文件了
二:配置PNP
[PNP是一個基於php和perl,用rrdtool將nagios採集的數據繪製圖表的工具,因此安裝pnp以前必須先安裝php perl and rrdtool這裏用yum直接來安裝rrdtool,單獨下載安裝有不少依存關係,挺麻煩.]
我這裏找到最新的版本是0.6.15
wget http://sourceforge.net/projects/pnp4nagios/files/PNP-0.6/pnp4nagios-0.6.15.tar.gz/download
編譯的時候報錯了.
yum install perl-Time-HiRes
繼續編譯發現有個perl modules沒有發現,好像提示用來加速什麼的,暫時無論它了
根據提示須要繼續
而後把相關後綴帶sample文件變動成無sample後綴
配置Nagios來啓用PNP
enable_environment_macros=1默認是開啓了的
pnp4nagios有不少種工做模式,這裏咱們選用同步模式,想選其它模式能夠看說明都有詳細配置教程(不一樣模式配置不一樣)
這裏咱們按說明的設定方法來作
[這裏先把pnp4nagios執行數據收集的文件拷貝到nagios的libexec下,方便統一命令的執行路徑.]
cp /usr/local/pnp4nagios/libexec/process_perfdata.pl /usr/local/nagios/libexec/
而後在commands.cfg裏面加入以下(這裏是同步模式設定方法)
#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頁面上
[這裏有兩種查看圖的方法,第一種方法是你當太陽的圖標的時候會在新窗口中打開圖形查看,第二種方法是你只須要把鼠標移動到太陽圖標上面就會自動彈出圖形出來,如下兩種方法你能夠根據本身喜愛選其中一種便可]
第一種方法在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/目錄下面來(這一步很重要,要否則移動到太陽標記上出不來圖)
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
}
第二種方法最終效果圖
爲目標主機圖標旁邊添加一個小太陽標記
爲相關服務添加一個小太陽標記
先作一下pnp4nagios環境測試,發現php-gd模塊無效,用命令yum install php-gd安裝成功之後仍是不行,後來經老男孩指點用yum install php* -y安裝而後重啓系統成功經過,
按要求重命名install.php
作好相關配置之後請用命令重啓一下nagios的服務
ok,到此總算配置好了PNP,配置了這麼多有點累了,但咱們還要繼續,配置本章最後一個Nagios WEB管理工具叫NagiosQL(注:還有一樣一個Nagios WEB管理工具叫Nconf)
NagiosQL是一個WEB管理工具,只要把其放到下Apache便可。由於這裏它要和Nagios整合到一塊兒,爲了方便管理,把其放在Nagios目錄下
創建nagiosQL導出nagios配置文件的目錄,並修改權限
建目錄和改權限
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相關文件權限的設定
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
設定nagios二進制文件的權限,以便其可以經過Web程序執行
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服務和啓動mysqld服務
創建nagiosql安裝文件
touch /usr/local/nagios/nagiosql/install/ENABLE_INSTALLER
訪問http://ip/nagiosQL進行安裝
問題分享:我在訪問的時候提示沒有權限訪問,搞了半天原來是SElinux惹的禍,修改SELinux的實時運行模式,setenforce 0 (設置SELinux 成爲permissive模式)這個只是臨時解決方法,優勢是不需重啓系統生效,但若是要完全禁用SELinux 須要在/etc/sysconfig/selinux中設置參數selinux=0
選取中文而後點開始安裝按鈕
測試所需環境經過,直接按下一步便可
刪除安裝目錄,這裏使用改權限:chmod 000 /usr/local/nagios/nagiosql/install
到這裏安裝步驟總算結束了,下面咱們還須要進行相關配置工做.
管理-域-localhost---點「修改」
按如圖所示更改相應的路徑便可
工具-導入數據 右邊會列出一些配置文件,選擇導入便可。
導入只是把配置文件內容導入到Mysql數據庫,而使用其配置文件時,是一個個cfg文件,因此下面要進行寫入過程
工具-nagios控制-寫入檢測數據-寫入其餘數據
檢查配置文件成功
寫入以後就能夠看到相應的cfg文件了,查看寫入是否成功,由下面的輸出能夠看出寫入是成功滴.
修改nagios的配置文件,將原有以cfg_file開頭項所有註釋掉,加入上面新寫入的配置文件
註釋掉
加入新的配置文件路徑
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服務,至此整個搭建過程終於完成了,下一節將講解重頭戲,怎麼用nagiosQL添加須要監控的主機以及啓用nagios報警機制,待續~~!
NagiosQL添加監控主機及Nagios上啓用報警機制