nagios监控

2024-09-20

nagios监控(通用6篇)

nagios监控 篇1

摘要:随着学校信息化建设的不断推进, 学校信息化应用和关联性越来越多, 有些服务经常出现故障且造成连锁反应, 缺少及时预警导致应用平台支持非常被动, 设计与实现基于Nagios与自定义插件相结合的应用服务集中监控, 提升应用服务平台的可用性。

关键词:应用监控,服务预警,性能检测,Nagios

1. 问题简介

随着学校信息化建设的不断发展, 应用系统之间的依赖性关系不断增加, 如统一身份认证平台和大部分系统有联系, 如数据库平台是最重要的信息系统核心库, 该类系统出现故障会造成门户、人事、学工等系统的连锁反应。学校的IT基础服务平台包含硬件网络、存储设备、硬件主机、软件基础服务平台、软件中间件与数据库、软件应用平台、基础架构管理及安全服务平台等, 在一个综合且复杂的平台上, 任何一个不经意发生的故障都可能造成整个系统平台的局部或全局受到影响。

2. 改进目标

学校IT基础服务平台是学校信息化建设中非常重要的基础支持, 为了保障整个基础服务平台的稳定可靠运行, 需要相关的配套方案来保障平台运行, 由于基础服务平台的管理软件、硬件配置软件、中间件及应用软件等都是来自不同厂商, 相互之间不能进行消息的准确及时通信, 有时因为一个故障的发生导致连锁的故障发生, 但却不能马上找到问根源题, 导致业务系统的故障率及运维工作量增加。基于对问题的分析, 从基础服务平台的平衡运行、业务可运行状态、数据安全的保障、运行维护的效率等多方面考虑, 提出几个改进目标 (1) 故障发生时需要在最短的时间发出报警及处理; (2) 当多个故障发生时能快速定位起始故障点, 定位依据是基础服务平台的各类软硬设备状态日志; (3) 整个服务平台的监控信息被统一管理, 各类受管理的设备能够按照自定义分类, 操作人员依据权限查看设备状态视图, 整体管理的可控有利于提升维护效率; (4) 基础服务平台中各类硬件设备与软件服务之间的关联能够有图形表示。

3. 实现方式

在分析了目标任务和测试各类监控及管理软件后, 选用开源监控软件Nagios来完成统一监控的功能, Nagios是一个有商业版本与免费社区版本的监控软件, 在近几年的运行维护与监控软件占用率方面一直保持在第一名的位置。商业版本Nagios套件的功能非常强大但费用非常贵, Nagios使用率比较高相应的支持插件也比较多, 基于多方面考虑选择免费社区版Nagios为基础平台, 官方提供的免费扩展插件、社区插件、自定义插件为扩展工具, 通过设计与配置策略实现应用统一化监控。单位IT基础设备类型众多, 使用Nagios平台来实现统一监控首先要做好总体设计, 考虑到需要监控的设备包括网络线路与设备、存储与应用主机等, 设计与配置监控时以实际的网络与应用拓扑为出发点, 以主机类型、应用类型为主线进行。

3.1 主机模块定义:

对所有设备类型的分类模块定义有助于梳理设备与整体架构, Nagios自带有一些基本的设备模板, 可以对这些模板进行继承定义, 新定义的模板包括网络线路与设备、Redhat主机、Vmware主机等。

3.2 监控命令定义配置:

Nagios监控是通过主机配置信息与监控命令配置关联来实现信息采集, 需要采集什么类型的信息在监控命令配置文件中需要定义, 一般有基于HTTP、TCP、SNMP、SSH、客户端AGENT等的采集方式。

3.3 故障报警配置:

实现故障条件触发时发出警告需要配置Nagios的故障报警信息, 配置应用主机的监控信息后, Nagios周期性对主机的状态进行侦测, 当故障点发生时故障信息被同时存储到对应的故障信息区, Nagios会更改对应主机的状态, 并在报警触发条件满足进发出警报, 当测试到故障消除后Nagios恢复状态。

3.4 核心线路、网络与存储设备:

作为IT服务平台的基础服务, 网络的通联才能保障上层应用服务的正常开展, 这里分成出口线路与关键网络设备可管理状态、性能信息、流量监控。

3.5 应用主机配置:

应用主机的监控配置包括应用主机的状态、应用的状态。

3.6 应用主机组配置:

通过对主机按服务类型进行分组配置后, 可以方便查看与管理, 同时对一些共性的监控信息可以对主机组直接定义。

3.7 服务组配置:

服务组配置主要解决一个应用对应多个服务, 如WEB、SMTP、IMAP三个服务同时活动才能确认邮件服务正常, 再如有些应用有依赖关系, 门户系统需要认证系统、数据平台、WEB服务都正常时才能正常运行。

3.8 监控项信息的图形化:

监控信息的图形化方便管理人员查看监控设备及快速比较故障时间点及关联性, Nagios监控信息的图形化展示使用pnp4nagios插件来实现RD图形的绘制, 配置的服务模板srv-pnp需要在服务定义上继承。

3.9 监控平台的拓扑显示:

所有设备的拓扑展示图方便快速的浏览监控设备整体状态及关联, Nagios在配置主机监控时有选项parents专门用于拓扑展示, 这个选项需要在定义主机时进行添加, 如parents Cisco_6509。

4. 应用总结

在Nagios为基础的统一监控平台部署后, 问题故障发现后在短时间内得到发现与解决, 很多应用问题在用户发现问题前就已经被解决, 借助Nagios的信息图形化与拓扑展示, 发现问题的准备率得到了提高, 节约了很多运维的时间, 整个IT基础平台中应用的可用性得到了较大提升。在使用Nagios实施统一监控后发现了一些问题, 有一些需要监控的信息没有可用的Nagios插件或采不到数据, 需要在应用系统上自定义脚本与SNMP信息, 兼顾性能与通用实时的数据采集方式是以后继续实验的方向。

参考文献

[1]赵方, 李兰英.基于业务流程的Web应用监控系统研究[J].计算机工程, 2013, 39 (02) :41-45.

