温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Nagios简介及安装配置

发布时间:2020-07-24 15:36:23 来源:网络 阅读:4489 作者:帅宇 栏目:移动开发

说明:本机地址为202.207.178.7

一、Nagios概述

1、简介

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


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


2、特性

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


1) 命令(Commands)


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


2)时段(Time periods)


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


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


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


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


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


5) 服务(Services)


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


3、依赖关系

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


4、宏

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


5、计划中宕机

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


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

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


二、安装配置Nagios


1、安装前的准备工作

(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

2、编译安装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


3、编译安装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


4、配置并启动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)。


三、nagios目录介绍:

bin Nagios 可执行程序所在目录

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

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

share Nagios网页文件所在的目录

libexec Nagios 外部插件所在目录

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

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

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


                            欢迎批评指正!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI