實戰CentOS6.0+Nagios中文版+PNP+NagiosWeb管理工具nagiosQL中文版

技術小胖子發表於2017-11-08

Nagios網上的教程百度一下一大把,發現有些教程講法有點出入,估計有些都是拷貝亂貼亂飛,按有些說法去做,根本就做不下去,今天我親自實踐,現場抓圖讓你看得清楚看得明白,以及中間遇到什麼問題,怎麼解決,都會分享給大家,抓圖再寫出來有點辛苦,關鍵能學到東西一切都是值得滴,Follow me~!

下載centOS 6.0然後安裝好系統,最好用vmware來做最好.

CentOS 6.0最新版國內下載地址:http://mirrors.163.com/centos/6.0/isos/i386/

自行裝好系統以後現在開始裝備安裝前的環境準備

我把命令貼出來,為了方便大家操作你只要跟著我把命令拷貝和貼上即可,省去敲打命令的麻煩也避免失誤出錯(小技巧提醒:裝好centOS以後進入x-windows裡面裝個vmware tools就可以實現物理機和虛擬機器之間的拷貝和貼上,方法很簡單這裡就不說了)

yum -y install httpd gettext mysql mysql-server mysql-devel php php-mysql php-pear

image

yum install php-mysql mysql perl mysql-server perl-DBI perl-DBD-MySQL httpd gcc glibc glibc-common gd gd-devel php

image

線上下載nagios程式和外掛

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,裝上去覺得介面變得不好看,順便就找了箇中文版的)

image

image

image

使用者和組的準備

image

image

開始安裝主程式

image

./configure –prefix=/usr/local/nagios –with-nagios-user=nagios –with-nagios-group=nagios –with-command-group=nagcmd

image

完成以後發現執行make all命令的時候出現以下錯誤

image

貌似CentOS下預設系統沒有安裝編譯器,安裝一下:

yum -y install gcc automake autoconf libtool make

image

繼續做make all操作,發現最後報錯了,

image

先執行make clean操作,然後再執行 ./configure && make all 操作通過(問題分享)接著再執行以下命令即可,沒有出現任何狀況.

image

image

image

image

image

接下來安裝外掛

image

./configure –with-nagios-user=nagios –with-nagios-group=nagios

image

image

新增訪問頁面使用者nagiosadmin及密碼,這裡要記住此密碼不要忘記了.

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

image

接下來啟動相關服務

image

image

檢查配置檔案是否正確

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

image

[經驗分享:由於這一串檢查的命令很長,應用率也比較高,這裡我們可以自定義一個命令來代替這一長串的命令

編輯.bashrc這個檔案

image

在裡面用alias 來自定義一個命令來代替,這裡我用check

image

用source命令在當前bash環境下讀取並執行bashrc中的命令

image

這樣我們自定義的命令就生效了,以後只要輸入check就可以檢查nagios配置檔案是否存在錯誤了,簡單方便.]

發現沒有警告和錯誤就表示通過了

image

現在就可以用http://serverip/nagios 方式訪問nagios web訪問控制檯了.

開了防火牆記得要開放80埠,要不然連線不到,或者直接關閉防火牆用命令service iptables stop關閉即可.

image

問題分享:進入頁面的時候點主機或其它選項的時候報此錯誤,後面百度一下原來是開啟了selinux強制訪問控制安全模組所致

image

注意:如果你開啟了selinux 需要配置如下二步: 

chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/ 

chcon -R -t httpd_sys_content_t /usr/local/nagios/share/

image

這樣正宗的中文版出來了,總算邁出了成功的一小步,耐心堅持讓我們繼續吧~~!

image

[經驗分享:我這裡用虛擬機器做的,記得系統和網路相關引數配置好以後做一個系統的快照,配到這裡nagios安裝成功以後我們再做一個快照,以免後面配亂出問題的時候我們可以返回到這裡重新再配置,方便快捷,記住做快照的時候先把虛擬機器關閉以後再做,要不然快照出來的檔案大得嚇人,而關閉以後做快照檔案才幾百KB.]

SNAGHTMLbffa284

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

image

解壓檔案

image

編譯安裝

image

image

完成以後沒有出錯就可以看到以下生成的檔案了

image

二:配置PNP

[PNP是一個基於php和perl,用rrdtool將nagios採集的資料繪製圖表的工具,所以安裝pnp之前必須先安裝php perl  and rrdtool這裡用yum直接來安裝rrdtool,單獨下載安裝有很多依存關係,挺麻煩.]

image

我這裡找到最新的版本是0.6.15

wget http://sourceforge.net/projects/pnp4nagios/files/PNP-0.6/pnp4nagios-0.6.15.tar.gz/download

image

image

image

編譯的時候報錯了.

image

yum install perl-Time-HiRes

image

繼續編譯發現有個perl modules沒有發現,好像提示用來加速什麼的,暫時不管它了

image

image

根據提示需要繼續

image

image

image

image

