Nagios监控系统

Nagios是一款开源的免费网络监视工具,能够监控Windows、Linux和Unix的主机状态,交换机路由器等网络设备,在系统或服务状态异常时发出邮件或短信报警,第一时间通知网站运维人员。流量监控不是他的强项,流量监控建议使用cacti(能够绘制很是直观的图形。html

nagios主要能够监控如下方面:mysql

主机是否宕机(经过ping命令,若是ping不通会认为主机属于宕机状态,但不影响所监控的其余服务)linux

服务器资源(cpu使用率、硬盘剩余空间等)ios

网络服务(smtp\pop3\http\)web

    监控网络设备(路由器、交换机等)sql

nagios工做原理浏览器

Nagios自己不包括监控主机和服务的功能。全部的监控、监测功能都是经过各类插件来完成的。安装完nagios以后,在nagios主目录下的/libexex里面放有nagios自带的插件,如:check_disk是检查磁盘空间的插件,check_load是检查cpu负载的插件,每个插件能够经过运行./check_xxx -h命令来检查其使用方法和功能。安全

nagios的四种监控状态服务器

Nagios能够识别四种状态返回信息。0(OK)表示状态正常(绿色显示),1(WARNING)表示出现警告(×××),2(CRITICAL)表示出现很是严重错误(红色)3(UNKNOWN)表示未知错误(深×××),nagios根据插件返回来的值来判断监控对象的状态,并经过web显示出来,以供管理员即时发现故障。网络

nagios经过nrpe插件来远程管理服务的工做过程

1)       Nagios执行安装在它里面的check_nrpe插件,并告诉check_nrpe去检测哪些服务。

2)       经过ssl,check_nrpe链接远端机器上的NRPE daemon。

3)       NRPE运行本地的各类插件去检测本地服务器和状态(check_disk,...etc)。

4)       NRPE把检测的结果传给主机端的check_nrpe,check_nrpe再把结果送到nagios状态队列中。

5)       Nagios依次读取队列中的信息,再把结果显示出来。

实验拓扑

2018-02-07_213643.png

实验步骤:

1.搭建Nagios监控系统

(1)关闭防火墙

2018-02-06_200855.png

(2)建立nagios用户和用户组

2018-02-06_201148.png

(3)安装支持软件和编译安装Nagios

2018-02-06_201308.png

2018-02-06_202004.png

2018-02-06_202416.png

注意:安装install-webconf是为了生成配置文件,后面在/etc/httpd/conf/httpd.conf最后添加的信息就不用手工打了,能够到/etc/httpd/conf.d/nagios.conf文件中复制。

命令接释:

make install                                //安装主程序,CGI和HTML文件

make install-init                          //在/etc/rc.d/init.d安装启动脚本

make install-commandmode     //配置目录权限

make install-config                    //安装示例配置文件

make install-webconf                //安装nagios的web接口,会在/etc/httpd/conf.d目录中建立nagios.conf文件。

(4)验证安装是否成功要查看/usr/local/nagios目录是否以下

2018-02-06_202217.png


bin:nagios执行程序所在的目录,nagios文件即为主程序。

etc:nagios配置文件目录,当make install-config完之后etc下面就会出现默认的配置文件。

sbin:nagios CGI文件所在目录,这里存放的是一些外部命令执行程序。

share:nagios网页文件目录,存放一些html文件。

var:nagios日志文件、pid等文件目录

Libexec:系统默认插件的存储位置

(5)安装Nagios插件

Nagios提供的各类监控功能基本上是经过插件来完成的

2018-02-06_202633.png

若是要获取远程主机上的本地资源或属性,如CPU利用率、磁盘利用率,须要借助外部构件NRPE来完成。

2018-02-06_202849.png

(6)为了安全起见,通常状况下要上Nagios的Web监控页面必须通过受权才能访问,这就须要增长验证设置,即在/etc/httpd/conf/httpd.conf配置文件的最后添加以下信息

         咱们能够到  /etc/httpd/conf.d/nagios.conf  文件中复制,不用手打。

2018-02-06_202942.png

    使用:r导入便可

2018-02-06_203041.png

2018-02-06_203214.png

2018-02-06_203226.png

导入便可,不用修改,保存退出

   (7)执行htpasswd命令添加一个访问nagios页面的受权用户

2018-02-06_203323.png

   用户名和密码都是nagiosadm

    (8)启动Nagios和httpd服务

    2018-02-06_203401.png

(9)在浏览器上进行访问

2018-02-06_203647.png

2018-02-06_203720.png

2.配置Nagios监控系统

1)nagios的默认配置文件:

   Nagios.cfg:主配置文件,定义各类配置文件的名称和位置

   Cgi.cfg:控制CGI的配置文件

   Resource.cfg:资源文件,定义各类变量,以便于其余文件调用

   Objects:其余配置文件存放目录,此目录下主要有:

             Command.cfg:命令配置文件,定义各类命令格式,以备其余文件调用

             contacts.cfg:联系人和组,发邮件等告警信息时能够调用

             localhost.cfg:监控本机的配置文件

             timeperiods.cfg:定义监控时间的配置文件,便于其余文件调用

             Hostgroups.cfg:定义监控的主机(组),需手动建立。

