Nagios简介及安装配置

说明:本机地址为202.207.178.7php

1、Nagios概述mysql

一、简介linux

   Nagios是插件式的结构,它自己没有任何监控功能,全部的监控都是经过插件进行的,所以其是高度模块化和富于弹性的。Nagios监控的对象可分为两类:主机和服务。主机一般指的是物理主机,如服务器、路由器、工做站和打印机等,这里的主机也能够是虚拟设备,如xen虚拟出的Linux系统;而服务一般指某个特定的功能,如提供http服务的httpd进程等。而为了管理上的方便,主机和服务还能够分别被规划为主机组和服务组等。ios


   Nagios不监控任何具体数值指标(如操做系统上的进程个数),它仅用四种抽象属性对被监控对象的状态进行描述:OK、WARNING, CRITICAL和UNKNOWN。因而,管理员只须要对某种被监控对象的WARNING和CRITICAL状态的阈值进行关注和定义便可。Nagios经过将WARTING和CRTICAL的阈值传递给插件,并由插件负责某具体对象的监控及结果分析,其输出信息为状态信息(OK,WARNING,CRITICAL或UNKOWN)以及一些附加的详细说明信息。web


二、特性sql

   由上述说明能够,Nagios是极富弹性的,其监控功能彻底能够按照管理员的指望进行。此外,它外提供了对问题的自动响应能力和一个功能强大的通知系统。全部这些功能的实现是基于一个结构明晰的对象定义系统和少数几个对象类型实现的。apache


1) 命令(Commands)服务器


 “命令”用于定义Nagios如何执行某特定的监控工做。它是基于某特定的Nagios插件定义出的一个抽象层,一般包含一组要执行的操做。网络


2)时段(Time periods)ide


 “时段”用于定义某“操做”能够执行或不能执行的日期和时间跨度,如工做日内的天天8:00-18:00等;


3)联系人和联系人组(Contacts and contact groups)


 “联系人”用于定义某监控事件的通知对象、要通知的信息以及这些接收通知者什么时候及如何接收通知;一个或多个联系人能够定义为联系人组,而一个联系人也能够属于多个组;


4) 主机和主机组(host and host groups)


 “主机”一般指某物理主机,其包括此主机相关的通知信息的接收者(即联系人)、如何及什么时候进行监控的定义。主机也能够分组,即主机组(host groups),一个主机可同时属于多个组;


5) 服务(Services)


 “服务”一般指某主机上可被监控的特定的功能或资源,其包括此服务相关的通知信息的接收者、如何及什么时候进行监控等。服务也能够分组,即服务组(Service groups),一个服务可同时属于多个服务组;


三、依赖关系

    Nagios的强大功能还表如今其成熟的依赖关系系统上。好比,某路由设备故障必然会致使关联在其上的其它主机没法被正常访问,若是不能定义这些设备间的依赖关系,那么监控系统上必然会出现大量的设备故障信息。而Nagios则经过依赖关系来描述网络设备的拓扑结构,并可以实如今某设备故障时再也不对依赖于此设备的其它设备进行检测,从而避免了无谓的故障信息,方便管理员及时定位并排除故障。此外,Nagios的依赖关系还能够在服务级别上实现,若是某服务依赖于其它服务时,也能实现相似主机依赖关系的功能。


四、宏

   Nagios还可以使用宏,而且宏的定义在整个Nagios系统中具备一致性。宏是可以用于对象定义中的变量,其值一般依赖于上下文。在“命令”中定义的宏,相对于主机、服务或其它许多参数来讲,其值会随之不一样。好比,某命令能够根据向其传递的IP地址的不一样来监控不一样的主机。


五、计划中宕机

   Nagios还提供了调度性计划中的宕机机制,管理员能够周期性的设定某主机或服务为计划中的不可用状态。这种功能能够阻止Nagios在调度宕机时段通知任何信息。固然,这也可让Nagios自动通知管理员该进行主机或服务维护了。


六、软状态和硬状态(Soft and Hard States)

    如上所述,Nagios的主要工做是检测主机或服务的状态,并将其存储下来。某一时刻,主机或服务状态仅能够是四种可用状态之一,所以,其状态可以正确反映主机或服务的实际情况就显得特别关键。为了不某偶然的临时性或随机性问题,Nagios引入了软状态和硬状态。在实际的检测中,Nagios一旦发现某主机或服务的状态为UNKOWN或不一样于上一次检测时的状态,其将会对此主机或服务进行屡次测试以确保此状态的变更是非偶然性的。具体共要作出几回测试是能够配置的,在这个指定次数的测试时段内,Nagios假设此变化后的状态为软件状态。一旦测试完成后状态仍然为新变的状态时,此状态就成了硬状态。


2、安装配置Nagios


一、安装前的准备工做

(1)解决安装Nagios的依赖关系:

Nagios基本组件的运行依赖于httpd、gcc和gd。能够经过如下命令来检查nagios所依

        赖的rpm包是否已经彻底安装: 

 # yum -y install httpd gcc glibc glibc-common gd gd-devel php php-mysql 

          mysql mysql-devel mysql-server

说明:以上软件包您也能够经过编译源代码的方式安装,只是后面许多要用到的相关               文件的路径等须要按照您的源代码安装时的配置逐一修改。此外,您还得按需启               动必要的服务,如httpd等。

(2)添加nagios运行所须要的用户和组:

# groupadd  nagcmd

# useradd -G nagcmd nagios

# passwd nagios

(3)把apache加入到nagcmd组,以便于在经过web Interface操做nagios时可以具备权限:

# usermod -a -G nagcmd apache

二、编译安装nagios:

# tar zxf nagios-3.3.1.tar.gz 

# cd nagios

# ./configure --sysconfdir=/etc/nagios --with-command-group=nagcmd 

     --enable-event-broker 

# make all

# make install

# make install-init

# make install-commandmode

# make install-config


1)为email指定您想用来接收nagios警告信息的邮件地址,默认是本机的nagios用户:

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

email        nagios@localhost       #这个是默认设置


1)在httpd的配置文件目录(conf.d)中建立Nagios的Web程序配置文件:

# make install-webconf


2)建立一个登陆nagios web程序的用户,这个用户账号在之后经过web登陆nagios认证时所用

# htpasswd -c /etc/nagios/htpasswd.users nagiosadmin


以上过程配置结束之后须要从新启动httpd:

# service httpd restart


三、编译安装nagios-plugins


    nagios的全部监控工做都是经过插件完成的,所以,在启动nagios以前还须要为其安装官方提供的插件。

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

# cd nagios-plugins-1.4.15

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

# make

# make install


四、配置并启动Nagios


1)把nagios添加为系统服务并将之加入到自动启动服务队列:

# chkconfig --add nagios

# chkconfig nagios on


2)若是上面的语法检查没有问题,接下来就能够正式启动nagios服务了:

# service nagios start


3)配置selinux和防火墙

#service iptables stop

#setenforce 0



4)经过web界面查看nagios:

http://202.207.178.7/nagios

登陆时须要指定前面设定的web认证账号(nagiosadmin)和密码(123456)。


3、nagios目录介绍:

bin Nagios 可执行程序所在目录

/etc/nagios Nagios 配置文件所在目录

sbin Nagios CGI 文件所在目录,也就是执行外部命令所需文件所在的目录

share Nagios网页文件所在的目录

libexec Nagios 外部插件所在目录

var/Nagios 日志文件、lock 等文件所在的目录

var/archives Nagios 日志自动归档目录

var/rw 用来存放外部命令文件的目录


                            欢迎批评指正!

相关文章
相关标签/搜索