然後把相關字尾帶sample檔案變更成無sample字尾

image

配置Nagios來啟用PNP

image

enable_environment_macros=1預設是開啟了的 

 

image

pnp4nagios有很多種工作模式,這裡我們選用同步模式,想選其它模式可以看說明都有詳細配置教程(不同模式配置不同

image

這裡我們按說明的設定方法來做

image

[這裡先把pnp4nagios執行資料收集的檔案拷貝到nagios的libexec下,方便統一命令的執行路徑.]

cp /usr/local/pnp4nagios/libexec/process_perfdata.pl /usr/local/nagios/libexec/

image

然後在commands.cfg裡面加入如下(這裡是同步模式設定方法

image

#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 

        } 

 

image

然後新增小太陽模版,鑲嵌在nagios頁面上

[這裡有兩種檢視圖的方法,第一種方法是你當太陽的圖示的時候會在新視窗中開啟圖形檢視,第二種方法是你只需要把滑鼠移動到太陽圖示上面就會自動彈出圖形出來,以下兩種方法你可以根據自己喜好選其中一種即可]

第一種方法在templates.cfg裡面加入如下

image

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 



 

image

第二種方法按照說明加入如下

image

拷貝status-header.ssi到/usr/local/nagios/share/ssi/目錄下面來(這一步很重要,要不然移動到太陽標記上出不來圖

image

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 



第二種方法最終效果圖

image

為目標主機圖示旁邊新增一個小太陽標記

image

image

為相關服務新增一個小太陽標記

image

image

先做一下pnp4nagios環境測試,發現php-gd模組無效,用命令yum install php-gd安裝成功以後還是不行,後來經老男孩指點用yum install php* -y安裝然後重啟系統成功通過,

image

image

image

按要求重新命名install.php

image

做好相關配置以後請用命令重啟一下nagios的服務

image

ok,到此總算配置好了PNP,配置了這麼多有點累了,但我們還要繼續,配置本章最後一個Nagios WEB管理工具叫NagiosQL(注:還有同樣一個Nagios WEB管理工具叫Nconf)

wget http://sourceforge.net/projects/nagiosql/files/nagiosql/NagiosQL%203.1.1/nagiosql_311.tar.gz/download

image

NagiosQL是一個WEB管理工具,只要把其放到下Apache即可。因為這裡它要和Nagios整合到一起,為了方便管理,把其放在Nagios目錄下

image

image

建立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

image

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

image

設定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

image

為apache新增nagiosQL虛擬目錄

image

Alias /nagiosQL “/usr/local/nagios/nagiosql” 

<Directory “/usr/local/nagios/nagiosql”> 

# SSLRequireSSL 

Options None 

AllowOverride None 

Order allow,deny 

Allow from all 

</Directory>

image

重新載入httpd服務和啟動mysqld服務

image

建立nagiosql安裝檔案

touch /usr/local/nagios/nagiosql/install/ENABLE_INSTALLER

image

訪問http://ip/nagiosQL進行安裝

問題分享:我在訪問的時候提示沒有許可權訪問,搞了半天原來是SElinux惹的禍,修改SELinux的實時執行模式,setenforce 0 (設定SELinux 成為permissive模式)這個只是臨時解決方法,優點是不需重啟系統生效,但如果要徹底禁用SELinux 需要在/etc/sysconfig/selinux中設定引數selinux=0

image

選取中文然後點開始安裝按鈕

image

測試所需環境通過,直接按下一步即可

image

刪除安裝目錄,這裡使用改許可權:chmod 000 /usr/local/nagios/nagiosql/install

image

image

到這裡安裝步驟總算結束了,下面我們還需要進行相關配置工作.

image

管理-域-localhost—點“修改”

image

按如圖所示更改相應的路徑即可

image

工具-匯入資料 右邊會列出一些配置檔案,選擇匯入即可。

匯入只是把配置檔案內容匯入到Mysql資料庫,而使用其配置檔案時,是一個個cfg檔案,所以下面要進行寫入過程

image

工具-nagios控制-寫入檢測資料-寫入其他資料

image

檢查配置檔案成功

image

image

寫入之後就可以看到相應的cfg檔案了,檢視寫入是否成功,由下面的輸出可以看出寫入是成功滴.

image

修改nagios的配置檔案,將原有以cfg_file開頭項全部註釋掉,加入上面新寫入的配置檔案

image

註釋掉

image

加入新的配置檔案路徑

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

image

檢查nagios的配置檔案是否有問題,然後生重啟nagios服務,至此整個搭建過程終於完成了,下一節將講解重頭戲,怎麼用nagiosQL新增需要監控的主機以及啟用nagios報警機制,待續~~!

NagiosQL新增監控主機及Nagios上啟用報警機制

http://allanfan.blog.51cto.com/520839/704288

     本文轉自allanhi 51CTO部落格,原文連結:http://blog.51cto.com/allanfan/684169,如需轉載請自行聯絡原作者



相關文章