2)配置文件之间的关系

在nagios的配置过程当中涉及的几个定义有主机、主机组、服务、服务组、联系人、联系人组、监控时间和监控命令等。从这些定义能够看出,nagios各个配置文件之间互为关联、彼此引用的。成功配置出一台nagios监控系统,必需要弄清楚每一个配置文件之间依赖与被依赖的关系,最重要的有四点

n  定义监控那些主机,主机组,服务和服务组

n  定义这个监控要用什么命令实现

n  定义监控的时间段

n  定义主机或服务器出现问题时要通知的联系人和联系人祖

3)配置nagios

为了能更清楚的说明问题,同时也为了维护方便,建议将nagios各个定义的对象建立独立的配置文件。

建立conf目录来定义host主机

建立hostgroups.cfg文件来定义主机组

用默认的contacts.cfg文件来定义联系人和联系人组

用默认的commands.cfg文件来定义命令

用默认的timeperiods.cfg来定义监控时间段

    用默认的templetes.cfg文件做为资源引用文件

初步了解Nagios的配置文件后,接下来开始修改配置文件

(1)修改  /usr/local/nagios/etc/nagios.cfg  主配置文件

2018-02-06_203835.png

2018-02-06_204113.png

2018-02-06_204206.png

(2)修改  /usr/local/nagios/etc/objects/commands.cfg 文件

2018-02-06_204232.png

2018-02-06_204320.png

(3)修改  /usr/local/nagios/etc/objects/contacts.cfg  文件

2018-02-06_204440.png

2018-02-06_204520.png

解释: 

  1. 定义联系人名称

  2. 别名

  3. 监控主机服务7X24小时

  4. 监控主机对角应用服务7X24小时

  5. 警告级别参数

  6. 定义主机在什么状态下须要发送通知给使用者,d即down,表示宕机状态;u即unreachable,不可到达状态;r即recovery,表示从新恢复状态

  7. 调用邮件名称

  8. 调用飞信名称

  9. 定义发送到哪一个电子邮箱

(4)修改  /usr/local/nagios/etc/objects/hostgroups.cfg  文件,定义主机组

2018-02-06_204829.png

2018-02-06_204903.png

(5)在  /usr/local/nagios/etc/conf  下面新建192.168.1.20.cfg文件(用于监控192.168.1.20的主机存活,负载,进程)(全部内容须要手工输入)

2018-02-06_205029.png

2018-02-06_205202.png

2018-02-06_205401.png

同理可得,新建本机的.cfg文件也是如此,只要把相对应的IP换成本机IP便可

2018-02-06_205533.png

命令解释:

define host{ 

       use         linux-server  //定义使用的模板

       host_name   nagios  //被监控主机的名称,最好别带空格 

       alias         nagios  //别名       

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

       check_command    check-host-alive 

       normal_check_interval   3    //正常检测间隔时间

        retry_check_interval    2     //重试检测间隔时间

       //监控的命令check-host-alive,这个命令来自commands.cfg,用来监控主机是否存活 

       max_check_attempts    5 //检查失败后重试的次数 

       check_period        24x7   //检查的时间段24x7,一样来自timeperiods.cfg中定义

       notification_interval  10  //提醒的间隔,每隔10秒提醒一次

     notification_period   24x7  //提醒的周期, 24x7,一样来自timeperiods.cfg中定义

      contact_groups   admins  //联系人组,上面在contactgroups.cfg中定义的admins

       notification_options            d,u,r  //指定什么状况下提醒

        } 

(6)添加联系人组,修改文件  /usr/local/nagios/etc/objects/contacts.cfg  文件

2018-02-06_204440.png

2018-02-06_205848.png

(7)重启nagios服务 

(8)访问网页查看状态(注意:关闭selinux或者开例外)

2018-02-06_210021.png

2018-02-06_210032.png

或者:

若是你开启了selinux 须要配置以下二步:
chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/
chcon -R -t httpd_sys_content_t /usr/local/nagios/share/

2018-02-06_210118.png


  3.配置被控端192.168.1.20(mysql和web)

(1)安装支持软件和新建nagios用户

2018-02-06_212657.png

(2)安装nagios插件

2018-02-06_212710.png

2018-02-06_212900.png

(3)修改配置文件

2018-02-06_213019.png

2018-02-06_213033.png

(4)启动nrpe

2018-02-06_213147.png

(5)设置防火墙规则

2018-02-06_213238.png

2018-02-06_213311.png

(6)在Nagios监控服务器上测试NRPE运行是否正常

2018-02-06_213409.png

(7)在浏览器访问

2018-02-06_213456.png

经过以上这些操做,管理员就能够在网页上实时地监控服务器的运行情况,而且能在出现问题时及时解决。

相关文章
相关标签/搜索