搭建Nagios监控平台-创新互联

实验需求:在服务器(192.168.100.1)上搭建nagios服务,监控本机和远端主机(192.168.100.2)上的主机资源和网络服务

创新新互联,凭借10年的成都网站设计、成都做网站经验,本着真心·诚心服务的企业理念服务于成都中小企业设计网站有上千余家案例。做网站建设,选创新互联公司

实现:

一.监控端(192.168.100.1)配置

1.安装相关的软件包

# yum install httpd php gcc glibc glibc-common gd gd-devel libpng libjpeg zlib

2.创建相关的用户和组

# useradd -s /sbin/nologin nagios

# passwd nagios

# groupadd nagcmd

# usermod -G nagcmd nagios

# usermod -G nagcmd apache

3.安装nagios软件

# tar xzf nagios-3.2.1.tar.gz

# cd nagios-3.2.1

# ./configure --with-command-group=nagcmd

# make all

# make install

# make install-init

# make install-config

# make install-commandmode

# make install-webconf

4.创建登录nagios的web页面授权用户

# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin //用户名最好使用nagiosadmin,因为配置文件中定义的管理员名称就是它。

# service httpd restart

5.安装nagios插件

# tar xzf nagios-plugins-1.4.11.tar.gz

# cd nagios-plugins-1.4.11

# ./configure --with-nagios-user=nagios --with-nagios-group=nagios

# make

# make install

6.启动nagios服务

# chkconfig --add nagios

# chkconfig nagios on

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

# service nagios start

7.通过Web页面访问

# http://localhost/nagios/

二.监控端(192.168.100.1)配置nagios监控本机

1.定义监控命令

# vim /usr/local/nagios/etc/objects/commands.cfg

define command{

    command_name   check-host-alive

    command_line   $USER1$/check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 5

    }

默认已经定义一个命令叫做check-host-alive,当执行这个命令的时候,实际上就是执行/usr/local/nagios/libexec/check_ping  -H  $HOSTADDRESS$  -w  3000.0,80%  -c  5000.0,100%  -p  5

其中/usr/local/nagios/libexec/目录很长,而且经常使用,所以被定义为宏变量,名为$USER1$。该变量在/usr/local/nagios/etc/resource.cfg中定义,$HOSTADDRESS$是执行命令时要传递给check_ping的参数

根据需要按照既定的格式定义自己需要的命令:

define command{

    command_name   //定义监控命令的名字(自定义)

    command_line   //定义命令具体实现的功能

    }

例:自定义监控对象,检查NFS服务是否在运行

define command{

    command_name   check_nfs

    command_line   $USER1$/check_tcp -H $HOSTADDRESS$ -p 2049

    }

定义的命令名称为check_nfs,实际上是调用check_tcp命令检查2049端口

2.定义监控对象

# vim /usr/local/nagios/etc/objects/localhost.cfg  //localhost.cfg相当于是一个监控LINUX主机的模板,如果需要监控其他LINUX主机,可以把这个文件复制一份进行修改。

 define host{

    use        linux-server  //监控使用的模板

    host_name     localhost //被监控主机的主机名

    alias       localhost //被监控主机的别名

    address      127.0.0.1 //被监控主机的IP地址

    }

……

define service{

    use               local-service

    host_name            localhost

    service_description       NFS

    check_command          check_nfs

    notifications_enabled      0

    }

3.修改主配置文件(加载监控对象配置文件)

# vim /usr/local/nagios/etc/nagios.cfg    //默认监控本机,不需要改动

……

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/localhost.cfg

4.检查配置文件是否有语法错误

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

5.重启nagios服务

# service nagios restart

6.登录web监控页面测试

 http://localhost/nagios/

搭建Nagios监控平台

三.监控远程主机(192.168.100.2)公有数据

1.新建监控对象文件

# cd /usr/local/nagios/etc/object

# cp -p localhost.cfg webserver1.cfg  //名称自定义

2.修改监控对象配置文件

