nagios的安裝與配置

1.    本文最終結果

Nagios和插件將安裝到/usr/local/nagios

NagiosWeb接口是URLhttp://localhost/nagios/

 

2.    準備軟件包

nagios-3.4.1.tar.gz

nagios-plugins-1.4.15.tar.gz   (2012-5-30當前最新版本)

官網下載

http://www.nagios.org/download/core

http://www.nagios.org/download/plugins

本機在線安裝:

詳見步驟5

 

3.    確認軟件環境

Apache

GCC編譯器

GD庫與開發庫

rpm  –q  httpd  gcc  glibc  glibc-common  gd gd-devel  --qf '%{name}.%{arch}\n'|sort

 

4.    創建需要的用戶和組

useradd  nagios              //運行nagios的用戶

passwd  nagios               //設定登錄密碼

//運行apache的用戶,httpd.conf 文件中找出運行用戶。

grep ^User /etc/httpd/conf/httpd.conf

User apache

useradd  apache         

passwd  apache

groupadd  nagcmd              //創建組 nagcmd 用於從WEB接口執行外部命令。

usermod –G nagcmd nagios     //添加nagios用戶到nagcmd

usermod –G nagcmd apache     //添加apache用戶到nagcmd

5.    下載nagios 和插件

mkdir  ~/downloads            //創建安裝文件下載目錄或上傳文件至此目錄

cd  ~/downloads

wget http://sourceforge.net/projects/nagios/files/nagios-3.x/nagios-3.4.1/nagios-3.4.1.tar.gz

wget http://sourceforge.net/projects/nagiosplug/files/nagiosplug/1.4.15/nagios-plugins-1.4.15.tar.gz

 

或 http://www.nagios.org/download

6.    編譯和安裝nagios

tar  –xzf  nagios-3.4.1.tar.gz

cd  nagios-3.4.1

./configure –with-command-group=nagcmd

                        //運行配置腳本,使用先前開設的用戶和組

make all                //編譯Nagios程序包源碼

make install            //安裝主程序,CGIHTML文件

make install-init       ///etc/rc.d/init.d安裝啓動腳本

make install-config     //安裝示例配置文件,安裝的路/usr/local/nagios/etc.

make install-commandmode     //配置目錄權限

make install-webconf         //配置WEB接口

nagios目錄功能的簡要說明:

bin  Nagios執行程序所在目錄,nagios文件即爲主程序

etc  Nagios配置文件位置

sbin  Nagios Cgi文件所在目錄,也就是執行外部命令所需文件所在的目錄

Share  Nagios網頁文件所在的目錄

var  Nagios日誌文件、spid 等文件所在的目錄

var/archives  日誌歸檔目錄

var/rw  用來存放外部命令文件

 

7.         配置WEB接口

方法一:

htpasswd -c /usr/local/nagios/etc/htpasswd.users  nagiosadmin       僅第一次使用這個命令,以後在使用會覆蓋所有用戶。

New password:(輸入密碼)

Re-type new password:(再次輸入密碼)

Adding password for user nagiosadmin 

//使用htpasswd命令創建訪問nagios頁面的賬號nagiosadmin 和密碼。

 

Chown  nagios.nagcmd  /usr/local/nagios/etc/htpasswd.users

<<請特別注意,用root身份建立的htpasswd.user文件的權限問題,應該在建立該文件完畢後立即更改爲nagios用戶及其所屬組的所有權>>

Service httpd restart                                                   // 重新啓動apache服務


======================================
擴展========================================

方法二適用於未安裝 web接口

即:make install-webconf

方法二

httpd.conf最後添加如下內容:

#setting for nagios 20110629

#setting by bbs.linuxtone.org

ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin

<Directory "/usr/local/nagios/sbin">

Options ExecCGI

AllowOverride None

Order allow,deny

Allow from all

AuthName "Nagios Access"

AuthType Basic

AuthUserFile /usr/local/nagios/etc/htpasswd

//用於此目錄訪問身份驗證的文件

Require valid-user

</Directory>

Alias /nagios /usr/local/nagios/share

<Directory "/usr/local/nagios/share">

Options None

AllowOverride None

Order allow,deny

Allow from all

AuthName "Nagios Access"

AuthType Basic

AuthUserFile /usr/local/nagios/etc/htpasswd

//用於此目錄訪問身份驗證的文件

Require valid-user

</Directory>

創建一個登錄nagios web程序的用戶,這個用戶帳號在以後通過web登錄nagios認證時所用:

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

查看認證文件的內容

 

less /usr/local/nagios/etc/htpasswd 

nagiosadmin:OmWGEsBnoGpIc 前半部分是用戶名test,後面是加密後的密碼

本例添加的是nagiosadmin用戶名,需要改 cgi.cfg 配置文件,允許nagiosadmin用戶

 authorized_for_system_information=nagiosadmin

authorized_for_configuration_information=nagiosadmin

authorized_for_system_commands=nagiosadmin

authorized_for_all_services=nagiosadmin

authorized_for_all_hosts=nagiosadmin

