nagios監控系統環境部署安裝(LAMP環境)

服務器端:
IP爲192.168.2.21

解決perl編譯問題:
echo 'export LC_ALL=C'>> /etc/profile
source /etc/profile

關閉iptables:
service iptables stop
chkconfig iptables off

解決系統時間同步:
echo ‘#time sync by drfdai at 2012-10-18’>> /var/spool/cron/root
echo ‘0 */3 * * * /usr/sbin/ntpdate pool.ntp.org >> /dev/null 2>&1’>> /var/spool/cron/root

安裝nagios所需基礎軟件包
yum install gcc glibc glibc-common gd gd-deve httpd php php-gd perl-devel sysstat -y

創建nagios需要的用戶和組
useradd -M nagios
useradd apache
groupadd nagcmd
usermod -a -G nagcmd nagios
usermod -a -G nagcmd apache

上傳軟件包到脂定目錄或通過URL下載
軟件包目錄:/usr/local/src/
cd /usr/local/src/
wget http://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.13.tar.gz
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.0.tar.gz
wget http://nchc.dl.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.12/nrpe-2.12.tar.gz
點擊下載其它的相應軟件和監控腳本

安裝nagios:
官方安裝文檔:http://nagios.sourceforge.net/docs
tar xvf nagios-3.2.0.tar.gz
cd nagios-3.2.0
./configure --with-command-group=nagcmd
make all
make install
make install-init
make install-commandmode
make install-config
make install-webconf
提示:如果是編譯安裝的httpd時,可以執行./configure --with-command-group=nagcmd --wthi-httd-conf=/usr/local/apache2/conf/extra增加一個編譯參數即指定編譯nagios web配置的生成路徑。(儘量別使用編譯安裝httpd,除非生產中需求)

創建nagios web監控界面登入時需要的用戶名(oldboy)及密碼:
htpasswd -c /usr/local/nagios/etc/htpasswd.users drfdai
輸入密碼
確認密碼

可查看下密碼文件:
cat /usr/local/nagios/etc/htpasswd.users

用yum安裝sendmail
yum install sendmail –y
chkconfig sendmail on
如果sendmail啓動很慢,可能是/etc/hosts設置的不對,即主機名對應不用,需要設置上本機名,如果是系統最小化安裝的,還需要檢查下有沒有mail命令,如果沒有,sendmail是發不出郵件的,查看命令:which mail,沒有就用yum install mailx -y安裝下。

啓動httpd服務
chkconfig httpd on
service httpd start

安裝nagios插件軟件包:
tar xvf nagios-plugins-1.4.13.tar.gz
cd nagios-plugins-1.4.13
./configure --with-nagios-user=nagios --with-nagios-group=nagios --enable-per-modules
make
make install
如果編譯時遇到make: *** [all] Error 2 則configure 加 --with-mysql=/usr/local/mysql解決,其實/usr/local/mysql爲mysql的安裝路徑。

添加nagios服務到開機自啓動:
chkconfig --add nagios
chkconfig --level 3 nagios on

驗證nagios配置文件(檢查語法)
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
……
Total Warnings:0
Total Errors:   0
以上則爲正確,如果不是的話,請看詳細提示在哪出錯,再找原因

啓動nagios服務
service nagios start
chkconfig nagios on

檢查Selinux是否關閉
1.臨時關閉服務器開啓的Selinux可直接輸入:
setenforce 0
這個命令輸入後會直接生效
2.永久關閉服務器開啓的Selinux可直接輸入:
sed ‘s#SELINUX=enforcing#SELINUX=disabled#’ /etc/selinux/config
需要重啓系統

安裝nrpe
tar xvf nrpe-2.12.tar.gz
cd nrpe-2.12
./configure
make all 
make install-plugin
make install-daemon
make install-daemon-config
提示:生成nrpe的配置文件在:/usr/local/nagios/etc/nrpe.cfg
服務端和客戶端都要裝nrpe,不然會缺少相關檢查插件,另外服務端也會監控自身的基本健康狀態。

安裝其它相關的插件【iostat】
tar xvf Params-Validate-0.91.tar.gz
cd Params-Validate-0.91
perl Makefile.PL && make && make install && cd ..

tar xvf Class-Accessor-0.31.tar.gz
cd Class-Accessor-0.31
perl Makefile.PL && make && make install && cd ..

tar xvf Config-Tiny-2.12.tar.gz
cd Config-Tiny-2.12
perl Makefile.PL && make && make install && cd ..

tar xvf Math-Calc-Units-1.07.tar.gz
cd Math-Calc-Units-1.07
perl Makefile.PL && make && make install && cd ..