[2]区海平, 寿国础.基于MIB定义的SNMP分析系统及实现[J].计算机应用, 2009, 29 (01) :38-41.

[3]周伟强, 陈灿华, 李淑娟.基于Cacti和Nagios的校园一卡通监控系统研究[J].实验技术与管理, 2011, 28 (04) :246-249.

[4]陈银鹏, 郭莉.面向多应用系统的监控系统的设计和实现[J].计算机应用, 2008, 28 (04) :1061-1064.

[5]杨昌武, 曹龙汉.飞信报警方式的Nagios网络监控系统在企业中的应用[J].网络安全技术与应用, 2012 (07) :42-45.

nagios监控 篇2

河北省地震局信息网络通过“首都圈”和“十五”中国数字地震观测项目的建设,网络规模不断扩大,复杂性不断增加,形成了覆盖省、市(中心台)、县(台站)三级的大型行业网络。目前各业务手段都采用了网络实时传输数据或者通过网络报送数据,所以对网络性能的要求在不断的提高。但目前地震信息网络虽有网络管理系统,但不能实现短信报警和满足快速排除故障的需求,并且省内地震信息网络评比缺乏网络运行的基础数据,前兆、测震观测仪器缺乏统一的监控报警系统。因此,建立一个高效的管理系统对网络系统进行监控是非常必要的。

2 Nagios软件简介

Nagios是一个在linux及unix环境下运行的监控系统和网络的应用程序它监控用户所指定的主机和服务,并在情况变得更糟或更好时提醒用户注意[1,2]。包括以下一些功能:监控网络服务、监控主机资源、简单的插件设计允许用户可以很简易地开发它们自己的服务检查、并行服务检查,定义网络分层结构的能力,用“parent”主机来表达网络主机的关系,可以检测和区分主机的宕机状态和不可达状态、在服务或主机产生问题和修复时获得通知(通过邮件、页面或用户定制的方式)、可选Web界面,该界面用于查看当前网络状态、通知和问题列表、日志文件等[3]。

3 地震网络监控系统实现方法

地震监测网络运行监控与报警系统采用开源软件Nagios来监控,使用基于浏览器的web可视化界面展示[4,5,6,7,8,9]。根据网络中每台设备所提供的服务,建立各个监控目标的配置文件,设定监控方法和报警参数。其中监控数据保存在MySQL数据库中,用于年度信息节点评比的参考基础数据。报警模块采用天津地震局李刚等人编写的短信发送插件,通过GSM MODEM实现短信报警功能。当监控模块中定义的网络设备、服务出现问题时,触发报警模块,根据报警数据向设定的维护人员《自动化技术与应用》2015年第34卷第6期计算机应用Computer Applications发出报警信息。但要实现以上功能还要配置如下几个

开源软件或Nagios的扩展插件[10]。

(1)Nagios-plugins:Naigos用来实现(如文件系统、内存使用情况、CPU利用率等)多项检查功能的基本插件。

(2)NDOUtils:nagios系统与数据库连接的中间件,可以将系统的配置与监控信息写入数据库,便于更多的程序与应用来共享使用配置信息。

(3)NRPE:是用于监控Linux/U nix系统的扩展插件,分别部署于Nagios系统和被监控的Unix/Linux服务器,实现对服务器CPU负载、内存使用率、硬盘使用情况等信息的监控。NRPE称为Nagios for Unix客户端。

(4)NSClient++:用于监控Windows系统的扩展插件,与NRPE插件功能相似,Nagios对Windows服务器的监控可用SNMP、NRPE和NSClient++,其中NSClient++应用最为广泛。

4 具体参数配置与系统构建

相继把上述的几个Nagios的扩展插件安装好,然后进行参数配置与系统搭建。具体各个模块参数配置如下:

(1)监控对象模板

在Nagios中,对象定义采用了面向对象方法,系统中定义有各种对象模板或(或对象类),常用的有主机、服务、联系人三种存放在/usr/local/nagios/etc/objects/templates。cfg文件中。

联系人模板:联系人共有参数设定。

主机模板:监控主机的共有参数设定。

服务模板:监控服务的共有参数设定。

用户可以根据需要,建立自己的特定对象模板。监控对象定义时,首先要选择一个对象模板。我们建立一个名为mytemplate。cfg文件,定义监控中用到的通用对象参数如下:

my_device主机与设备对象模板:

(2)对象分组

对象分组是对象定义时必须进行的操作,其主要目的是对各类监控对象进行分组,便于对象的管理与维护,尤其是在大型的网络监控中,分组工作更为重要。对象分组包括两类,即主机分组与服务分组。在主机对象分组时,可以根据部门、设备类型或其它原则进行分组。在默认的Nagios系统中,主机分组一般放在各类主机对象定义文件中,但建议建立一个专用的对象分组文件,专门存放分组信息。在具体建设的系统中,我们建立了/usr/local/nagios/etc/objects/nagios_host_group。cfg主机分组文件。



在服务分组时,可以根据服务类型进行定义,在Nagios系统中没有默认建立服务分组,我们建立了/usr/local/nagios/etc/objects/nagios_service_group。cfg服务分组文件。

对象分组定义样例如下:

对象或服务进行分组时为1对多关系,即1个对象或服务可以隶属于多个对象分组,具体的分组应用在后面详细的进行介绍。

(3)对象定义

在对象模板、对象分组、服务分组和对象命名规则建立好后,就可以着手定义每个对象信息。在Nagios系统中,各类对象定义文件都存放在/usr/local/nagios/etc/objects目录中。我们可以建立相应独立的定义文件,一般可以按部门或按设备类型进行分类存放。由于Nagios没有自动发现功能,因此在对象定义时要做好上下层关系分类,一般按照从上层对象向下层对象的顺序建立。

注意:在Nagios系统运行前,要将建立的各类配置文件加入到/usr/local/nagios/etc/nagios。cfg文件中。

找到cfg_file处将自己定义的文件按对象模板、分组、对象定义的顺序加入,如下所示:

