Nagios监控搭建与配置详细步骤

来源:互联网 发布:中华轴承网软件下载 编辑:程序博客网 时间:2024/06/04 17:52
Nagios监控搭建与配置详细步骤

参考原文:http://blog.chinaunix.net/uid-26999549-id-4031729.html

参考原文:https://www.centos.bz/2012/02/centos-install-nagios/


(一)安装Nagios   (Nagios服务器为:192.168.6.6    Nagios客户端为: 192.168.2.33)

1.基础支持套件:gcc glibc glibc-common gd gd-devel xinetd openssl-devel httpd php  
 注:php和httpd均用源码包安装,安装配置方法此处不在详述

yum install -y gcc glibc glibc-common gd gd-devel xinetd openssl-devel

2.创建Nagios账户和组

useradd -m nagios
groupadd nagios
usermod -a -G nagios nagios

3.编译安装

tar xvf nagios-4.0.7.tar.gz
cd nagios-4.0.7
./configure prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios
make all
make install
make install-init        (生成init启动脚本)
make install-config      (生成一些模板配置文件)
make install-commandmode (设置相应的权限)
make install-webconf     (如果是通过yum安装的httpd,那么会自动生成Apache配置文件conf.d/nagios.conf)

4.为Nagios设置Web验证的密码

/usr/local/apache/bin/htpasswd -c /usr/local/nagios/etc/htpasswd.user nagiosadmin
这里最好要用nagiosadmin,如果定义成其他的用户,在通过web界面修改service alert选项会有问题

5.设置Nagios的开机启动

chkconfig --add nagios
chkconfig nagios on

6.安装Nagios的插件nagios-plugin

tar zxvf nagios-plugins-2.0.tar.gz
cd nagios-plugins-2.0.tar.gz
./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios
 --with-apt-get-command --with-ping6-command --with-ping-command --with-mysql
 --with-gnutls --enable-extra-opts
make&&make install


7.此时完成初步安装,可以监控查看本机的一些服务,检测配置文件并启动nagios

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

Nagios Core 4.0.7
Copyright (c) 2009-2011 Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 08-30-2013
License: GPL

Website: http://www.nagios.org
Reading configuration data...
   Read main config file okay...
Processing object config file '/usr/local/nagios/etc/objects/commands.cfg'...
Processing object config file '/usr/local/nagios/etc/objects/contacts.cfg'...
Processing object config file '/usr/local/nagios/etc/objects/timeperiods.cfg'...
Processing object config file '/usr/local/nagios/etc/objects/templates.cfg'...
Processing object config directory '/usr/local/nagios/etc/servers'...
Processing object config file '/usr/local/nagios/etc/servers/localhost.cfg'...
   Read object config files okay...

Running pre-flight check on configuration data...

Checking services...
 Checked 6 services.
Checking hosts...
 Checked 1 hosts.
Checking host groups...
 Checked 0 host groups.
Checking service groups...
 Checked 0 service groups.
Checking contacts...
 Checked 1 contacts.
Checking contact groups...
 Checked 1 contact groups.
Checking service escalations...
 Checked 0 service escalations.
Checking service dependencies...
 Checked 0 service dependencies.
Checking host escalations...
 Checked 0 host escalations.
Checking host dependencies...
 Checked 0 host dependencies.
Checking commands...
 Checked 25 commands.
Checking time periods...
 Checked 5 time periods.
Checking for circular paths between hosts...
Checking for circular host and service dependencies...
Checking global event handlers...
Checking obsessive compulsive processor commands...
Checking misc settings...

Total Warnings: 0
Total Errors:   0

Things look okay - No serious problems were detected during the pre-flight check

出现此处,表明,配置文件没有错误,可以启动nagios和apache

service nagios start
/usr/local/apache/sbin/apchectl

访问nagios
http://192.168.6.6/nagios/

此时提示页面无法访问,原因在于由于Apache是源码包安装,默认路径和rpm包不一样,需要在Apache的httpd.conf配置文件中添加指定访问路径


8. 配置apache并加载nagios登录页面
找到apache 的配置文件/usr/local/apache/conf/httpd.conf

找到:

User daemon
Group daemon 修改为

User nagios
Group nagios

或者 usermod -a -G nagios apache

为了安全起见,一般情况下要让nagios 的web 监控页面必须经过授权才能访问,这需要增加验证配置,即在httpd.conf 文件最后添加如下信息:

下面信息在编译nagios(make install-webconf )时就已经生成,配置信息在:/etc/httpd/confd.d/nagios.conf 文件中