tar xvf Regexp-Common-2010010201.tar.gz
cd Regexp-Common-2010010201
perl Makefile.PL && make && make install && cd ..

tar xvf Nagios-Plugin-0.34.tar.gz
cd Nagios-Plugin-0.34
perl Makefile.PL && make && make install && cd ..



配置nagios
修改nrpe.cfg文件
vim /usr/local/nagios/etc/nrpe.cfg
添加以下內容:
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_disk]=/usr/local/nagios/libexec/check_disk -w 15% -c 7% -p /var -p /
command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%
command[check_iostat]=/usr/local/nagios/libexec/check_iostat -w 6 -c 10
command[check_mem]=/usr/local/nagios/libexec/check_mem -w 20% -c 10%
command[check_nginx]=/usr/local/nagios/libexec/check_nginx.sh –url 192.168.2.21/index.php
command[check_ip_connets]=/usr/local/nagios/libexec/ip_conn.sh 8000 10000
command[check_mysql_slave]=/usr/local/nagios/libexec/check_mysql_slave

修改nagios.cfg文件
vim /usr/local/nagios/etc/nagios.cfg
對比cfg-file=,添加缺少下的條目:
cfg_file=/usr/local/nagios/etc/objects/commands.cfg
cfg_file=/usr/local/nagios/etc/objects/contacts.cfg
cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg
cfg_file=/usr/local/nagios/etc/objects/templates.cfg
cfg_file=/usr/local/nagios/etc/objects/hosts.cfg
cfg_file=/usr/local/nagios/etc/objects/services.cfg
修改
command_check_interval=15s爲command_check_interval=-1

修改cgi.cfg文件
vim /usr/local/nagios/etc/cgi.cfg
把nagiosadmin改成drfdai
authorized_for_system_information=drfdai
authorized_for_configuration_information=drfdai
authorized_for_system_commands=drfdai
authorized_for_all_services=drfdai
authorized_for_all_hosts=drfdai
authorized_for_all_service_commands=drfdai
authorized_for_all_host_commands=drfdai

把refresh_rate=90修改成refresh_rate=20   (可修改檢查間隔時間,非必須修改)


修改commands.cfg
vim /usr/local/nagios/etc/objects/commands.cfg
添加以下內容:
#nrpe set
define command{
command_name check_nrpe
command_line /usr/local/nagios/libexec/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}

修改contacts.cfg
vim /usr/local/nagios/etc/objects/contacts.cfg
修改以下內容:
email                           [email protected]
把郵箱改成自己接收短信報警的郵箱地址,如果有多個郵箱,可以複製多個define contact()內容,contact_name名字不能一樣,在define contactgroup()中的members那添加對應的成員名,即上面的contact_name名字,有幾個成員就添加幾個,不能多填 ,否則報錯。

修改hosts.cfg文件
vim /usr/local/nagios/etc/objects/hosts.cfg
添加以下內容,如我有主機三臺(192.168.2.21,192.168.2.22,192.168.2.23):

define host{
use     linux-server
host_name umelook-nginx1
alias 192.168.2.21
address 192.168.2.21
}
define host{
use     linux-server
host_name umelook-web2
alias 192.168.2.23
address 192.168.2.23
}
define host{
use     linux-server
host_name umelook-web1
alias 192.168.2.22
address 192.168.2.22
}
host_name字段爲你設置的主機名,這名字可不需要與真實服務器的主機名一致,這只是在nagios中所設置的主機名,在下面設置server.cfg文件中要調用到這個名字,address字段爲你主要的IP地址,每添一臺服務器就添加一個define host()。

修改services.cfg
vim /usr/local/nagios/etc/objects/services.cfg
添加以下內容:
define service {
use     local-service
 host_name umelook-nginx1,umelook-web2, umelook-web1
 service_description check_tcp 80
 check_command check_tcp!80
 }
define service{
use     local-service
host_name umelook-nginx1,umelook-web2, umelook-web1
service_description Disk
check_command check_nrpe!check_disk
}
define service{
use     local-service
 host_name umelook-nginx1,umelook-web2,umelook-web1
 service_description Load
 check_command check_nrpe!check_load
 }