下面为一台服务器的定义实例:define host{

配置文件建立好后,要将其加入nagios。cfg文件中,编辑/usr/local/nagios/etc/nagios。cfg文件,并在其中加入一行:cfg_file=/usr/local/nagios/etc/objects/linux。cfg

在上述命令完成后,用如下命令检测所做配置是否正确。#/usr/local/nagios/bin/nagios-v/usr/local/nagios/etc/nagios。cfg输出为Total Warnings:X、Total Errors:0时可重新启动nagios。

在完成上面的操作后,在nagios系统中会看到如下的检测结果和拓扑图(图1、2),现在我们就实现了对地震网络系统实时监控与管理了。

5 结束语

在实际应用过程中,我们发现Nagios是一款功能非常强大的开源软件,还有很多的功能可以扩展。本系统只是应用了nagios系统的最基本的插件和扩展模块进行开发配置应用,并且系统还存在许多不足之处,在今后的推广应用中还需要进一步开发和完善。

参考文献

[1]MAX SCHUBERT,Nagios 3 Enterprise Network Monitoring[M].Syngress:2008.

[2]李晨光,Linux系统网络管理模块的实现[J].铁路计算机应用,2008,17(6):35-38.

[3]宋磊,王静文.OpenBSD下基于Nagios的网络服务监控报警系统的研究[J].电脑编程技巧与维,2009,14:112-113.

[4]吴海燕,周海生,吉祥.Nagios在网络管理工作中的应用与探讨[J].高原地震,2010,22(3):58-60.

[5]张晖,周利霞,姚会琴等.Nagios.监控系统在天津地震应急系统中的综合应用[J].震灾防御技术,2012,7(3):322~328.

[6]高东辉,孟祥龙,张守国等.基于Nagiosf}g网络监控系统在黑龙江地震监测网络中的应用[J].防灾减灾学报,2013,29(2):67-73.

[7]李刚,王晓磊,孙路强等.基于Nagios软件的综合短信联动告警系统在地震行业中的应用研究[J].地震研究,2012,35(1):133-138.

[8]李刚,周利霞,王晓磊等.开源网管系统在地震监测网络中的应用[J]西北地震学报,2011,33(4):380-385.

[9]王帆.基于Nagios的服务器监控平台构建与实现[J].实验室研究与探索,2010,29(12):51-57.

nagios监控 篇3

关键词:信息化,Nagios,网络监控系统

信息化建设的扩大, 在为人们日常生活提供便利的同时, 也使人们对网络产生了一定的依赖性, 各类网络应用的服务质量也逐渐受到人们的关注。如由于机房服务器的故障, 导致用户无法登陆相关网页或用户数据丢失等问题, 将会给用户带来极大地困扰。

为保证网络应用的服务质量, 数据中心的系统管理员必须建立一个对机房所有设备进行实时监控的系统平台, 以便实时了解服务设备的运行情况, 要求该监控平台能够在设备出现异常的情况下第一时间通知系统管理员, 以此减少管理人员的工作压力, 并保证网络应用的可靠性。因此, 对于网络监控的研究有着很重要的意义。

1 Nagios系统

1.1 Nagios系统简介

Nagios是一款开源免费的网络监控软件, 运行于Linux或Unix操作系统, 由一个Nagios主程序、一个nagios-plugins插件和几个可选的ADDON组成, Nagios系统通过自身的插件来实现对多种系统、服务的监控[1]。Nagios的常用功能如下:监控各种网络服务, 如HTTP、SMTP、PING等;监控主机资源, 如磁盘利用率、CPU负荷等;可以通过插件来扩展自己监控方式;允许多种监控方式并行;当服务设备或网络服务出现异常时, 可通过自定义的短信、邮箱方式来通知系统管理员;用parent主机定义来表达网络主机间的关系, 具有网络分层功能;可通过web界面查看监控状况, 避免了Linux字符操作的复杂性。

由于Nagios有着自由可选的各种插件, 还可以配合上自定义的shell脚本进行工作, 这种灵活的配置方式, 全面的监控能力, 适用于各种大小规模的企业;同时, 也被越来越多的数据中心系统管理员所重视[2]。

1.2 Nagios工作原理

Nagios所有的监控检测功能全部是通过Nagios的libexec文件夹里的插件所完成的。Nagios按照需求调用这些插件, 通过命令行方式对主机及服务进行检测, 并最后把执行结果返回至Nagios[3]。图1为Nagios工作原理图。

可以从图1中看到, Nagios的4个可选插件:NRPE、NSCA、NSClient++、NDOUtils。其中, NRPE是用来监控远程的Linux/UNIX主机及服务的;NSCA的作用是将被监控的Linux/UNIX服务器的数据信息传送给安装了Nagios系统的服务器;NSClient++能够监控Windows主机及服务;NDOUtils则可以把监控的事件和Nagios的配置信息写入数据库[4]。

其中, NRPE和NSCA为Nagios提供了两种监控方式, 即主动检测和被动检测。NRPE是主动检测的插件, 即是从Nagios服务端定时向客户端发起监控任务, 这种监控方式虽然简单直接, 但无法将监控结果通过多级路由进行传递。相比较下, NSCA的被动检测的方式则是让被监控的客户端向服务端主动上报监控信息, 虽然NSCA的部署工作比较有难度, 而且对于客户端的监控上感知比较迟钝, 但它却能够将监控信息通过多级路由发送, 这是主动检测所无法做到的。

比较了NRPE和NSCA两种监控的优缺点后, 可以了解到, 当服务端的网络可以直接连接到客户端的设备时, 采用主动监控比较合适;而当服务端和客户端处于不同的VLAN时, 则使用NSCA的被动监控方式。其实在现实中, 监控系统部署常常结合两者的优缺点, 共同使用两种监控方式。

2 Nagios监控总体设计

2.1 监控部署设计

本文的设计监控系统以一个校园网络为案例, 其中需要被监控的服务器共有54台, 需要被监控的交换机有12台, 共有服务项88个。

为了能在监控中清楚地查看到各个服务器的状态, 必须为每台服务器及交换机命名。在这里需要说明的是, 名字不可以重复, 且命名并不影响该设备的任何工作。由于这些服务器、交换机的工作任务不同, 还可以按照它们的工作任务为它们分组。比如有的服务器是DNS域名解析服务器, 可以命名为DNS工作组;有的服务器是为图书馆工作的, 即可命名LIBRARY工作组。按照这个规律, 设计中划分了11个工作组, 将66台设备归并到这11个不同的工作组中。

