1 解決安裝nagios 的依賴關系
Nagios基本元件的運作依賴于httpd,gcc和gd。
確定以下的軟體包已經安裝
Httpd gcc glibc glibc-common gd gd-devel mysql mysql-server php gd 等軟體包
2 添加nagios運作所需要的使用者群組
#groupadd nagcmd
#useradd -m nagios
#usermod –a –G nagcmd nagios
#usermod –a –G nagcmd apache
注把apache 加入到nagcmd組,以便在通過web Interface 操作nagios是有足夠的權限;
3 安裝編譯nagios
#tar xvf nagios-3.1.2.tar.gz
# cd nagios-3.1.2
#./configure –with-command-group=nagcmd --enable-event-broker
# make all
#make install
#make install-init
#make install-config
#make install-commandmode
4 配置為接受nagios 警告資訊的郵件位址,預設是本機的nagios使用者
#vim /usr/local/nagios/etc/objects/contacts.cfg
Email nagios@localhost #該郵件為預設
5 在httpd的配置檔案目錄中建立nagios的web程式檔案;其檔案在conf.d
#make install-webconf
6 為nagios web建立使用者和密碼,并能呢個通過使用者帳号來通過以後web認證登入nagios認證所用
#htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
配置完後并重新開機httpd
#service httpd restart
7編譯,安裝nagios-plugins
#tar xvf nagios-plugins-1.4.14.tar.gz
# cd nagios-plugins-1.4.14
# ./configure –with-nagios-user=nagios –with-nagios-group=nagios
#make
#make install
8 配置并啟動nagios
(1) 把nagios添加為系統服務并将之加入到自動啟動服務隊列
#chkconfig --add nagios
#chkconfig nagios on
(2) 檢查nagios的配置檔案的文法正誤
#/usr/local/nagios/bin/nagios/ -v /usr/local/nagios/etc/nagios.cfg
注:如果在其檢查文法時有錯誤請根據提示的錯誤,進行修改,并再次進行檢查。
(3) 檢查主機上的selinux是否開啟,
# getenforce
如果開啟的時候selinux,在預設的情況下,會拒絕nagios web cgi 程式的運作。
1如果getenforce 顯示的selinux 是Enforcing時,
則可以關閉selinux
setenforce 0注該種方法隻是 臨時性的關閉selinux,當機器重新開機的時候,
selinux同樣是開啟的
2如果想讓selinux永久關閉的時,則需要配置/etc/sysconfig/selinux
把 SELINUX=enforcing修改為SELINUX=disabled
3 為了安全的情況下,您可以不必關閉selinux就能夠運作nagios的CGI程式,當然這需要修改檔案的标簽
#chcon -R –t httpd_sys_content_t /usr/local/nagios/share
#chcon -R –t httpd_sys_content_t /usr/local/nagios/sbin
(3) 通過web頁面檢視nagios
http://IP/nagios
在檢視的時候需要提供賬戶和密碼
9 安裝NDOUTILE,并配置
#tar xvf ndoutils-1.4b9.tar.gz
#cd ndoutils-1.4b9
#/configure --enable-mysql --with-mysql-lib=/usr/lib --with-mysql-inc=/usr/include --disable-pgsql
# make
# cp -v src/{ndomod-3x.o,ndo2db-3x,file2sock,log2ndo} /usr/local/nagios/bin
注:以上複制的檔案中前兩項是版本相關的,即如果您的nagios主版本号是2系列,則需要拷貝名為ndomod-2x.o和ndo2db-2x的兩個檔案。後兩項是通用檔案,無論哪個版本都需要複制。
10 為ndoutile建立資料庫
#mysql -uroot –p
mysql> create database ndodb;
mysql> GRANT CREATE,SELECT,DELETE,UPDATE,INSERT ON ndodb.* TO ndouser@localhost
IDENTIFIED BY ‘123456’;
mysql> flush privileges;
下面兩條指令用來生成ndoutils所需要的資料庫表等,這些表預設以“nagios_”為字首;install腳本指令必須在db子目錄内執行:
# cd db
# ./installdb -u ndouser -p 123456 -h localhost -d ndodb
其中各選項的意義如下:
-u用來指定導入時所用的mysql使用者帳号
-p表示前面mysql使用者的密碼
-h表示mysql伺服器位址,如果是localhost,則可以省略
-d表示目标資料庫
說明:如果與cacti整合的話,npc插件會在cacti的資料庫自動生成ndoutils所需要表,這些表均以“npc_”為字首。後面講到整合的文章中會繼續對些做出說明。
11、複制、編輯配置檔案,并修改檔案權限
# cd ..
# cp -v config/{ndo2db.cfg-sample,ndomod.cfg-sample} /usr/local/nagios/etc
#chmod 644 /usr/loca/nagios/etc/nd0*
# vi /usr/local/nagios/etc/nagios.cfg
在檔案中添加:
broker_module=/usr/local/nagios/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg
此外,請確定您的/usr/local/nagios/etc/nagios.cfg中有如下行出現,否則,請自行添加:
event_broker_options=-1 //為Nagios開啟event broker
12、編輯ndo2db守護程序和ndomod的配置檔案
# vi /usr/local/nagios/etc/ndo2db.cfg
socket_type=tcp
db_servertype=mysql
db_host=localhost
db_port=3306
db_prefix=nagios_
db_user=ndouser
db_pass=123456
說明:
i) 以上"db_"開頭的選項用來指定連接配接資料庫的屬性;
ii)其預設用來接收資料的方式為Unix域套接字,這裡修改成了TCP套接字;同時,ndomod.cfg配置檔案中指定的輸出方式也應該做相應的修改;
接下來我們去編輯ndomod的配置檔案,為其指定資料的輸出方式和輸出目标主機:
# vi /usr/local/nagios/etc/ndomod.cfg
output_type=tcpsocket
output=127.0.0.1
13、啟動ndo2db守護程序
# /usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg
建議此時檢視系統日志(/var/log/messages)中是否有錯誤出現。
如果此時Nagios程序已啟動,則需要停止并重新啟動nagios:
# killall -SIGHUP nagios
# rm -f /usr/local/nagios/var/nagios.lock
# /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
i)此處停止Nagios必須通過向Nagios發送SIGHUP信号的方式進行;
ii)建議此時檢視nagios日志檔案中是否表明ndomod的子產品加載是否正常,以及其是否能正常連接配接到data sink;檢視日志,可以使用如下指令實作:# tail -30 /usr/local/nagios/var/nagios.log
排錯資訊:
i) 如果ndomod子產品沒能正常加載的話,建議重新檢查nagios的配置檔案中是否添加了所需的broker module條目;
ii) 同時,如果ndomod沒有正常連接配接到data sin,建議檢視ndo2db.cfg檔案中關于mysql連接配接項目的指定是否正确;
iii)确認一下在編譯NDOUtils時是否指定了關于mysql庫檔案位置的選項;
本文轉自 freehat08 51CTO部落格,原文連結:http://blog.51cto.com/freehat/318970,如需轉載請自行聯系原作者