# vim webserver1.cfg

define host{

    use           linux-server

    host_name        webserver1     //修改被监控端主机名

    alias          webserver1

    address         192.168.100.2   //修改被监控端IP

    }

……

把主机组注释掉或删除掉

#define hostgroup{

#    hostgroup_name  linux-servers ; The name of the hostgroup

#    alias      Linux Servers ; Long name of the group

#    members     localhost ; Comma separated list of hosts that belong to this group

#     }

后续部分的服务,把localhost改为webserver1

3.修改主配置文件加载监控对象配置文件

# vim /usr/local/nagios/etc/nagios.cfg

……

cfg_file=/usr/local/nagios/etc/objects/webserver1.cfg

4.重启nagios服务即可

四.监控远程主机(192.168.100.2)私有数据

4.1 被监控端配置

(1)在被控端创建相关用户和组

# useradd nagios

# passwd nagios

(2)安装nagios插件

# tar xzf nagios-plugins-1.4.6.tar.gz

# cd nagios-plugins-1.4.6

# ./configure

# make

# make install

# chown nagios.nagios /usr/local/nagios

# chown -R nagios.nagios /usr/local/nagios/libexec

(3)安装NRPE

# tar xzf 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

(4)启动NRPE

# vim /etc/xinetd.d/nrpe

……

    only_from    = 127.0.0.1 192.168.100.1  //添加监控端IP

vim /etc/services

……

nrpe5666/tcp# NRPE  //添加在最后

# service xinetd restart

# netstat -tulnp | grep 5666

tcp     0    0 :::5666    :::*   LISTEN    2075/xinetd

(5)检查NRPE是否已经运行

# /usr/local/nagios/libexec/check_nrpe -H localhost

NRPE v2.12                   //显示版本则成功

(6)定义监控命令

# vim /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

command[check_sda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda1

command[check_sda3]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda3

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[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%

……

# service xinetd restart

4.2 监控端配置

(1)安装NRPE

# tar zxvf nrpe-2.12.tar.gz

# cd nrpe-2.12/

# ./configure

# make

# make install

# make install-plugin

(2)检测是否可以和被监控端进行通信

# /usr/local/nagios/libexec/check_nrpe -H 192.168.100.2

NRPE v2.12              //显示远程主机版本则成功

(3)定义NRPE监控命令

# vim /usr/local/nagios/etc/object/commands.cfg

……

define command{

    command_name   check_nrpe

    command_line   $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$

    }

……

(4)定义监控的内容

# vim /usr/local/nagios/etc/object/webserver1.cfg

……

define service{

    use               local-service

    host_name            webserver1

    service_description       Current Users

    check_command          check_nrpe!check_users

    }

调用check_nrpe命令,在远程主机webserver1上执行check_users的命令,check_users命令在远程主机/usr/local/nagios/etc/nrpe.cfg中定义。其他配置类似。

define service{

    use               local-service

    host_name            webserver1

    service_description       Current Load

    check_command          check_nrpe!check_load

    }

define service{

    use               local-service

    host_name            webserver1

    service_description       Boot Partition

    check_command          check_nrpe!check_sda1

    }

define service{

    use               local-service

    host_name            webserver1

    service_description       Root Partition

    check_command          check_nrpe!check_sda3

    }

define service{

    use               local-service

    host_name            webserver1

    service_description       Zombie Processes

    check_command          check_nrpe!check_zombie_procs

    }

define service{

    use               local-service

    host_name            webserver1

    service_description       Total Processes

    check_command          check_nrpe!check_total_procs

    }

define service{

    use               local-service

    host_name            webserver1

    service_description       Swap Usage

    check_command          check_nrpe!check_swap

    }

……

(5)重启nagios服务,查看web页面

# service nagios restart

 http://localhost/nagios/

搭建Nagios监控平台

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前文章:搭建Nagios监控平台-创新互联
文章网址:http://azwzsj.com/article/djdced.html