如在中心机房内有6台交换机, 在设计中命名了一个SWITCH-GROUP工作组, 并将6台交换机划分到该工作组中, 如表1。

其它设备也可以按照表1的规律进行命名分组。由于设备比较多, 这里就不一一列举了。

2.2 任务管理设计

对于数据中心的系统管理员而言, 一个监控系统的好坏就在于这个系统能否及时感知被监控服务设备的异常情况, 且在第一时间内通知相关人员。这样一来, 即使管理人员不在工作单位内, 也能远程了解到设备的健康状态。

在实际工作时, 一个系统的使用和操作, 有最高系统管理员和普通管理员之分, 最高系统管理员拥有该系统最高的管理权限, 能够对该系统的开发和使用进行统筹规划, 而普通管理员则只有部分权限。以Nagios监控系统为例, 最高系统管理员拥有其服务器的登录权限, 并能修改登陆账号和密码;能够进入Nagios后台, 对Nagios的配置进行修改;可以选择被监控的设备和服务项目并为它们命名分组;还能够设定web登录界面的账号密码等。

一般情况下, 一个服务设备所被监控的服务项目在1~2个。在设计这个监控系统的时候, 需要考虑到每个服务设备都有自己的分管人员。所以, 这里就需要规划好, 指定的服务设备出现异常时, 要远程通知到具体哪几个管理人员。如表2为系统管理员的管理任务分配。

从表2的工作分组中, 可以看出, 之前的服务设备按不同工作任务进行的工作组划分工作, 有利于这里的管理员工作分配。如表2所示, 当SWITCH GROUP和NETWORK GROUP工作组里的设备出现异常时, 将会通过短信或邮箱的方式通知到最高管理员HUANGC和另一个分管人员XYJ。

结合本文2.1和2.2的内容, 进行了Nagios的整体结构设计, 如图2。

3 Nagios监控系统的使用

按照上述设计, 完成了Nagios网络监控系统的构建后, 打开浏览器, 输入IP地址“host”, 即可进入Web页面, 如图3。

可以看到Web页面的右侧有Hosts、Services、Hostgroups等选项, 点击选项可以按要求进行查看, 如图4、图5和图6。

如监控中有服务项目出现问题, 系统会及时发送邮箱和短信到相关人员:如图7和图8。

4 结语

随着信息化建设渗透至各行各业, 监控系统的构建显得愈发重要, Nagios也逐步受到IT界的重视。在构建了Nagios监控系统后, 大大减少了系统管理员的工作量, 为进一步的信息化建设提供了安全保障。然而, Nagios还有很多强大的插件功能在本文设计中未被使用, Nagios仍然有很多更细致的监控配置需要系统管理员在往后的工作中探究。

参考文献

[1]李晨光.Linux系统网络管理模块的实现[J].铁路计算机应用.2008, 17 (6) :35-38.

[2]魏根芽.基于Linux的Nagios服务器监控系统的研究与实现[J].计算机与现代化.2010 (6) :170-172.

[3]王帆.基于Nagios的服务器监控平台构建与实现[J].实验室研究与探索, 2010, 29 (12) :51-57.

[4]刘东君.基于Nagios的综合监视系统设计与实现[J].网络安全技术与应用, 2013 (8) :18-20.

[5]赵文瑞, 卢志刚, 姜政伟, 等.网络安全综合监控系统的设计与实[J].核电子学与探测技, 2014, 34 (4) :419-424.

[6]吕伟春, 胡洪新.校园网络监测系统研究与设计[J].微电子学与计算机.2010, 27 (6) :101-104.

[7]袁凯.校园网络监测系统研究与设计[D].武汉:华中科技大学, 2012.

nagios监控 篇4

关键词:Nagios软件,NagiosQL软件,PNP插件,网络

Nagios用于监控交换机和服务器运行的实时状况, 监控的内容包括设备的储存空间和CPU资源的消耗等等一系列其他监控内容。 如果运行中的设备在某个时刻出现了异常情况则通过报警功能, 发出报警。 MySQL是一个数据库, 它可以保存Nagios的历史数据, 当需要查阅Nagios数据的时候可以从数据库中读取相关的配置。

1 Nagios功能

1.1 基本功能

Nagios是一种强大的监控软件, 监控的主要对象是交换机和服务器以及路由器。

Nagios对网络主机进行监控之时必须有相应的插件配合使用才能够实现监测功能。 所谓插件是 (1) 能够进行编译的可执行文件; (2) 可执行的脚本文件。 各种Nagios插件对网络主机的运行状态进行检测, 将检测的结果返回给守护进程, 最后由Nagios对检测结果做出判断。 Nagios几个基本功能是:使用MySQL数据库软件, Nagios的PNP数据图形化的功能, NagiosQL的Web界面配置功能。

1.2 Nagios的扩展功能

Addon的意思是附加, 追加的含义, Nagios Addons的本意是Nagios的附加功能。 Nagios的Addons种类很多, 通过相应的Addon插件来实现Nagios的扩展功能[1]。

Nagios Plugins的Plugins插件可以是编译生成的命令, 也可以是各种脚本例如: Perl脚本, Shell或PHP等脚本。 Nagios Plugins的方式与Nagios Addons的方式非常类似, 通过各种插件来实现Nagios的扩展功能。

2 NagiosQL的功能

2.1 概念

NagiosQL是一种基于Web界面的配置软件, 除了能够生成相应的配置外还可以对某些Nagios配置进行修改。 NagiosQL与Nagios configure比较过程中NagiosQL的Web界面更为直观和简洁, 人机界面更近一步效果更好。

Nagios configure插件和NagiosQL插件都是通过Web接口来完成Nagios的配置, 完成Nagios配置之后将配置信息保存在MySQL数据库中。 当需要对配置信息进行修改的时候可以将这些数据从MySQL数据库中读出。

NagiosQL软件除了有相应的配置功能外和对配置管理的功能, 同时还具有将已有的配置信息导入和导出的功能, 将数据从数据库导入和导出的功能是Nagios configure没有的。因此NagiosQL插件与Nagios configure插件相比, 该软件具有更强大和更完善的功能。

2.2 NagiosQL的安装和配置文件的修改

当使用NagiosQL软件对Nagios的监控功能进行配置的时候, 必须事先安装相应的插件。 这些插件包括: MySQL数据库软件、 PHP软件、 Apache软件等软件, 只有在以上插件的支持下才能实现NagiosQL软件的功能。

(1) 第一步安装相应的插件

当相应插件安装的过程中需要安装PHP软件, Apache软件, MySQL数据库软件和EAR Module软件。

(2) 第二步对Nangios某些配置文件的权限进行修改

在Nagios配置文件需要修改的文件主要包括以下几种文件: host.cfg, service.cfg。

这些修改的配置文件的文件路径为:

还有的文件配置修改不一一举例。

2.3 NagiosQL界面功能

nagiosQL在使用之前需要设定用户名, 用户名通常设定为admin, 用户名的密码可以任意设定。

打开nagiosQL的Web界面之后可以看到如下的功能菜单选项, 现在列举如下:

[监督], [警告], [命令] …

[ 监督] 功能菜单目录中有以下的几种功能: HOST, 服务, 主机组, 服务组, 主机模板, 服务模板。

[ 警告] 功能菜单目录中有以下的几种功能: 联系数据, 联系组, 时间段, 联系人。

[命令] 功能菜单目录中有以下的几种功能: 定义。

[特征] 功能菜单目录中有以下的几种功能: 主机依赖项, 主机升级, 扩展主机, 服务依赖, 服务升级, 扩展服务。

[ 工具] 功能菜单目录中有以下的几种功能: 导入数据, 删除备份文件, 删除配置文件, Nagios配置, CG配置, Nagios控制。

[管理] 新密码, 用户管理, 组织管理等功能。

3 PNP技术简介

3.1 定义

PNP插件的全称为PNPNagios , PNP能够使得Nagios数据图形化, 将PNP插件对Nagios进行配合地使用能够将Nagios的配置数据图形化。

在Nagios的数据库中存有各种配置数据, 当管理人员需要查阅这些数据的时候, 会消耗较多的时间, 并且这些数据并不直观, 数据之间的对比度也并不高, 缺乏一定的比较性, 因此为了使得监控人员在查看这些监控数据更加明显和直观, 方法之一是将这些数据绘制成图形, 通过图形来显示数据的变化, 通过对监测数据之间的变化, 更加直观简洁地及时了解实设备的运行状态, 同时能够更好查看Nagios数据的历史记录。

3.2 PNP的工作模式及其主要功能

PNPNagios有多种工作模式: (1) Synchronous工作模式, (2) Bulk工作模式, (3) NPCD工作模式, (4) npcdmod的工作模式, (5) Gearman工作模式、 Bulk工作模式和NPCD工作模式是最常用的工作模式。

(1) Bulk工作模式的功能

在Bulk的工作模式中, Nagios会将实时数据写入一个临时文件, 当临时文件的存储空间为满时, Bulk会自动处理一部分数据。 如果临时文件的数据已到达它的生存期, 则这部分数据也被自动删除。

(2) NPCD工作模式的功能

NPCN的工作模式与Bulk的工作模式十分类似, 最大的区别是当处于NPCN的工作模式是: 当脚本命令process_perfdata.pl处理临时文件不会消耗较多的时间。 由于process_perfdata.pl处理临时文件的时间十分短, 因此Nagios能够在十分短的时间内重新上线对交换机和服务器进行实时监测。

3.3 Bulk工作模式与NPCD工作模式的比较

(1) Bulk工作模式不足之处

当Nagios将数据写入Bulk临时文件的时候, 脚本命令process_perfdata.pl与Nagios不能够同时运行。 因此Bulk的工作模式对数据处理时缺乏一定的并行性和实时性, 对实时数据处理能力效率有一定的影响。

(2) NPCD工作模式的改进和优点

NPCD的工作模式对Bulk进行改进, 最大的改进之处是:当Nagios对网络设备进行在线监测的时候, 缩短了脚本命令process_perfdata.pl对临时文件的处理时间。 尽管此工作模式并未实现脚本命令process_perfdata.pl与Nagios监测数据时同时运行, 但提高了Nagios工作使的效率。 由于脚本命令process_perfdata.pl将数据移动到Spool文件目录之下, 这时process_perfdata.pl对数据处理时消耗的时间很短, 经过十分短的时间Nagjos就能重新对实时的数据进行在线监测。

3.4 PNP所需要的插件与插件的安装

(1) 安装PNP4Nagios时所需要的插件

1) Perl, 2) RRDtool, 3) PHP

(2) 安装RRDtool

1) 将插件RRDtool减压缩: tar zxvf rrdtool-1.4.7.tar.gz。

2) 将文件拷贝至目录下: ./configure – prefix =/www/var/rrdtool-1.4.7。

3) 开始安装和编译: make。

4) 安装和编译插件RRDtool:make install。

(3) 安装PNP4

1) 将插件PNP4减压缩:tar zxvf pnp4nagios-0.6.6.tar.gz。

2) cd pnp4nagios-0.6.6。

3) 开始安装: make all。

4) 安装和编译插件:make install。

5) 安装和编译-webconf:make install-webconf。

6) 安装和编译-configuration:make install-config。

7) 安装和编辑make install-init。

8) 安装和编辑make fullinstall。

(4) 重启Nagios。

1) chkconfig--add npcd。

2) chkconfig npcd on。

3.5 PNP配置文件的修改

完成PNP4Nagios的插件安装之后, 必须对以下几种配置文件进行修改。 需要修改的文件列举如下: 1) nagios.cfg, 2) command.cfg, 3) templates.cfg等配置文件。 当完成这些配置文件修改之后, 重新启动Nagios使得主机和服务重新调用PNP。

4 结语

