Nagios监控系统

1、Nagios监控系统简介html

1Nagios工做原理mysql

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

1Nagios的四种监控状态ios

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

2、实验环境sql

wKioL1mrVafwC3jyAABtOl3TRLk253.png

wKiom1mrVc6ibPCZAAAJ8mlNiaU414.png

2、实验步骤vim

搭建Nagios监控系统浏览器

关闭防火墙服务器

wKioL1mrVfbzF4NHAAAS598q_Ts915.png

建立nagios用户和用户组ide

wKiom1mrVhzQI92kAAAx-LZlxnE464.png

编译安装nagios(须要提早配置yum

wKioL1mrVgvix2ejAAAWKgLDhUs290.png

配置安装nagios源码包

wKiom1mrVi6iZUZSAABSpaD_cLI786.png

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

以上命令的解释

make install安装主程序,CGIHTML文件

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

make install-commandmode 配置目录权限

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

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


安装完成以后会在/usr/local/nagios目录下产生6个目录,下面分别解释一下。

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

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

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

sharenagios网页文件目录,存放一些html文件。

varnagios日志文件、pid等文件目录。

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

nagios添加为系统服务

wKiom1mrVrCxmIE6AAAsCwlBb4c059.png


安装nagios插件(监控功能经过插件完成)

wKioL1mrVqHBqeGbAAA7_h-A7A4257.png


安装nrpe(为了监控远程服务器)

wKiom1mrVtGjczU_AAAwcWpQvNU695.png

 

/etc/httpd/conf/httpd.conf文件最后添加受权,咱们能够到/etc/httpd/conf.d/nagios.conf文件中复制,不用手打。

wKioL1mrVsagLHrcAAAQYFV_7nk217.png

 

使用:r导入便可(定位到文档的最后)

wKioL1mrVtLiFiddAAAXTjc2RHE700.png

wKiom1mrVvfC4i55AACnLlT6VZs981.png

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

 

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

wKioL1mrVumBR7LSAAA17ZZWc20014.png

用户名必须是:nagiosadmin

密码:1(自定义)

 

启动nagioshttpd

wKiom1mrVw_icHZaAADOiZkCEbs248.png

Windows 7 客户端进行测试:http://192.168.1.10/nagios

wKioL1mrVwKAj_NPAAGYu1LehtU214.png

wKioL1mrVw_wu601AAEi7p_cLQ8106.png

注意:目前只能是打开网页,不少的监控选项不能看到,若是须要监控远程的服务器,还须要作不少配置,下面开始配置。

配置nagios

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

建立conf目录来定义host主机

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

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

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

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

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

 

nagios的配置文件:

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

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

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

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

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

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

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

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

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

 

配置nagios

修改/usr/local/nagios/etc/nagios.cgf主配置文件

wKioL1mrcruy3ZkJAADfOfQIaog710.png

wKiom1mrcubTKs-xAAAlEVTlVpk039.png

 

修改/usr/local/nagios/etc/objects/commands.cfg

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

添加以下内容(定义check_nrpe监控命令)

wKiom1mrcvPhbBxtAACVYyj0YJc239.png

 

修改/usr/local/nagios/etc/objects/contacts.cfg(定义监控服务器联系人)

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

wKioL1mrcuXzt1T-AACPpkySU3k984.png

 

新建/usr/local/nagios/etc/objects/hostgroups.cfg(定义主机组)

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

wKioL1mrcvSBaqDuAAAcT8kUTKo550.png

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

wKiom1mrcyOBA7lRAAAnw-DbxLs052.png

wKioL1mrcxfxESF6AABzqEqLnnQ042.png

wKiom1mrcz7RNkVGAAC1L58P5BQ793.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 指定什么状况下提醒

        }  

当服务出现w-报警(warning),u-未知(unkown),c-严重(critical),或者r-从异常状况恢复正常,在这四种状况下通知联系人

当主机出现d-当机(down),u-返回不可达(unreachable),r-从异常状况恢复正常,在这3种状况下通知联系人

 

重启nagios服务

wKiom1mrc0vwHS0JAADxVcpYORA526.png

发现错误,提示没有添加联系人组

 

解决方法:在/usr/local/nagios/etc/objects/contacts.cfg文件的最后添加代码,以下图:

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

wKioL1mrczyw5e6ZAAAeR6AOFms395.png

 

重启nagios服务器成功

wKioL1mrc0mzW6BWAAAbHws1xl4025.png

 

访问网页查看状态

(注意:关闭selinux或者开例外)

wKiom1mrc23AriPwAACf5iW4Jnk940.png

或者:

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

 

wKiom1mrc32wK4XxAAEFXQn812s400.png

点击上图中的localhost,能够查看本机的状态

wKioL1mrc2_ivH3FAAEXDU6PigU644.png


配置被控端192.168.1.20mysqlweb

安装nagios插件(能够参考书152页配置)

#yum  -y install  openssl  openssl-devel

#useradd  nagios  -s  /sbin/nologin

#tar   zxf  nagios-plugins-1.5.tar.gz

#cd   nagios-plugins-1.5

#./configure  --prefix=/usr/local/nagios

make  &&  make  install

#chown  -R   nagios:nagios  /usr/local/nagios

#tar  zxf  nrpe-2.15.tar.gz

#cd   nrpe-2.15

#./configure  --prefix=/usr/local/nagios

  make all  &&  make install-plugin   &&  make install-daemon

  make   install-daemon-config

 

安装完成以后,须要打开vim /usr/local/nagios/etc/nrpe.cfg

添加nagios服务器的地址

wKiom1mrc5fSLgCsAAA2F7VTK4g846.png

 

启动nrpe

wKioL1mrdAnxpAq8AAAzNJ2Xufw172.png

nagios服务器上测试nrpe运行是否正常,出现下面的信息说明正确。

wKiom1mrdDCjPQ8-AAA97RDkNJ8028.png

 

在浏览器上访问

wKiom1mrdEGCxMrxAADrNsUnHWQ974.png

 

wKioL1mrdDKDe7nLAAGF6LO-P3A966.png

 

 

补充

也可在services.cfg文件中添加192.168.1.20.cgf文件中的参数

#vi  /usr/local/nagios/etc/objects/services.cfg

内容以下:

wKioL1mrdECQN32mAAByZnDbZ4o830.png

wKioL1mrdEvSMYSJAABNCS4-WCE339.png

check_local_users!20!50  //监测远程主机当前的登陆用户数量,若是大于20用户则报warning,若是大于50则报critical

check_local_disk!20%!10%!/   //若是可用空间低于20%会报Warning,若是可用空间低于10%则报Critical

check_local_procs!250!400!RSZDT   //监测远程主机当前的进程总数,若是大于250进程则报warning,若是大于400进程则报criticalS(休眠)、R(运行)Z(僵死)(不可中断)、(中止)

check_load -w 5,4,3 -c 10,6,4这个命令的意义以下

1分钟多于5个进程等待,5分钟多于4,15分钟多于3个则为warning状态

1分钟多于10个进程等待,5分钟多于6,15分钟多于4个则为critical状态

服务组并非必须的,这是配合nagios的监控页面的显示