nagios外部监控脚本编写

合集下载

Nagios监控路由器和交换机设备

Nagios监控路由器和交换机设备

Nagios监控路由器和交换机设备1.功能介绍Nagios可以监控有IP可管理的交换机和路由器的设备状态.对小型无管理功能的交换机和HUB是无法监控.监控的方式是通过外部的ping所反馈的信息或者通过SNMP协议来获取相关的状态信息.能够在网络设备上获取的信息包括:包丢失率,包往返时间平均值SNMP状态信息带宽和传输数率2.概述监控的方式有两种一种是利用ping的方式,获取数据包的响应时间和丢包率另一种是利用网络设备的SNMP数据,通过check_snmp获取端口状态和check_mrtgtraf来了解带宽状况.在使用check_snmp之前必须安装snmp包到系统中.如果没有安装则需要先安装好snmp系统包,然后再重新编译nagios plugins3.配置步骤完成第一次执行需要做的操作创建新的监控设备主机和服务对象重新启动Nagios4.确认一下内容在/usr/local/nagios/etc/objects/commands.cfg里面是否包含了check_snmp和check_local_mrt gtraf的命令定义在/usr/local/nagios/etc/objects/templates.cfg里面是否包含了generic-switch5.配置Nagiosa.编辑/usr/local/nagios/etc/nagios.cfg将#cfg_file=/usr/local/nagios/etc/objects/switch.cfg前面的#去掉b.编辑/usr/local/nagios/etc/object/switch.cfg文件设定监控主机的相关内容define host{use generic-switch ; Inherit default values from a templatehost_name Gateway ; The name we're giving to this switchalias Firewall ; A longer name associated with the switchaddress 192.168.200.1 ; IP address of the switchhostgroups allhosts,switches ; Host groups this switch is associated with}监控包的丢失率和RTA响应时间define service{use generic-service ; Inherit values from a templatehost_name Gateway ; The name of the host the service is associated withservice_description PING; The service descriptioncheck_command check_ping!200.0,20%!600.0,60% ;在超过200ms或丢包率在20%上的启动警告,超过600ms或丢包达到60%的启动报警normal_check_interval 5; 在正常情况下,每五分钟监控一次retry_check_interval 1; 在异常情况下,每分钟监控一次}利用SNMP监控交换和网关设备define service{use generic-service ; Inherit values from a templatehost_name Gatewayservice_description Uptimecheck_command check_snmp!-C public -o sysUpTime.0}利用MRTG来监控网络流量信息define service{use generic-service ; Inherit values from a templatehost_name Gatewayservice_description Port 1 Bandwidth Usagecheck_commandcheck_local_mrtgtraf!/var/lib/mrtg/192.168.200.1_1.log!AVG!1000000,2000000!5000000,5000000!10 }利用command里面设定的check_local_mrtgtraf获取本地保存的mrt g流量日志信息来监控,获取文件是/var/lib/mrt g/192.168.200.1_1.log获取数据值是采取AVG的值,数值在1M~2M之间,则状态改为warning,如果超过5M的话则状态改为critical 完成配置后service nagios restart。

nagios监控mysql详细配置

nagios监控mysql详细配置

Nagios监控mysql工作原理利用特定的用户定期访问指定的mysql数据库。

当不能访问或连不通时则报警。

配置过程如下1、在生产库上安装nagios插件,以nagios-plugins-1.4.15为例来讲述整个配置过程进入nagios-plugins-1.4.15 目录./configure 编译然后是编译完显示一定要有mysql支持,不然没有check_mysql这个插件config.status: creating po/Makefile--with-apt-get-command:--with-ping6-command: /bin/ping6 -n -U -w %d -c %d %s--with-ping-command: /bin/ping -n -U -w %d -c %d %s--with-ipv6: yes--with-mysql: /usr/bin/mysql_config--with-openssl: yes--with-gnutls: no--enable-extra-opts: no--with-perl: /usr/bin/perl--enable-perl-modules: no--with-cgiurl: /nagios/cgi-bin--with-trusted-path: /bin:/sbin:/usr/bin:/usr/sbin--enable-libtap: noMake all&&make install插件安装完毕再安装nrpe 安装过程略同时是编译安装三步曲:./configure make make install2、配置mysqlmysql> create database nagios; //建立nagios专用数据Query OK, 1 row affected (0.00 sec)mysql> grant select on nagios.* to nagios@'%' identified by '######'; //建立nagios专用用户权限只给select就OK,给多了不安全。

