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