简略介绍了Nagios所具有的功能, 介绍了NagiosQL插件基本概念、 功能及其安装的过程, 其次着重介绍了PNP的功能和工作模式, 比较和分析了Bulk工作模式和NPCD工作模式的优缺点, 介绍了PNP的安装过程和需要修改的配置文件。

参考文献

[1]陶利军.掌控构建Linux系统Nagios监控服务器[M].清华大学出版社, 2013.

[2]David Josephsen.Nagios系统监控实践[M].机械工业出版社, 2014.

nagios监控 篇5

随着我校校园网规模的不断扩大;网络复杂程度不断增加,异构性日益增强;接入的各种硬件设备日益增多,迫切需要一个高效的网络设备监控系统对设备进行监控,以便随时了解网络和应用服务的运行情况。并且当它们出现故障时及时地解决问题,以确保网络的畅通,提高网络的质量和效率[1]。

国内外很多网络服务商已推出了很多商业化的网络设备监控管理系统,比如HP公司的OpenView,IBM公司的NetView,SUN公司的SunNet Manager,Cabletron公司的SPECTRM,但这些平台对体现网络运行相关的历史数据的采集、管理、分析方面提供的功能都不能满足实际需要,而且这些平台也存在某种不足:价格昂贵,平台需要购买;操作管理较繁琐,必须由专业人士才能进行有效管理等诸多问题;另外还需额外的网络带宽开销等[2,3]。

如果直接开发一个监控系统,需要大量的人力物力,并且还需要一些时间。研究的主要目的就是通过对已有的开源网络设备监控管理系统(Nagios、Cacti)的研究和分析,借鉴它们的优点,实现功能较为丰富、性能较为稳定的网络设备监控系统。这样不仅大大降低了开发成本,而且能很好地实现了对校园的服务器和网络设备的智能监控。

2 Cacti和Nagios特点

Cacti[4]是个完善的图形化网络监测程序,使用rrdtool引擎绘图,它内置了快速的获取数据取工具、优秀的绘图模板以及许多设计精良的数据获取脚本,轻松实现主机负载、网络流量等信息的走势图的绘制。

Nagios[5]是用于系统和网络监控系统,它的特点主要有:(1)监控主机资源(处理器负荷、磁盘利用率等)和网络服务(SMTP、POP3、HTTP、FTP、PING等);(2)允许用户通过设计实现简单的插件来监控自己特定的服务;(3)当被监控对象出现问题时,会及时通知管理人员;(4)事先定义事件处理程序,当对象出现问题时自动调用对应的处理程序;(5)通过Web页面来监视对象状态,警告提示和日志文件[6]。

3 基于FreeBSD的Cacti和Nagios监控系统结构图

Cacti和Nagios都是网络监控工具,它们有各自的优缺点:Cacti在监控方面有良好的精细绘图,很直观;但是在故障分析上有些略逊,而且报警机制也有待完善。而Nagios擅长监视大量服务器上面的大批服务是否正常,集成了许多功能例如报警,都是Cacti没有或者很弱的。但在绘图以及图型塑造方面精细度比Cacti要弱。所以同时安装了这两个软件,并通过Cacti插件NPC,将它们关联起来。其系统结构如图1所示。

操作系统用FreeBSD,因为它出除了有开放源码的优点和稳定性外,其配置简单明了,带有ports和packages系统,编译、安装、部署Cacti和Nagios都非常方便。将Nagios的数据通过NDOUtils导入到MySQL数据库,然后Cacti读取数据库信息将Nagios的结果通过NPC展示出来,实现Cacti和Nagios的整合。

4 软件的安装与配置

4.1 Cacti安装与配置

在freebsd使用ports安装非常方便,运行

#cd/usr/ports/net-mgmt/Cacti&&make install clean

即可安装Cacti和它所依赖的各个软件(如apahce、mysql、php、rrdtool、net-snmp等),安装好后修改/usr/local/share/Cacti/include/config.php文件,设置MySQL数据库的用户名和密码。设置计划每5分钟执行一次。

#crontab-u Cacti–e

*/5****/usr/local/bin/php/usr/local/share/Cacti/poller.php>/dev/null 2>&1

打开http://x.x.x.x/Cacti就可见Cacti页面了,使用admin登录,第一次登录要修改密码。Cacti的使用很简单,在左侧栏Console-->Devices,可以添加需要监控的设备,并设置图像。Cacti运行效果如图2所示。

4.2 Nagios安装和配置

同样使用ports安装:

#cd/usr/ports/net-mgmt/nagios&&make install clean

为了让Nagios开机自动启动,在/etc/rc.conf中添加Nagios_enable=”YES”。然后进入/usr/local/etc/nagios目录,把里面的那些*.cfg.sample都cp成cfg。

安装Nigos常用插件:

#cd/usr/ports/net-mgmt/nagios-plugins&&make install clean

这些插件安装好后,就可以添加监控对象了,如待监控主机是Linux/Unix,安装代理通信框架NRPE,如是Windows平台安装NSClient++;它们负责将结果返回给Nagios主程序。

接下来安装ssmtp,以便主机能发送邮件。

#cd/usr/ports/mail/ssmtp&&make install clean

安装好后,配置文件/usr/local/etc/ssmtp/ssmtp.conf,设置mailhub、AuthUser、AuthPass等选项,完成ssmtp用户名、密码配置。由于日志和电子邮件告警由于需要维护人员定时查看相关记录,实时效果不太理想;在移动通信普及程度非常高的今天,短信告警更方便及时通知维护人员。而中国移动139信箱有免费的邮件短信提醒功能。配置/usr/local/etc/nagios/objects/contacts.cfg,其中email选项设置136****@139.com。这样Nigos有警告时,发邮件到139信箱,同时,邮件发短信提醒到手机。如图3所示,实现了短信监控。即使网管网不在电脑前,也可对被监控的对象的运行状态了如指掌。

4.3 Cacti和Nagios的整合

Nagios监控各种服务的状态很强大,并且报警功能也不错,但是缺少直观的表示,在cacti的插件里有一个插件NPC,通过NDOUtils可以把Nagios里的数据展示在NPC标签里,很直观的就可以看到各种信息如图4所示。

安装NDOUtils,实现将Nagios的数据保存在mysql数据库中。

#cd/usr/ports/net-mgmt/ndoutils&&make install clean

在其配置文件/usr/local/etc/nagios/ndo2db.cfg中,设置mysql数据库名、用户名、密码,这些设置要与Cacti的数据库设置一致。

修改配置Nagios文件nagios.cfg以下几项

check_external_commands=1

command_check_interval=-1

event_broker_options=-1

broker_module=/usr/sbin/ndomod-3x.o config_file=/usr/local/etc/nagios/ndomod.cfg

process_performance_data=1

安装npc插件,下载npc插件,解压并把目录拷贝到/usr/local/share/Cacti/plugins/里。登陆Cacti,在Console->Plugin Management并启用npc插件,npc即立即与Cacti整合。接着在右侧栏目中选择settings,点选npc的标签,设置Nagios Command File Path:/var/spool/nagios/rw/nagios.cmd,钩选Remote Commands并保存。

5 结语

利用开源的Cacti和Nagios软件,成功搭建了我校的网络系统监控平台,实现了对网络设备(如交换机、路由器等)和服务器的服务(http、ftp等)运行状态实时监控,并实现了短信报警的功能。与商业软件相比,不但节省了费用,还实现了对多品牌设备的监控,并且诸多功能还可以定制和二次开发。当然Cacti和Nagios也有不足之处,如安装配置复杂,在文中安装的都是最新版本,出现了许多新问题,这些问题网上解决方法很少,只有自己查看全英文的说明文档,花费了不少时间。笔者下一步努力的方向,就是根据我校网络中心的具体情况和需求,对它们进行定制和二次开发。

摘要:利用Cacti和Nagios开源监控软件,实现了校园网的监控系统,监控系统具有图形化显示和完善的报警功能,实现了设备出现故障和恢复时短信提醒功能。

关键词:网络监控,Cacti,Nagios,FreeBSD

参考文献

[1]张雷.基于Nagios的网络管理监控系统的应用研究[J].福建电脑,2011,(1):120-121.

[2]王英.基于WEB网络设备监控系统研究与实现[D].成都:电子科技大学,2011.

[3]周伟强,陈灿华,李淑娟.基于Cacti和Nagios的校园一卡通监控系统研究[J].实验技术与管理,2011,(4):246-249.

[4]Official Cacti Documentation Site[EB/OL],http://docs.cacti.net/,2012.

[5]Nagios项目组.Nagios说明文档[EB/OL].http://www.na-gios.org/,2012.

试谈Nagios的网络监测功能 篇6

Nagios是一种开源网络监控软件, 在国内和国外都有广泛的应用。 目前大部分网络管理人员通常选择Linux系统或Unix系统作为Nagios的运行平台。 在一个局域网中, 每台交换机的状态, 端口流量, 系统资源使用等参数是其运行状态的直接反应, 并且服务器中运行的进行程数量, CPU的负载, 硬盘的可用空间等一系列资源参数需要在一个合理可用范围之内。 如果这些资源不合理地使用将会影响整个网络的正常运行, 如果资源的使用率超出一定的范围之后, nagios监测系统应该向网络监控管理员发送相应的报警信息。

要实现Nagios监控软件其强大的监测功能, 必须有各种插件的支持才能够达到这一目的。 Nagios对网络资源的监测, 包括对交换机, 服务器的状态, CPU的负载和等等资源进行监测, 该软件除了能够对各种网络资源进行监控外还能对各主机的运行状态进行实时监控。

1 Nagios的工作原理

Nagios将所要执行的服务任务指令发送给相应的插件, 再由插件完成相应的任务, 最后将执行任务的结果返回给Nagios。 在Nagios对网络监测过程中, 所有的监测功能是通过libexec文件的服务配置来完成的, 最后由Nagios根据相应的插件执行结果, 来完成对网络资源及交换机和服务器运行状态的监测。

2 Nagios的基本服务其配置

Nagios是运行在Linux操作系统平台下的一种开源网络监测软件, 该软件有两种监控方式: (1) 主动监测, (2) 被动监测, 在通常情况下管理人员使用的是被动监测模式。

2.1 Nagios常见的主要监测服务功能

(1) 常见的网络监测服务有 (SMTP, HTTP, PING, FTP) 。

(2) 基于对本地主机资源的监测功能有CPU负载的利用率, 硬盘剩余空间大小的检测, 处于运行之中的进程数量, 及僵尸进程数量的检测。

(3) 以Web网页的方式来查看被监控交换机, 服务器资源的使用率以及主机的运行状态。

(4) 以多种的方式来发送交换机与服务器的故障报警信息。

(5) Nagios与My SQL数据库功能。

(6) 将Nagios数据图形化的功能。

2.2 Nagios对网络的主要监测功能

当使用Nagios监测软件对本地和远程交换机和服务器实现监控的之时, 需要将执行的指令发送给相应的插件, 再由插件去执行相应的任务, 最后由插件将执行的结果返回给Nagios监控软件。 例如Nagios将需要执行的监控指令发送给插件check_nrpe, 由插件check_nrpe插件以及其他有关的插件完成指令任务, 最后将执行的结果返回给Nagios, 再由Nagios对监测结果做进一步的分析和处理, 以供管理人员查看和参考。

Nagios具有多种对网络监测能力, 如果要实现这些功能, 必须对相应的配置文件进行配置, 不同的服务配置将不同的指令发送给不同功能的插件, 这些配置服务能够协助Nagios软件对不同的网络资源进行监测和监控。 在Nagios的配置文件中, 每一条配置指令实现一个配置任务, 将不同功能的指令组合在一起就可以实现某个完整网络监控功能。 要完成实现Nagios对网络所有的监测功能, 需要对多种配置文件进行配置。 这些配置文件有若干种, 现在列举以下几种配置文件:command.cfg, localhost.cfg, contact.cfg, switch.cfg。 不同的指令组合实现了不同的配置组合, 而不同的配置组合实现了不同的Nagios网络监测功能。

现在列举switch.cfg的服务配置主要监测功能, 在switch.cfg配置文件中实现对交换机的监控, 最基本的服务有以下几点:

(1) 交换机ping的服务功能: 使用ping的指令来检测主机所处的工作状态, 是处于up的状态之下还是down的状态之下。

(2) 使用某些指令对硬盘的利用率或cpu负载的大小进行连续的监测或定时的监测。

(3) 对服务器中的进程数量进行在线监测, 监测的对象包括对进程数量和僵持中进行数量的监测。

(4) 对交换机进行的监测时间可以采用不同的指令加以控制: 1) 在每天中连续正常的监测时间设定, 2) 对故障中的交换机监测时间间隔。 以上两用监测功能的指令是: 当实现在线主机连续监测时的时间设置指令为: check_interval和当监测处于故障中交换机或服务器的时间设置指令为:retry_interval。

( 5) Nagios的报警功能是基本的服务功能, 因此在Switch.cfg的配置文件中能够对交换机的故障报警功能进行配置。 该报警信息能够通过多种方式发送给管理员: 1) 电子邮件, 2) 飞信的方式发送到管理员的邮箱中或手机中。

(6) 实现Nagios软件系统报警时, 报警信息对同一个故障可以实现重复的多次, 也可以对同一个故障仅进行一次报警, 并且可以选择在什么状态下对故障进行报警和报警的次数。 在什么状态下实现报警和报警的次数可以通过以下的两条命令实现: notification_options和notification_interval两条命令来实现。

(7) 在Switch.cfg配置文件中ping的服务功能, 在什么状态下实现报警, 以那一种方式发送报警信息, 监测时间参数的设定, 是否开启故障报警功能, 以及对于同一个故障是一次报警还是多次报警这都是Switch.cfg监测服务的基本配置服务功能。

3 Nagios与My SQL数据库的服务

Nagios监控软件除了有强大网络监控功能外, 还有一些其他监测功能比如My SQL数据库管理功能和将Nagios的数据图形化功能。 这两款软件所具有的功能也是Nagios监控软件的重要基本功能。

3.1 实现Nagios与My SQL数据库功能的主要插件

当安装My SQL监控插件的时候需要对Nagios版本有一定的要求, 过旧的Nagios版本对某些插件功能不予以支持。

My SQL所需要的主要插件有:

(1) DBD-mysql, (2) DBI, (3) ndoutils。

3.2 Nagios与My SQL的功能

My SQL数据库的基本功能是: (1) 通过Nagios软件对本地主机或远程主机实现数据库的远程管理和监控功能。 (2) 对交换机, 服务器资源的监控主要是指: 主机的运行状态的变化, 磁盘空间的消耗率和活跃的进程数量和僵尸程序的数量等等这些资源进行管理和记录, 并通过相应的软件进行保存。 为了读取My SQL数据库中的各种记录还必须安装相应的插件。

在实现My SQL数据库的基本功能除了必要的插件外, 还必须对相应的配置文件进行修改, 必须修改的配置文件包括: (1) localhost.cfg配置文件, (2) services.cfg配置文件, (3) command.cfg配置文件的修改。

3.3 Nagios与My SQL数据读取的配置文件

将My SQL数据库中的数据读取到Nagios监控软件中, 需要对以下文件配置进行修改:

(1) 修改主配置文件Nagios。

(2) 修改配置文件ndocmd.cfg和ndo2db.cfg。

(3) 配置完成, 启动ndo2db。

(4) 最后查看系统日志是否存在错误信息。

4 Nagios数据图形化的服务功能

将Nagios监控记录数据图形化的服务功能

要实现Nagios记录数据图像化需要有两个步骤:

(1) 安装必须相关的插件, 安装使用NPNNagios需要以下软件:

1) 当Perl>=5.x时, 则不需要其他额外的模块。

2) RRDtool>=1.X, 如果是1.2版本的则为更好。

3) PHP>=5.1.6。

4) Nagios>=2.x或者是Icinga。

5) 如果使用Kohana, 则需要启用mod_rewrtie模块。

在安装相关的插件时, 某些插件对Nagios软件版本同样有级别的要求。

在Nagios版本下能够安装相关的插件如下:

(2) 安装了相关插件之后还必须对相关的配置进行修改:

1) 修改主配置Nagios文件。

2) 修改command.cfg配置文件。

3) 修改模板template.cfg配置文件。

4) 修改主机配置文件, 指令: use generic -switch, host -pnp。

5) 修改主机服务配置文件, 指令: use generic -swtich, srv-pnp。

6) 所有配置信息修改之后, 重启主配置文件nagios, 指令: service nagios restart。

(3) PNPNagios的工作模式有:

1) Synchronous模式, 2) Bulk模式, 3) 使用NPCD的Bulk模式, 4) 使用npcdmod的Bulk模式, 5) Gearman模式。

5 结语

介绍了Nagios基本的工作原理之后, 主要介绍Nagios监测软件具有的服务功能, 以及实现Nagios监测服务功能所需要主要的几种插件。 介绍Nagios 3 种服务功能, 这3 种服务功能是交换机的配置服务功能, Nagios与My SQL数据库服务功能和Nagios数据图像化的功能, 以及实现这三种服务所需的插件。

参考文献

[1]李军.开源监控软件Nagios及其应用研究[J].电子制作, 2014, (14) :29-30.

[2]丁美珍, 黄晨.基于Nagios的网络监控系统的设计与实现[J].信息技术与信息化, 2015, 9 (4) :100-103.

[3]李元雄.构建基于nagios的图像化服务器监控报警平台[J].软件导刊, 2011, 10 (7) :154-155.

[4]和荣, 肖海力.基于Nagios的监测平台的设计与实现科研[J].信息化技术与应用, 2014, 5 (5) :77-85.

[5]王忠鹏.基于Nagios的交换机监控系统设计与实现[J].技术研究, 2013, (5) :60-63.

【nagios监控】推荐阅读:

医疗监控07-15

消防监控05-14

汽车监控05-16

监控作用05-24

输液监控05-25

监控机房06-01

监控通信06-02

农业监控06-03

矿山监控06-04

监控计算06-04

上一篇:课后作业下一篇:HXD1