基于Nagios构建企业级信息系统监控方案

基于Nagios构建企业级信息系统监控方案

基于Nagios构建企业级信息系统监控方案作者:武冬春来源:《计算机光盘软件与应用》2013年第16期摘要:企业信息系统中的服务器、网络等基础设施的稳定运行是保障业务正常运行的基础。

而要保证这些基础设施稳定、高效的运行,设备故障及时有效的发现、设备运行状态信息及时有效的展示就显得十分重要,信息系统的有效监控已成为信息系统管理的重要问题。

大中型企业内部存在着成百上千台服务器、网络等设备,如何实现对这些设备的有效监控,并且高效的解决各类系统故障,保障系统稳定、高效的运行呢?本文主要对Nagios监控功能进行分析,论述了如何利用它去监控服务器等设备。

关键词:nagios;监控;网络管理中图分类号:TP393.18随着企业信息系统的不断建设,庞大的服务器等基础设施的有效监控已成为信息系统管理的重要问题。

依靠人工巡检的方式对于系统故障、潜在风险及安全隐患的发现效率越来越差,为提高发现故障的及时性、把运维人员从繁重的工作中解放出来,亟需引入新的工具来协助工程师解决当前的问题。

该工具能够实现对各类IT设备的监视和管理,提高基础设施的服务质量和效率,因此自动化工具对于运维人员就十分必要。

Nagios是一种开源网管软件,利用它可以实现对企业中的服务器、网络等设备进行全面的监控。

1 Nagios介绍1.1 Nagios简介Nagios是一款开源的监视系统运行状态的网管监控系统。

它能监视本地或远程设备以及服务,同时提供异常告警通知功能等。

Nagios能运行在Linux/Unix平台,状态监测等可实现利用WEB浏览器展示。

1.2 Nagios的主要功能特点监视服务状态(SMTP,POP3,FTP,HTTP,PING等)监视资源利用率(CPU、内存,磁盘I/O等)利用插件方式轻松扩展监视功能支持各类服务等监视的并发处理功能支持错误通知功能(通过email,短信等方法)可指定自定义的事件处理控制器基于WEB浏览器的界面以方便维护人员查看被监控端状态支持通过手机终端查看监控信息1.3 Nagios工作原理Nagios的功能是监控服务和主机,Nagios的监控、检测功能都是依赖各种插件来完成。

基于Nagios的交换机监控系统设计与实现

基于Nagios的交换机监控系统设计与实现
a s wi t c h e s mo n i t o r i n g s ys t e m wh i c h ma ke s f ul l u s e o f t he S NM P t o mo ni t o r t h e s wi t c h. Wh e n s o me t h i ng wr o n g wi h t s wi t c h e s . t h e s y s t e m wi l 1 s e n d a n a l e r t s ms n o t i i f c a t i o n t o he t n e wo t r k a d mi n i s t r a t o r s f o r t a k i ng f u r t h e r a c t i o n i n o r d e r
( 中 国民航 大学计算机 学院 ,天津 3 0 0 0 0 0)
摘 要 :针 对 企 业 中交换机 数 量繁 多 ,汇聚层 交换 机 、接入 层 交换 机部 署 物理 位 置分散 难 以统一 管理
的现 状 ,文章 在 L i n u x系统上 设计 并 实现 了一 个 交换机 监控 系统 。该 系统 以 Na g i O S 为核 心 ,集成 简单 实用
a na l yz i ng t he h i s t o r y mo n i t o r i n g d a t a c o ul d he l p o p t i mi z e t he n e w o t r k s t r uc t ur e , a nd c o n ir f m t h e a b no r ma l c o n di t i on , a nd in f a l l y t hi s s ys t e m wi l l i n c r e as e n e w o t r k u t i l i z a t i o n r a t i o ,i mpr o v e t h e s wi t c h’ S l o a d b a l a nc e ,a n d p r e v e n t t h e

nagios监控端安装配置手册

nagios监控端安装配置手册

一、系统环境与软件版本情况本文档使用被监控机的操作系统为rhel6.3 _64位。

监控主机操作系统为rhel6.0 _64位及windows 2003,nagios主服务版本Nagios® Core™ 3.2.3,linu被监控机与主监控通信插件NRPE版本为nrpe-2.8.1。

window被监控机与主监控服务软件为NSClient++-0.2.7所使用的软件如下nrpe-2.8.1.tar.gzNSClient++-0.2.7.zip二、安装配置过程。

因为系统安装大家都非常熟悉了此次略过操作系统安装过程,首先是linux环境下被监控机的安装配置过程。

在安装之前先写个nagios监控非本地信息的原理图主监控机被监控机NRPE总共由两部分组成:–check_nrpe 插件,位于在监控主机上–NRPE daemon,运行在远程的linux主机上(通常就是被监控机)按照上图,整个的监控过程如下:当nagios需要监控某个远程linux主机的服务或者资源情况时1.nagios会运行check_nrpe这个插件,告诉它要检查什么.2.check_nrpe插件会连接到远程的NRPE daemon,所用的方式是SSL3.NRPE daemon会运行相应的nagios插件来执行检查4.NRPE daemon将检查的结果返回给check_nrpe插件,插件将其递交给nagios做处理.注意:NRPE daemon需要nagios插件安装在远程的linux主机上,否则,daemon不能做任何的监控.因为使用rehl线上的yum源安装需要授权,所以先使用iso搭个本地的yum源。

mount /dev/cdrom /mnt/cdrom/ 挂载光驱mkdir /home/rehliso 创建yum源目录。