setting for nagios
ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"
<Directory "/usr/local/nagios/sbin">
     AuthType Basic
     Options ExecCGI
     AllowOverride None
     Order allow,deny
     Allow from all
     AuthName "Nagios Access"
     AuthUserFile /usr/local/nagios/etc/htpasswd.user
     Require valid-user
</Directory>
Alias /nagios "/usr/local/nagios/share"
<Directory "/usr/local/nagios/share">
     AuthType Basic
     Options None
     AllowOverride None
     Order allow,deny
     Allow from all
     AuthName "nagios Access"
     AuthUserFile /usr/local/nagios/etc/htpasswd.user
     Require valid-user
</Directory>


9.重启nagios、apache并访问nagios

service nagios restart
/usr/local/apache/bin/apachectl restart
http://192.168.6.6/nagions

提示输入用户名密码,访问成功

但是登陆进去后,nagios页面右侧全部乱码
解决方法:

主要是apache没有开启cgi脚本的缘故

进入apache的主配置文件httpd.conf
vim /usr/local/apache/conf/httpd.conf
 
LoadModule cgid_module modules/mod_cgid.so
LoadModule actions_module modules/mod_actions.so

将上面2行的去掉,重启apache就OK

再次访问 ,乱码消失OK!


(二)配置Nagios

1.nagios配置目录信息

cd /usr/local/nagios/etc/
ls
cgi.cfg  htpasswd.user  nagios.cfg  objects  resource.cfg
[root@localhost etc] ll
total 68
-rw-rw-r-- 1 nagios nagios 11669 Nov 29 14:18 cgi.cfg (CGI配置文件)
-rw-r--r-- 1 root   root      50 Nov 29 14:20 htpasswd.user (Apache的验证密码文件)
-rw-rw-r-- 1 nagios nagios 44710 Nov 29 14:18 nagios.cfg (主配置文件)
drwxrwxr-x 2 nagios nagios  4096 Nov 29 14:18 objects (对象定义文件目录)
-rw-rw---- 1 nagios nagios  1340 Nov 29 14:18 resource.cfg (资源配置文件)

2.修改nagios.cfg主配置文件

vim nagios.cfg

注释掉:cfg_file=/usr/local/nagios/etc/objects/localhost.cfg
 cfg_file=/usr/local/nagios/etc/objects/localhost.cfg
将 cfg_dir=/usr/local/nagios/etc/servers  的 (注释)去掉 -----  cfg_dir=/usr/local/nagios/etc/servers

在/usr/local/nagios/etc/目录中新建 servers子目录,在里面可以直接添加主机配置文件
mkdir servers

3.配置object目录中的配置文件

cd objects/
ll
total 48
-rw-rw-r-- 1 nagios nagios  7716 Nov 29 14:18 commands.cfg (命令定义文件)
-rw-rw-r-- 1 nagios nagios  2166 Nov 29 14:18 contacts.cfg (联系人信息定义文件)
-rw-rw-r-- 1 nagios nagios  5403 Nov 29 14:18 localhost.cfg
-rw-rw-r-- 1 nagios nagios  3124 Nov 29 14:18 printer.cfg
-rw-rw-r-- 1 nagios nagios  3293 Nov 29 14:18 switch.cfg
-rw-rw-r-- 1 nagios nagios 10812 Nov 29 14:18 templates.cfg
-rw-rw-r-- 1 nagios nagios  3208 Nov 29 14:18 timeperiods.cfg (时间周期定义文件)
-rw-rw-r-- 1 nagios nagios  4019 Nov 29 14:18 windows.cfg

配置联系人信息(邮件接收者邮箱地址)

联系人定义:
vim contacts.cfg
将 email 字段后边的  nagios@localhost  改成自己的邮箱,将报警信息发送的此邮箱,比如 15566058@139.com
如果是设置提醒多个邮箱可以在后跟其它邮箱地址,以逗号隔开,比如: 15566058@139.com,abc@163.com

保存,退出。


(三)nrpe安装配置

1.安装nrpe

tar zxvf nrpe-2.15.tar.gz
cd nrpe-2.15
 ./configure && make all
make install-plugin
make install-daemon
make install-daemon-config

然后运行成xinetd一个子服务
make install-xinetd

如果不能安装 xinetd,那么可以将nrpe启动成1个daemon服务器
    /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
这种情况下要vim /usr/local/nagios/etc/nrpe.cfg
    添加 allow_host = 127.0.0.1,10.144.180.32,223.27.162.39,223.27.162.27

2.配置nrpe

vim /etc/xinetd.d/nrpe
在only_from=127.0.0.1 后添加 192.168.6.6 以空格隔开

