自由的风's Archivers

From 自由的风 on 2013-04-28 10:40:16

Nagios安装和配置

Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设备以及打印机等。


安装前提:



yum -y install gcc glibc glibc-common gd gd-devel php openssl-devel httpd


1、创建用户:



#useradd -m nagios #添加一个名为nagios的用户来运行nagios
#usermod -a -G nagios apache #将运行apache用户apache加入nagios组


2、 编译安装nagios及其插件:



nagios core官网下载地址:http://www.nagios.org/download/core/



nagios插件下载地址:http://www.nagios.org/download/plugins/



安装Nagios Core

#cd /usr/local/src
#mkdir /etc/httpd/conf/extra //用来存放关于nagios的http配置文件
#tar zxvf nagios-3.5.0.tar.gz
#cd nagios-3.5.0
#./configure --prefix=/usr/local/nagios/ --with-comman-group=nagios --with-httpd-conf=/etc/httpd/conf/extra/ //指定安装目录及用户、组和http的配置目录
#make all;make install
# make install-init;make install-config;make install-commandmode;make install-webconf //初始生成启动脚本、配置文件、命令配置模块和httpd的配置文件




安装nagios插件

#cd ../
#tar zxvf nagios-plugins-1.4.16.tar.gz
#cd nagios-plugins-1.4.16
#./configure --with-nagios-user=nagios --with-nagios-group=nagios --prefix=/usr/local/nagios/ //指定安装目录及用户和组
#make;make install


配置httpd

# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin //创建登陆用户名nagiosadmin及密码,为web登陆时的用户名和密码
# vi /etc/httpd/conf/httpd.conf #添加如下行,让nagios.conf生效

Include conf/extra/nagios.conf


启动httpd及nagios服务并验证

#chkconfig --add nagios //设置nagios及http开机自启动
#chkconfig nagios on
#chkconfig httpd on
#service nagios start
#service httpd start


在浏览器中输入如:http://ip/nagios/访问nagios,一般情况下能看到英文的nagios监控界面。说明nagios基本能进行工作了。



<img src="http://loosky.net/Upload/2013/04/nagios.png" alt="Nagios" />



3、安装NRPE



想获取客户机上更为详细的信息,还必须在服务器及客户端上安装NRPE插件。



NRPE下载地址: http://www.nagios.org/download/addons



客户机端安装NRPE插件

安装nagios插件

#useradd -s /sbin/nologin nagios //添加nagios用户
#cd /usr/local/src
#tar zxvf nagios-plugins-1.4.16.tar.gz
#cd nagios-plugins-1.4.16
#./configure --with-nagios-user=nagios --with-nagios-group=nagios --prefix=/usr/local/nagios/ //指定安装目录及运行该软件用户和组
#make;make install


安装nrpe

#cd ..
#tar zxvf nrpe-2.14.tar.gz
#cd nrpe-2.14
#./configure --with-nagios-user=nagios --with-nagios-group=nagios --prefix=/usr/local/nagios/
# make all
# make install-plugin;make install-daemon;make install-daemon-config
# ls /usr/local/nagios/libexec/ //验证安装
check_apt check_ftp check_mailq check_overcr check_tcp


配置、启动、测试NRPE

# cd /usr/local/nagios/
# vi etc/nrpe.cfg

allowed_hosts=127.0.0.1,192.168.80.200 //添加服务器端的IP地址

#/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg –d //启动NRPE守护进程
#netstat -utpln |grep nrpe //查看nrpe进程是否已正常启动

tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN 17619/nrpe

#echo "/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d" >>/etc/rc.local //添加nrpe为开机自动启动
#/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1
NRPE v2.14 //nrpe测试结果,此结果为nrpe已经正常工作了


定义监控内容

# vi /usr/local/nagios/etc/nrpe.cfg //定义监控服务器内容

command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10 #监控登陆的用户数量
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20 #监控CPU的负载
command[check_sda2]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda2 #监控磁盘利用率,这里的sda2必须是实际的硬盘分区,可使用fdisk –l查
command[check_swap]=/usr/local/nagios//libexec/check_swap -w 20 -c 10 #监控交换空间
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z #监控进程中的僵尸进程
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200 #监控所有进程

注意:command后面括号中的内容就是定义的变量,变量名可以任意指定,只需和服务器配置文件中的一致即可


服务器端安装NRPE插件

#cd ..
#tar zxvf nrpe-2.14.tar.gz
#cd nrpe-2.14
# ./configure --with-nagios-user=nagios -with-nagios-group=nagios --prefix=/usr/local/nagios/
# make all;make install-plugin ; make install-daemon;make install-daemon-config //将check_nrpe插件安装到/usr/local/nagios/libexec/目录下
#/usr/local/nagios/libexec/check_nrpe -H 192.168.80.201

NRPE v2.14 //该结果表示能与客户端通讯


4、配置Nagios服务器支持远程监控



添加监控主机

# pwd
/usr/local/nagios/etc

# vi host.cfg #定义要监控的主机
define host{
use linux-server
host_name slaves
address 192.168.8.15
}


定义要监控的服务

# vi services.cfg #定义要监控的服务
define service{
use local-service
host_name web
service_description http
check_command check_http
}

define service{
use local-service
host_name web
service_description ftp
check_command check_ftp
}


添加定义check_nrpe命令

# vi commands.cfg #定义check_nrpe监控命令
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}


添加host.cfg及ervices.cfg到nagios.cfg

# pwd
/usr/local/nagios/etc

#vi nagios.cfg
cfg_file=/usr/local/nagios//etc/objects/host.cfg
cfg_file=/usr/local/nagios//etc/objects/services.cfg


修改接受报警邮箱

# vi contacts.cfg
email test@test.com ; #请修改为自己的邮箱地址


测试及启动Nagios服务

# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg #检测配置文件是否正确

Total Warnings: 0
Total Errors: 0 #结果表示配置无错误

# service nagios restart #重启Nagios服务


最后访问nagios如下图:



<img src="http://loosky.net/Upload/2013/04/Nagiosservice.png" alt="Nagios" />


查看完整版本: Nagios安装和配置

Tags: Linux, Nagios, Windows, 监控


©自由的风