Nagios 安裝教程



簡介
Nagios是一款用於系統和網絡監控的應用程序。它可以在你設定的條件下對主機和服務進行監控,在狀態變差和變好的時候給出告警信息。
Nagios最初被設計爲在Linux系統之上運行,然而它同樣可以在類Unix的系統之上運行。

Nagios更進一步的特徵包括:

免費內容:
監控網絡服務(SMTP、POP3、HTTP、NNTP、PING等);
監控主機資源(處理器負荷、磁盤利用率等);
簡單地插件設計使得用戶可以方便地擴展自己服務的檢測方法;
並行服務檢查機制;
具備定義網絡分層結構的能力,用"parent"主機定義來表達網絡主機間的關係,這種關係可被用來發現和明晰主機宕機或不可達狀態;
當服務或主機問題產生與解決時將告警發送給聯繫人(通過EMail、短信、用戶定義方式);
具備定義事件句柄功能,它可以在主機或服務的事件發生時獲取更多問題定位;
自動的日誌回滾;
可以支持並實現對主機的冗餘監控;

可選的WEB界面用於查看當前的網絡狀態、通知和故障歷史、日誌文件等;

Nagios跟Cacti一樣,也是需要一個LAMP的環境,MySQL可以安裝,也可以不安裝,一般情況Nagios都是把數據放入文件中的。如果需要把文件放入到數據庫,則需要安裝MySQL



一、準備工作,搭建LAMP

搭建LAMP的方法可以使用源碼編譯安裝,也可以使用rpm包的形式來安裝,爲了簡化步驟,這裏使用rpm包的形式來安裝。

1、配置好YUM源,如果配置好的,可以省略此步驟

複製內容到剪貼板

代碼:

# vim /etc/yum.repos.d/cacti.repo     //新建文件或者在已有文件中添加以下內容
[dag]
name=Dag RPM Repository for
Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
gpgkey=http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
enabled=1




2、安裝LAMP 

複製內容到剪貼板

代碼:

# yum install -y mysql mysql-server php-mysql httpd php php-pdo lm_sensors net-snmp php-snmp net-snmp-utils perl-Net-Daemon perl-PlRPC perl-DBI rrdtool perl-rrdtool perl-DBD-MySQL net-snmp-libs libart_lgpl-devel




3、啓動服務及設置開機啓動

複製內容到剪貼板

代碼:

# service httpd start
# service mysqld start

# chkconfig httpd on
# chkconfig mysqld on




4、防火牆開戶端口或者關掉防火牆

複製內容到剪貼板

代碼:

# service iptables stop          //關閉防火牆
# iptables -t filter -I INPUT -p tcp --dport 80 -j ACCEPT     //防火牆開戶端口




5、驗證LAMP是否正常工作 

複製內容到剪貼板

代碼:

# vim /var/www/html/index.php
<?
phpinfo();
?>




使用WEB訪問http://IP/index.php,如果可以看到PHP的信息,說明LAMP配置成功


二、安裝Nagios

1、添加用戶和組 

複製內容到剪貼板

代碼:

# groupadd nagcmd
# useradd -m nagios
# usermod -a -G nagcmd nagios
把apache加入到nagcmd組,以便於在通過web Interface操作nagios時能夠具有足夠的權限:
# usermod -a -G nagcmd apache



2、下載Nagios,開始編譯安裝

複製內容到剪貼板

代碼:

#http://sourceforge.net/projects/nagios/?source=directory
# tar zxf nagios-3.1.2.tar.gz
# cd nagios-3.1.2
# ./configure --with-command-group=nagcmd

# make all
# make install
# make install-init
# make install-config
# make install-commandmode



執行如下命令,實現在httpd的配置文件目錄(conf.d)中創建Nagios的Web程序配置文件:
# make install-webconf 

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

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

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

# service httpd restart


3、編譯、安裝nagios-plugins
Nagios的所有監控工作都是通過插件完成的,因此,在啓動nagios之前還需要爲其安裝官方提供的插件 

複製內容到剪貼板

代碼:

# tar zxf nagios-plugins-1.4.15.tar.gz
# cd nagios-plugins-1.4.15
# ./configure --with-nagios-user=nagios --with-nagios-group=nagios
# make
# make install




4、配置並啓動Nagios
(1)把nagios添加爲系統服務並將之加入到自動啓動服務隊列: 

複製內容到剪貼板

代碼:

# chkconfig --add nagios
# chkconfig nagios on




(2)檢查其主配置文件的語法是否正確:

複製內容到剪貼板

代碼:

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




(3)如果上面的語法檢查沒有問題,接下來就可以正式啓動nagios服務了: 

複製內容到剪貼板

代碼:

# service nagios start




(4)配置selinux
如果您的系統開啓了selinux服務,則默認爲拒絕nagios web cgi程序的運行。您可以通過下面的命令來檢查您的系統是否開啓了selinux:
#getenforce

如果上面命令的結果顯示開啓了selinux服務,您可以通過下面的命令暫時性的將其關閉:
#setenforce 0
如果您想在以後完全關閉selinux,可以通過編輯/etc/sysconfig/selinux文件,將其中的selinux後面的值“force”修改爲“disable”即可。
當然,您也可以通過以下方式將nagios的CGI程序運行於SELinux/targeted模式而不用關閉selinux:

複製內容到剪貼板

代碼:

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



(5)通過web界面查看nagios:
http://your_nagios_IP/nagios
登錄時需要指定前面設定的web認證帳號和密碼。

(6)安裝NRPE

複製內容到剪貼板

代碼:

# wget http://sourceforge.net/projects/ ... 13/nrpe-2.13.tar.gz
# tar zxvf nrpe-2.12.tar.gz
# cd nrpe-2.12
# ./configure
# make all
# cp src/check_nrpe /usr/local/nagios/libexec/

三、被監控端

如果被監控端是Linux,那麼需要安裝NRPE和nagios-plugin
如果是Windows,需要安裝NSClien++
1、Linux

1.1、編譯、安裝nagios-plugins

Nagios的所有監控工作都是通過插件完成的,因此,在啓動nagios之前還需要爲其安裝官方提供的插件 

複製內容到剪貼板

代碼:

# tar zxf nagios-plugins-1.4.15.tar.gz
# cd nagios-plugins-1.4.15
# ./configure --with-nagios-user=nagios --with-nagios-group=nagios
# make
# make install



1.2、安裝配置NRPE 

複製內容到剪貼板

代碼:

# wget http://sourceforge.net/projects/nagios/files/nrpe-2.x/nrpe-2.13/nrpe-2.13.tar.gz
# tar zxvf nrpe-2.12.tar.gz
# cd nrpe-2.12
# ./configure
# make all
# make install-plugin
# make install-daemon
# make install-daemon-config
# make install-xinetd
# cp src/check_nrpe /usr/local/nagios/libexec/

# vim /usr/local/nagios/etc/nrpe.cfg
allowed_hosts=127.0.0.1,SERVER_IP

# vim /etc/xinetd.d/nrpe

# default: on
# description: NRPE (Nagios Remote Plugin Executor)
service nrpe {
     flags     = REUSE
     socket_type =stream
     port = 5666
     wait = no
     user = nagios
     group = nagios
     server = /usr/local/nagios/bin/nrpe
     log_on_failure += USERID
     disable = no
     only_from = 127.0.0.1 IP
}

# vim /etc/services
nrpe     5666/tcp     #nrpe
# service xinetd start



1.3 爲服務端增加NRPE命令 

複製內容到剪貼板

代碼:

# vim /usr/local/nagios/etc/objects/commands.cfg
define command {
        command_name check_nrpe
        command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}


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