3.添加端口

vim /etc/services       在最后添加   
nrpe  5666/tcp   nrpe


修改配置文件/usr/local/nagios/etc/objects/commands.cfg加入对nrpe的支持

vim /usr/local/nagios/etc/objects/commands.cfg     在末尾添加如下内容

define command{
    command_name check_nrpe
    command_line /usr/local/nagios/libexec/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}



4.配置/usr/local/nagios/etc/nrpe.cfg 文件

cd /usr/local/nagios/etc/nrpe.cfg
vim nrpe.cfg
将command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1 中的hda1改为: sda  如下:
command[check_sda]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda

将command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200  改为:
  command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 400 -c 450

添加 command[check_swap]=/usr/local/nagios/libexec/check_swap -w 90% -c 80%

保存,退出。

重启xinetd服务

OK,Nagios服务端安装成功!!!

 

(四)Nagios客户端(被监控段)安装配置

yum install -y openssl openssl-devel

useradd -s /sbin/nlogin nagios


2.安装nagios-plugin

 cd /opt/software/
tar zxvf nagios-plugins-2.0.tar.gz
cd nagios-plugin-2.0
./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios --enable-libtap
--enable-redhat-pthread-workaround --with-apt-get-command --with-ping6-command --with-ping-command
--with-mysql --with-gnutls --enable-extra-opts --with-openssl --with-trusted-path
make&&make install

3.安装配置nrpe

yum install xinetd -y

tar zxvf nrpe-2.15.tar.gz
cd nrpe-2.15
./configure && make all
make install-plugin
make install-daemon
make install-daemon-config
make install-xinetd

vim /etc/xinetd.d/nrpe
在only_from    = 127.0.0.1 后添加 nagios服务器端IP地址 192.168.6.6 如下:
  only_from    = 127.0.0.1 192.168.6.6

vim /etc/services
在文件末尾添加 nrpe   5666/tcp      nrpe

修改/usr/local/nagios/etc/nrpe.cfg

cp -p  /usr/local/nagios/etc/nrpe.cfg    /usr/local/nagios/etc/nrpe.cfg.default   -修改前先备份一下该配置文件

vim /usr/local/nagios/etc/nrpe.cfg
将nrpe.cfg文件中的 hda1 字符全部修改为 sda
或者使用sed命令批量修改,如下:
sed  -i 's/hda1/sda/g'  /usr/local/nagios/etc/nrpe.cfg

添加swep分区监控:  command[check_swap]=/usr/local/nagios/libexec/check_swap -w 90% -c 80%

保存,退出。

重启xinetd服务 :
service xinetd restart
 

(五) 在服务端/usr/local/nagios/etc/nggios中添加编辑被监控主机配置文件

vi /usr/local/nagios/nagios.cfg
添加引用host.cfg文件

可以在/usr/local/nagios/etc/objects/host.cfg定义主机

define host{   
        use                     linux-server
        host_name               Nagios-Linux
        alias                   Nagios-Linux
        address                 10.144.176.64

        }  

可以在/usr/local/nagios/etc/objects/services.cfg中添加对特定机器的服务定义

define service{
        use                     generic-service
        host_name               server1
        service_description     Check main disk partition /home
        check_command           check_nrpe!check_disk_home
        normal_check_interval 1
        notification_interval 1
        }
        
define service{
        use                     generic-service
        host_name               server1
        service_description     Check HTTP service status
        check_command           check_nrpe!check_http
        normal_check_interval 1
        notification_interval 1
        
        }          


3.监控服务器监控运行的端口

(1)Nagios客户端配置

vim /usr/local/nagios/etc/nrpe.cfg  文件末尾添加定义端口信息,如下:

command[check_TemplateUpload:8080]=/usr/local/nagios/libexec/check_tcp -H localhost -p 8080  -w 120 -c 180

保存,退出

重启xinetd服务

service xinetd restart

(2)Nagios服务端配置

vim /usr/local/nagios/etc/services/192.168.2.33.cfg 文件末尾添加如下内容

define service {
    host_name 192.168.2.33-Test
    service_description check_TemplateUpload:8080
    check_period 24x7
    max_check_attempts 4
    normal_check_interval 1
    retry_check_interval 1
    contact_groups admins
    notification_interval 10
    notification_period 24x7
    notification_options w,u,c,r
    check_command check_nrpe!check_TemplateUpload:8080
}

保存,退出

重启nagios服务

service nagios restart

访问Nagios服务

http://192.168.6.6/nagios

大功告成!!!!!




 
0 0
原创粉丝点击