`

nagios pnp - nagios脚本支持pnp绘图

阅读更多
【简单介绍】
这里介绍如何编写nagios脚本支持nagios图形化界面。重点在脚本的返回值的格式上。

【简单实例】

#!/bin/bash

# Determine memory usage percentage on Linux servers.

# Original write for RHEL3 for PC1 Project - jlightner 05-Jul-2005

#

# Modified for RHEL5 on mailservers.

# -Some of the escapes previously required for RHEL3's ksh not needed on RHEL5.

# -Changed comparisons to allow for decimal rather than integer values.

# jlightner 23-Jan-2009

#

# Usage: check_mem.sh WARNING CRITICAL

# Where WARNING and CRITICAL are the integer only portions of the

# percentage for the level desired.

# (i.e. 85% Warning & 95% Critical should be input only as "85 95".)

# Define Levels based on input

#

WARN=$1

CRIT=$2

# Setup standard Nagios/NRPE return codes

#

# Give full paths to commands - Nagios can't determine location otherwise

#

BC=/usr/bin/bc

GREP=/bin/grep

AWK=/bin/awk

FREE=/usr/bin/free

TAIL=/usr/bin/tail

HEAD=/usr/bin/head

# Get memory information from the "free" command - output of top two lines

# looks like:

# total used free shared buffers cached

# Mem: 8248768 6944444 1304324 0 246164 5647524

# The set command will get everything from the second line and put it into

# posiional variables $1 through $7.

#

set `$FREE |$HEAD -2 |$TAIL -1`

# Now give variable names to the positional variables we set above

#

MEMTOTAL=$2

MEMUSED=$3

MEMFREE=$4

MEMBUFFERS=$6

MEMCACHED=$7

# Do calculations based on what we got from free using the variables defined

#

REALMEMUSED=`echo $MEMUSED - $MEMBUFFERS - $MEMCACHED | $BC`

USEPCT=`echo "scale=3; $REALMEMUSED / $MEMTOTAL * 100" |$BC -l`

REALMEMUSEDmb=`echo "($REALMEMUSED)/1024" | $BC`

# Compare the Used percentage to the Warning and Critical levels input at

# command line. Issue message and set return code as appropriate for each

# level. Nagios web page will use these to determine alarm level and message.

#

#if [ `echo "5.0 > 5" |bc` -eq 1 ]

#then echo it is greater

#else echo it is not greater

#fi

if [ "`echo "$USEPCT > $CRIT" |bc`" == 1 ]

then echo "MEM CRITICAL - Memory usage = ${USEPCT}%, RealUsed=${REALMEMUSEDmb}MB |Used=${USEPCT}%;REALMEMUSED=${REALMEMUSEDmb}MB"

exit 2

elif [ "`echo "$USEPCT > $WARN" |bc`" == 1 ]

then echo "MEM WARNING - Memory usage = ${USEPCT}%, RealUsed=${REALMEMUSEDmb}MB |Used=${USEPCT}%;REALMEMUSED=${REALMEMUSEDmb}MB"

exit 1

elif [ "`echo "$USEPCT < $WARN" |bc`" == 1 ]

then echo "MEM OK - Memory usage = ${USEPCT}%, RealUsed=${REALMEMUSEDmb}MB|Used=${USEPCT}%;REALMEMUSED=${REALMEMUSEDmb}MB"

exit 0

else echo "MEM ERROR - Unable to determine memory usage"

exit 3

fi

echo "Unable to determine memory usage."

exit 3


正常情况下nagios脚本返回的值就是一个字符串变量,显示在“Status Information”列上。
为了支持pnp获取nagios的返回值,脚本返回中"|"号后的内容作为性能数据。
格式:

引用
'label'=value[UOM];[warn];[crit];[min];[max]



注意:

1. 多个性能数据之间用空格分割

2. label 可以包含任何字符

3. 如果label中包含空格、等号、或者单引号,则label需要用单引号来括起来

4. warn/crit/min/max可以为null值

value, min and max只能为负号“-” “0到9” 和小数点“.” 并且单位必须统一

例如:cpu_user=0.5%;99.9;-9;

5. 如果UOM单位是%,则min和max不需要再指定

6. UOM单位可以是如下: 默认空,表示数量(用于用户数、处理器数等)

       s    表示秒(也可以用us,ms)

       %   表示百分比

       B    表示字节(也可以用KB,MB,TB,GB)

       c    一个连续的计数(如:接口传输的字节数)

如内存监控的数据:

    # /usr/local/nagios/libexec//check_mem 90 95

    MEM OK - Memory usage = 18.700%, RealUsed=3003MB|Used=18.700%;REALMEMUSED=3003MB


图片显示:



【参考引用】
http://blog.chinaunix.net/uid-25266990-id-3437195.html
  • 大小: 90 KB
分享到:
评论

相关推荐

    nagios-snmp-plugins-1.2.tar.gz

    在实际应用中,Nagios SNMP Plugins不仅限于基本的监控,还可以结合脚本和第三方工具,实现更复杂的监控场景,如周期性收集设备性能数据,生成报表,或者与其他自动化工具集成,实现故障自动处理。 总结起来,...

    pnp4nagios-0.6.25

    这通常通过修改Nagios的配置,使Nagios使用PNP4Nagios的`pnp4nagios.pl`脚本来处理性能数据。同时,确保Nagios的CGI配置允许访问PNP4Nagios生成的图形。 一旦所有设置都完成,重新启动Nagios和相关的Web服务器,你...

    pnp4nagios-0.6.25.tar.gz资源包

    《Pnp4Nagios-0.6.25:监控优化与图形化的增强工具》 Pnp4Nagios,全称为"Performance Data Processor for Nagios",是一款专为Nagios设计的性能数据处理工具。Nagios是一款广泛使用的网络监控系统,能够实时监控...

    nagios-plugins-1.4.14.tar.gz

    《Nagios插件nagios-plugins-1.4.14详解》 Nagios是一款广泛使用的开源网络监控系统,它能够实时监控网络服务、主机状态以及各种系统资源,及时发现并报告问题,确保系统的稳定运行。而nagios-plugins是Nagios的...

    nagios-plugins-release-2.2.1.tar

    Nagios是一款强大的网络监控系统,它能够对网络服务、主机状态以及各种应用程序进行实时监控。"nagios-plugins-release-2.2.1.tar" 是Nagios插件的发布包,版本号为2.2.1。这个压缩文件包含了用于扩展Nagios核心功能...

    nagios-plugins-2.3.3.tar.gz

    Nagios是一款强大的网络监视系统,它能够实时监控网络服务、服务器状态以及各种网络设备,及时发现并报告问题。Nagios的核心在于其插件机制,这些插件负责执行具体的检查任务,包括但不限于检查网络连接、邮件服务器...

    nagios-plugins-1.4.9.tar.gz

    解压这个文件后,你会得到一个名为nagios-plugins-1.4.9的目录,其中包含了源代码和其他相关文件,如配置文件、文档和编译脚本。 在nagios-plugins-1.4.9中,有多个插件供用户选择和配置,每个插件都有特定的用途。...

    pnp4nagios-0.6.26.tar.gz

    **Pnp4Nagios 0.6.26 知识点详解** Pnp4Nagios是一款针对Nagios监控系统的数据处理和图形化工具,它旨在为Nagios提供性能数据处理(Performance Data Processing)和图表生成功能。在Nagios中,系统管理员可以监控...

    nagios-plugins-1.4.13.tar.gz.gz

    1. **兼容性**:nagios-plugins-1.4.13支持多种操作系统,包括Linux、Unix、Windows等,确保了跨平台的监控能力。 2. **丰富的插件集合**:该版本包含了大量的插件,如check_http用于检查HTTP服务,check_disk用于...

    pnp4nagios-0.6.14.tar.gz

    此外,Pnp4Nagios还支持动态更新,即数据一旦发生变化,图表会即时更新,确保用户始终掌握最新信息。 在安装Pnp4Nagios时,首先需要确保系统已经安装了Nagios和必要的依赖库,如GD库用于图像生成。解压“pnp4nagios...

    nagios-plugins-2.2.1.tar.gz

    6. **测试脚本**:Nagios插件通常附带一些测试脚本,用于验证插件功能是否正常。这些脚本可以帮助调试和确保插件的正确性。 7. **文档**:可能包括开发者文档、用户手册或者API参考,帮助用户理解和使用插件。 8. ...

    nagios-cn-3.2.3.zip

    Nagios是一款广泛使用的开源系统监控工具,它能够实时监控网络服务、服务器状态以及各种硬件资源,如CPU负载、磁盘空间和网络流量等。"nagios-cn-3.2.3.zip"是一个包含了Nagios中文版的压缩包,专为中文用户设计,...

    nagios-3.2.2.tar.zip

    - 配置Nagios,如:`./configure --prefix=/usr/local/nagios --with-httpd-conf=/etc/httpd/conf.d/ --with-nagios-user=nagios --with-nagios-group=nagios` - 编译源代码:`make` - 安装编译后的文件:`make ...

    pnp4nagios-0.6.6.tar.gz趋势图插件

    此外,Pnp4Nagios还支持与其他工具集成,如Icinga、Shinken等,以增强监控能力。 **总结** Pnp4Nagios-0.6.6是Nagios监控系统的重要补充,通过丰富的图表和数据处理功能,使得系统管理员能够更高效地监控和管理IT...

    nagios-plugins-2.1.1.tar.gz

    《Nagios插件nagios-plugins-2.1.1详解》 Nagios是一款广泛应用的开源系统监控工具,它能够实时监控网络服务、主机状态以及各种IT基础设施,及时发现并报告潜在的问题。Nagios的核心在于其强大的插件系统,而nagios...

    Nagios-Plugins-Memcached-0.02.tar.gz

    Nagios是一款强大的网络监控系统,它能够实时监控网络服务的状态,及时发现并报告问题,以确保系统的稳定运行。Nagios Plugins则是Nagios系统中的一个重要组成部分,它提供了多种检查工具,允许管理员检查各种服务的...

    pnp4nagios-0.6.15.tar.gz

    4. 报告生成:Pnp4Nagios支持生成定制化的报告,方便向管理层汇报网络运行状况。 五、总结 Pnp4Nagios作为Nagios的重要插件,为网络监控带来了强大的图形化展示功能,极大地提升了管理效率。了解并掌握Pnp4Nagios的...

    nagios-plugins-1.5.tar.gz nagios插件

    Nagios是一款强大的网络监控系统,它能够实时监控网络服务、主机状态以及各种网络设备,及时发现并报告问题。Nagios插件是Nagios系统的重要组成部分,它们是实现监控功能的具体工具,通过插件可以监测服务器的CPU...

    nagios-plugins-2.1.4.tar.gz

    《Nagios插件2.1.4:监控与警报的强大工具》 Nagios是一款广泛使用的开源网络监控系统,它能够实时监控网络服务、系统资源和应用程序的状态,一旦发现异常,会立即发出警报。而“nagios-plugins-2.1.4.tar.gz”则是...

Global site tag (gtag.js) - Google Analytics