define service {
use     local-service
host_name umelook-nginx1,umelook-web2,umelook-web1
service_description Swap
check_command check_nrpe!check_swap
}
define service{
use     local-service
host_name umelook-nginx1,umelook-web2,umelook-web1
service_description Mem
check_command check_nrpe!check_mem
}
define service{
use     local-service
host_name umelook-nginx1,umelook-web2,umelook-web1
service_description Iostat
check_command check_nrpe!check_iostat!6!10
}
define service{
use     local-service
host_name umelook-nginx1,umelook-web2
service_description Httpd
check_command check_nrpe!check_nginx
}
define service{
use     local-service
host_name umelook-nginx1,umelook-web2 ,umelook-web1
service_description Ip_connets
check_command check_nrpe! check_ip_connets
}

修改templotes.cfg
vim /usr/local/nagios/etc/objects/templates.cfg
把以下修改成
check_interval          1  
max_check_attempts              2
把check_interval全部修改爲1,表示每隔1分鐘檢測一次
把max_check_attempts設置爲2表示最大重試檢測2次失敗就報警

把相應的檢測腳本導入libexec目錄下
並給腳本賦給權限:chmod +x /usr/local/nagios/libexec/*

啓動nagios
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
echo “#nagios nrpe process cmd by oldboy” >> /etc/rc.local
echo “/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d” >>/etc/rc.local
注:-c 接配置文件,-d表示後臺運行
如果要重啓nrpe,需要ps出該進程號,再kill掉,然後再執行以上命令即可

#########################################################################


客戶端篇:
解決perl編譯問題(同server端)
echo 'export LC_ALL=C' >> /etc/profile
source /etc/profile

關閉iptables:
service iptables stop
chkconfig iptables off

解決系統時間同步:
echo ‘#time sync by lodboy at 2010-2-1’>> /var/spool/cron/root
echo ‘0 */3 * * * /usr/sbin/ntpdate pool.ntp.org >> /dev/null 2>&1’>> /var/spool/cron/root

上傳軟件包到/usr/local/src/

安裝nagios-plugins-1.4.13.tar.gz
adduser nagios -M -s /sbin/nologin  #(重要)
tar xvf nagios-plugins-1.4.13.tar.gz
cd nagios-plugins-1.4.13
./configure --with-nagios-user=nagios --with-nagios-group=nagios --enable-perl-modulesmake
make
make install
cd ..

安裝nrpe
tar xvf nrpe-2.12.tar.gz
cd nrpe-2.12
./configure
make all
make install-plugin
make install-daemon
make install-daemon-config
cd ..

安裝其它相關的插件【iostat】
yum -y install perl-devel sysstat

tar xvf Params-Validate-0.91.tar.gz
cd Params-Validate-0.91
perl Makefile.PL && make && make install && cd ..

tar xvf Class-Accessor-0.31.tar.gz
cd Class-Accessor-0.31
perl Makefile.PL && make && make install && cd ..

tar xvf Config-Tiny-2.12.tar.gz
cd Config-Tiny-2.12
perl Makefile.PL && make && make install && cd ..

tar xvf Math-Calc-Units-1.07.tar.gz
cd Math-Calc-Units-1.07
perl Makefile.PL && make && make install && cd ..

tar xvf Regexp-Common-2010010201.tar.gz
cd Regexp-Common-2010010201
perl Makefile.PL && make && make install && cd ..

tar xvf Nagios-Plugin-0.34.tar.gz
cd Nagios-Plugin-0.34
perl Makefile.PL && make && make install && cd ..

把相應的檢測腳本導入libexec目錄下
並給腳本賦給權限:chmod +x /usr/local/nagios/libexec/*


修改nrpe.cfg文件
vim /usr/local/nagios/etc/nrpe.cfg
添加以下內容:
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_disk]=/usr/local/nagios/libexec/check_disk -w 15% -c 7% -p /var -p /
command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%
command[check_iostat]=/usr/local/nagios/libexec/check_iostat -w 6 -c 10
command[check_mem]=/usr/local/nagios/libexec/check_mem -w 20% -c 10%
command[check_ip_connets]=/usr/local/nagios/libexec/ip_conn.sh 8000 10000
command[check_nginx]=/usr/local/nagios/libexec/check_nginx.sh --url 192.168.2.23/index.php
command[check_mysql_slave]=/usr/local/nagios/libexec/check_mysql_slave

修改allowed_hosts,192.168.2.21是nagios服務器的IP地址
allowed_hosts=127.0.0.1,192.168.2.21


啓動nagios
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
echo "#nagios nrpe process cmd by drfdai" >> /etc/rc.local
echo "/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d " >>/etc/rc.local
注:-c 接配置文件,-d表示後臺運行
如果要重啓nrpe,需要ps出該進程號,再kill掉,然後再執行以上命令即可


打開nagios便可查看nagios監控
如:192.168.2.21/nagios
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章