cp -Rf /mnt/cdrom/* /home/rehliso/ 拷贝安装文件到源目录cd /etc/yum.repos.d/ 切换至yum配置文件目录cp rhel-source.repo rhel-source.repo.bak 备份配置文件vi rhel-source.repo 编辑配置文件,删除之前内容加入[rhel_6_iso]name=local isobaseurl=file:///home/rehlisogpgcheck=1gpgkey=file:///home/rehliso/RPM-GPG-KEY-redhat-release保存退出Yum clean all清除YUM缓存因为是用二进制安装包进行安装所以要先安装gcc编译器yum -y install gcc 安装gcc编译器安装完成后用sftp上传安装文件nrpe-2.8.1.tar.gz, nagios-plugins-1.4.13.tar.gz至/usr/local/src/目录下创建nagios用户Userad nagiosPasswd nagiosCd /usr/local/src 切换至/usr/local/src/目录解压安装包tar zxvf nagios-plugins-1.4.13.tar.gzcd nagios-plugins-1.4.13编译安装./configuremakemake install这一步完成后会在/usr/local/nagios/下生成两个目录libexec和share修改目录权限把权限所属chown nagios.nagios /usr/local/nagios/chown -R nagios.nagios /usr/local/nagios/libexec/至此被监控机nagios插件已经安装完成,接下来就是安装nrpe服务了切换至软件包目录Cd /usr/local/src解压安装文件tar zxvf nrpe-2.8.1.tar.gzcd nrpe-2.8.1编译安装./configurechecking for SSL... configure: error: Cannot find ssl libraries 出现了该错误主要是因为监控主机插件check_nrpe与被监控nrpe服务的通信是通过ssl方式连接的所以必须安装sslyum -y install openssl-devel 所以这个可以在gcc安装时顺便也安装了ssl安装完成后重新./configure*** Configuration summary for nrpe 2.8.1 05-10-2007 ***:General Options:-------------------------NRPE port: 5666NRPE user: nagiosNRPE group: nagiosNagios user: nagiosNagios group: nagiosReview the options above for accuracy. If they look okay,type 'make all' to compile the NRPE daemon and client.成功后会出现以上安装的基本信息接下来编译安装make allmake install-daemonmake install-daemon-configmake install-plugin 安装check_nrpe这个插件之前说过监控机需要安装check_nrpe这个插件,被监控机并不需要,我们在这里安装它是为了测试的目的安装xinetd脚本make install-xinetd这里还要补充一下因为官网的安装文档是将NRPE deamon作为xinetd下的一个服务运行的.在这样的情况下xinetd就必须要先安装好,所以还得确定系统是否已经安装了xinetd的服务[root@localhost nrpe-2.8.1]# service xinetd restartxinetd: unrecognized service服务并未安装yum -y install xinetd 安装xinetd服务安装完成后修改配置文件vi /etc/xinetd.d/nrpeservice nrpe{flags = REUSEsocket_type = streamport = 5666 端口wait = nouser = nagios 用户group = nagios 用户组server = /usr/local/nagios/bin/nrpeserver_args = -c /usr/local/nagios/etc/nrpe.cfg --inetdlog_on_failure += USERIDdisable = noonly_from = 127.0.0.1,192.168.1.243}only_from = 127.0.0.1,192.168.1.243在后面增加监控主机的地址192.168.1.243以空格间隔编辑/etc/services文件,增加NRPE服务端口添加如下信息nrpe 5666/tcp #nrpe查看防火墙是否启动chkconfig iptables –list如果启动需要添加5666端口的开放规则vi /etc/sysconfig/iptables-A INPUT -m state --state NEW -m tcp -p tcp --dport 5666 -j ACCEPT添加该条目service iptables restart 重启iptables服务重启xinetd服务service xinetd restart检查服务端口状态[root@localhost ~]# netstat -natp |grep 5666tcp 0 0 :::5666 :::* LISTEN 1959/xinetd 服务端口已经启动测试NRPE是否则正常工作之前我们在安装了check_nrpe这个插件用于测试,现在就是用的时候.执行[root@localhost ~]# /usr/local/nagios/libexec/check_nrpe -H localhostNRPE v2.8.1返回了版本信息说明nrpe已经正常的工作了。

Nagios监控Linux主机(NRPE安装与应用)

Nagios监控Linux主机(NRPE安装与应用)

Nagios监控Linux主机(NRPE安装与应用)一、NRPE简介及工作原理NRPE是nagios的一个扩展,它被用于被监控的服务器上,向nagios监控平台提供该服务器的一些本地的情况。

例如,cpu负载、内存使用、硬盘使用等等。

NRPE可以称为nagios 的for linux 客户端。

NRPE 由两个部分组成:工作在监控机一侧的check_nrpe 插件、工作在被监控机一侧的NRPE 守护进程。

Nagios 服务器执行check_nrpe 插件并告诉他检查哪个服务,check_nrpe 插件通过SSL 连接方式联系远程服务器上的NRPE 守护进程,NRPE 守护进程执行相应的插件完成指定的检查,并返回结果。

工作原理是:插件nrpe在被监控机上开启一个daemon,通过这个daemon来和监控主机建立一条ssl加密通道,通过这条通道来传送被监控机的本地信息,达到监控的目的。

装在被监控机上的daemon就相当于一个nagios的传递员,命令行从nagios监控主机发出,然后daemon接受到信息,就会执行这条命令行,执行的方式,其实是和nagios主机是一样的,所以被监控机上也需要装一套nagios-plugins插件。

例如:nagios主机需要监控被监控机的硬盘信息,就会对被监控机发出一条命令说:“我要看你的硬盘信息。

”被监控机nrpe的daemon接到这个命令之后,就会运行一个插件,来检查被监控机本地硬盘的信息,然后插件把信息反馈到nrpe,nrpe通过ssl通道再把这些信息反馈到nagios主机。

如下图所示二、NRPE安装1、所需安装包nrpe、nagios-plugins,这两个包都可以从上得到,本例为nrpe-2.12.tar.gz2、安装openssl、openssl-devel;yum install -y opensslyum install -y openssl-devel3、安装nrpe和nagios-plugins插件1)安装nagios-plugins,在安装时首先在被监控机上新建nagios用户及组。

基于Linux的Nagios服务器监控系统的研究与实现

基于Linux的Nagios服务器监控系统的研究与实现
a d d tcin f rr moe s r es n ee t o e t e v r . o Ke r s Na is e v r l g i y wo d : go ;s r e ;p u - n;NRP E;L n x iu
0 引 言
随着我 国各行各业 信息化 的迅速普 及 , 机房 作为

N g s 一款遵 循 G L 2的开 源 网络监 控软件 , ai 是 o Pv 可用来 监控指定 的 多种 系 统 的 变化 时 通 知 管 理 员… 。N go ai s通
常 由一个 主程序 ( ai ) 一 个插 件程 序 ( ai —l— N go 、 s N go pu s
gn ) 4个 可 选 的 A D N( R E、 S A、 S l n is 和 D O N P N C N Ci t e
+ +和 N O ts组 成。N go D Ui ) l ais的监 控 工 作 都是 通 过
插件 实 现 的。 因 此 , ai N g s和 N g spu i o ai —lg s是 服 务 o n
果单 靠 人工去 监测这 么 多服 务器 显然 既 不科 学 也 不
现实 。
因此 , 一个能够 实时监测 服务器 系统 的软件 对 于
远程 LnxU i iu/ nx主机 主 动将 监 控 信息 发 送 给 N g s ai o
服务 器 ; S l n + 是 用来监 控 Widw 主机时安 装 N Ci t + e no s
c n mo i rs r e n n t o k e t ey h sp p r td e h t o t k s f go l g n v i b et c iv n tr g a n t e v ro ew r n i l .T i a e u ist a w ma e u e o isp u i sa al l oa h e e mo i i o r s h o Na a on

nagios监控软件介绍

nagios监控软件介绍

//安装外部命令 //安装 apache 配置文件。 //安装 exfoliation theme(功能未知) //安装 classic theme for nagios //解压插件
cd nagios-plugins-1.4.11
./configure --with-nagios-user=nagios --with-nagios-group=nagios
Disk_Free
check_command
ห้องสมุดไป่ตู้
check_nrpe!check_hda1
}
define service{
use
generic-service
host_name
nagios-test1,nagios-test2
service_description
Total_Processes
check_command
2. nagios 能监控什么? 答:nagios 可以监控 a.主机是否宕机(通过 ping 命令,如果 ping 不通会认为主机属于 宕机状态,但不影响所监控的其他服务);b.服务器资源(cpu 使用率、硬盘剩余空间等); c.网络服务(smtp\pop3\http\);d.监控网络设备(路由器、交换机等。)
make install
//安装命令
make install-init
//安装脚本
make install-config
//安装样例配置文件
make install-commandmode make install-webconf make install-exfoliction make install-classicui tar xzf nagios-plugins-1.4.11.tar.gz
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

使用NAGIOS 平台开发监控应用服务
BY Country7th 2008年的秋天
●开发NAGIOS监控程序可以做什么用
正如现在已经运行的N A G I O S一样,它可以为相关人员带
到实时的服务运行状态信息,并在出现危急的时候告警通知相关
人员处理,有许多监控程序可用于监控不同的设备和服务,例
如:W E B服务、H T T P访问状态、C P U负荷、磁盘利用
率、内存占用、当前用户数,路由器和交换机运行状态等,还有
更多需求等着大家在工作发觉,通用N A G I O S进行监控
●NAGIOS监控服务原理
当需要检测主机或服务的状态时N a g i o s会执行一个外部
监控程序,外部监控程序总要做点事情(注意一般条件下)来完成
检查并给返回结果给N a g i o s系统,N a g i o s根据检测
结果来决定网络中的主机和服务的当前状态
外部监控程序根据操作系统的不同分为L I U N X和
W I N D O W S两类,插件是编译的执行文件或脚本(P e r l
脚本、P H P、S H E L L脚本等等),可以在命令行下执行对
主机或服务的状态检查。

N a g i o s将处理这些来自插件的结
果并做些该做的动作(运行事件处理、发送出邮件、短信、电话告
警通知等)
●外部监控程序输出到NAGIOS通信方式
●按指定标准输出返回值给NAGIOS系统的监控端(NSClient)
●输出到数据库由NAGIOS服务器端采集读取数据信息进行通信
●采用SNMP协议发送据由NAGIOS服务器端直接采集
●外部监控程序返回值给NAGIOS系统的监控端(NSClient)的输出格式
经讨论机房统一使用第一种通信方式开发以后所有的外部监控应用,以下将详
细介绍从外部监控程序到NAGIOS系统的监控端(NSClient)的输出格式
N a g i o s外部监控程序可以是任何操作系统的可执行的脚本
或都程序,N a g i o s外部监控程序并不关心外部监控程序的
内部细节,你可以根据要监控的情况,是T C P服务,数据库,或者硬盘空间等等,来编写自己的监控代码
一个外部监控程序首先要完成相应的监控功能,向N A G I O S 系统的监控端直接返回结果,外部监控程序必须完成以下格式输出值,内容可包括以下三项输出
(1)输出运行状态摘要[必须输出]
直接向外部输出一段当前状态的自定义说明文字,在NAGIOS浏览界面上显示
(2)输出运行状态[必须输出]
结果是运行、告警、未知和紧急四个状态之一,NAGIOS系统的监控端接收到返回值,将按照检测结果送出通知、记录警告等
1.正常(OK) :直接向外部输出“0”,NAGIOS接收到返回值”0”则表
示正常
2.告警(WARNING):直接向外部输出“1”,NAGIOS接收到返回
值”0”则表示告警
3.紧急(CRITICAL):直接向外部输出“2”,NAGIOS接收到返回值”0”
则表示紧急
4.未知(UNKNOWN):直接向外部输出“3”,NAGIOS接收到返回
值”3”则表示未知
(3)输出性能数据(图表)格式[可选输出]
输出性能数据是可选的,必须用管道符(|)把性能数据与其他数据分开,可同时输出多行性能数据。

在管道符(|)后为此性能项命名,并赋一个当前值,跟随依次分号(;)分别表示“告警值”,“紧急值”,“最小值”,“最大值”,N A G I O S 系统接收到返回值包含性能数据串的内容后,将会调用R R D T o o L输出性能报表
示例:向NAGIOS返回10分钟内CPU平均利用率是否正常
注(示例以Delphi呈现)
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
perfstr:string;
cpustatus:string;
begin
{ TODO -oUser -cConsole Main : Insert code here }
...
检查代码
...
if cpustatus = ok then
write('CPU status OK')//向NAGIOS返回CPU当前运行状态为OK的显示摘要
else if cpustatus = critical then
write('CPU status CRITICAL');//向NAGIOS返回CPU当前运行状态为 CRITICAL的显示摘要 ...
检查代码
...
perfstr := '|10 min avg Load=';//合成性能信息
perfstr := perfstr+inttostr(10);//将此处的10换成实际的当前CPU利用率
perfstr := perfstr++';90;95;0;100';//定义性能图表显示指标
write(perfstr);//输出性能参数
...
检查代码
...
if cpustatus = ok then
exitcode:= 0//返回值为0表示向NAGIOS返回当前检查服务运行正常
else if cpustatus = warning then
exitcode:= 1//返回值为1表示向NAGIOS返回当前检查服务运行告警
else if cpustatus = critical then
exitcode:= 2;//返回值为2表示向NAGIOS返回当前检查服务运行紧急
end.
NAGIOS系统接收到返回值在浏览器看查看到的图示
NAGIOS系统接收到性能数据返回值在浏览器看查看到的图示
●联系人概念
当服务或主机问题产生与解决时将告警发送给预先指定的联系人(通过电话、短信、用户定义方式)
●配置人员概念
一个符合NAGIOS的外部监控程序开发完成后,提交给NAGIOS的配置人员进行监控平台的配置,从而完成一个监控报警服务的最后阶段。

相关文档
最新文档