天天看點

Redhat5.4上的nagios的安裝

 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,如需轉載請自行聯系原作者