authorized_for_all_service_commands=nagiosadmin

authorized_for_all_host_commands=nagiosadmin

如果有多用戶,請用逗號格開

 

以上過程配置結束以後需要重新啓動httpd

# service httpd restart

==================================擴展============================================

8.    配置nagios 聯繫人配置文件

 

vi /usr/local/nagios/etc/objects/contacts.cfg                //將裏面的email地址改爲自己接受報警信息的email地址


======================================
擴展========================================

vi /usr/local/nagios/etc/nagios.cfg             //修改nagios主配置文件

log_file=/usr/local/nagios/var/nagios.log( 默認無nagios.log文件,需要手動創建)

command_check_interval=15s
#command_check_interval=-1
設定命令檢查的時間間隔,將原來值-1的項註釋掉,啓用原來備用值爲15s15秒)。這項的時間間隔值請按實際需求情況設定。

touch /usr/local/nagios/var/nagios.log   

chown nagios.nagios /usr/local/nagios/var/nagios.log

 

vi /usr/local/nagios/etc/cgi.cfg                                                      // NagiosCGI配置文件

use_authentication=1 (默認是啓動身份驗證)

設定啓用身份驗證

authorized_for_system_information=viong

設定系統信息的授權用戶

authorized_for_configuration_information=viong

設定配置信息的授權用戶

authorized_for_system_commands=viong

設定系統命令的授權用戶

authorized_for_all_services=viong

設定全部監測服務的授權用戶。

authorized_for_all_hosts=viong

設定全部被監測主機的授權用戶

authorized_for_all_service_commands=viong

設定全部監測服務命令的授權用

authorized_for_all_host_commands=viong

設定全部主機命令的授權用戶

==================================擴展============================================

9.    安裝nagios插件

tar xzf nagios-plugins-1.4.11.tar.gz

cd nagios-plugins-1.4.11

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

//插件的正確目錄爲nagios/libexec/

make

make install

 

10.配置並啓動nagios

 

chkconfig  --add  nagios

chkconfig  nagios  on                             //加入系統服務,並開機啓動


======================================
擴展========================================

Nagios的主配置文件爲/usr/local/nagios/etc/nagios.cfg

對象配置文件

 格式:cfg_file=<file_name>樣例:

 

cfg_file=/usr/local/nagios/etc/objects/contacts.cfg

cfg_file=/usr/local/nagios/etc/objects/commands.cfg

如添加一個新的主機配置 linuxtone.cfg  

cfg_file=/usr/local/nagios/etc/linuxtone.cfg

 

nagios用戶及組

nagios_user=nagios

nagios_group=nagios

 

通知選項

Enable_notifications=1 

該選項決定了Nagios在初始化啓動或重啓動時是否要送出通知。如果這個選項不使能,Nagios將不會向任何主機或服務送出通知。注意,如果你打開了狀態保持選項,Nagios在其啓動和重啓時將忽略此設置並用這個選項的最近的一個設置(已經保存在狀態保持文件)的值來工作,除非你取消了use_retained_program_state選項。如果你想在使能狀態保存選項(並且是use_retained_program_state使能)的情況下更改這個選項,你必須要通過合適的外部命令或是通過Web接口來修改它。選項的取值可以是:

 

0 = 關閉通知

 

1 = 打開通知(默認)

 對象配置文件選項

cfg_file=/usr/local/nagios/etc/objects/contacts.cfg //聯繫人/組配置文件

cfg_file=/usr/local/nagios/etc/objects/localhost.cfg //本機配置文件

cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg //監視時段配置文件

cfg_file=/usr/local/nagios/etc/objects/commands.cfg //監視腳本配置

cfg_file=/usr/local/nagios/etc/objects/templates.cfg //監視服務,報警配置

cfg_file=/usr/local/nagios/etc/objects/switch.cfg //監視路由

cfg_file=/usr/local/nagios/etc/objects/windows.cfg //監視微軟


==================================擴展============================================

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

// 驗證Nagios的樣例配置文件如果沒有報錯,可以啓動Nagios服務

 

service  nagios  start                     //啓動nagios 服務

11.更改SELinux 和防火牆的設置

如果是SELinux處於強制安全模式時需要做

getenforce

SELinux處於容許模式

setenforce  0

 

如果要永久性更變它,需要更改/etc/selinux/config裏的設置並重啓系統。

不關閉SELinux或是永久性變更它的方法是讓CGI模塊在SELinux下指定強制目標模式:

 

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

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

 

更多有關NagiosCGI模塊增加目標策略的強制權限方式見NagiosCommunity.org的維基百科http://www.nagioscommunity.org/wiki


關閉SELinux

 

vi /etc/selinux/config                                                        // 將下面行設爲disabled

SELINUX=disabled                                                                     // 重啓系統

如果開啓防火牆,應該允許訪問apache(一般爲80端口)並允許nagios去抓取被監控機信息(一般nrpe5666端口)。

12.     訪問Nagios服務器

http://localhost/nagios/                   

輸入用戶名及密碼登錄。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章