如何编写 Nagios 插件

运维 系统运维
当你在使用Nagios时,想过为他亲手做几个插件么,本文就教大家编写几个简单的Nagios 插件!

Nagios 插件可以由自己编写,就不用在网上找了,具体工作过程如下:

  Nagios 的最激动人心的方面是可以轻松地编写您自己的插件,只需要了解一些简单的指导原则即可。为了管理插件,Nagios 每次在查询一个服务的状态时,产生一个子进程,并且它使用来自该命令的输出和退出代码来确定具体的状态。退出状态代码的含义如下所示:

  OK —退出代码 0—表示服务正常地工作。

  WARNING —退出代码 1—表示服务处于警告状态。

  CRITICAL —退出代码 2—表示服务处于危险状态。

  UNKNOWN —退出代码 3—表示服务处于未知状态。

  最后一种状态通常表示该插件无法确定服务的状态。例如,可能出现了内部错误。

  下面提供了一个 Python 示例脚本,用于检查 UNIX® 平均负载。它假定 2.0 以上的级别表示警告状态,而 5.0 以上的级别表示危险状态。这些值都采用了硬编码的方式,并且始终使用最近一分钟的平均负载。

#p#

  清单 5. Python 插件—示例工作插件

 

  1.   #!/usr/bin/env python  
  2.  
  3.   import os,sys  
  4.  
  5.   (d1, d2, d3) = os.getloadavg()  
  6.  
  7.   if d1 >= 5.0:  
  8.  
  9.   print "GETLOADAVG CRITICAL: Load average is %.2f" % (d1)  
  10.  
  11.   sys.exit(2)  
  12.  
  13.   elif d1 >= 2.0:  
  14.  
  15.   print "GETLOADAVG WARNING: Load average is %.2f" % (d1)  
  16.  
  17.   sys.exit(1)  
  18.  
  19.   else:  
  20.  
  21.   print "GETLOADAVG OK: Load average is %.2f" % (d1)  
  22.  
  23.   sys.exit(0)  
  24.  

 

  在编写了这个小的可执行插件之后,接下来是使用 Nagios 注册该插件,并创建一个检查平均负载的服务定义。

  这项工作也是非常简单的:使用下面的内容创建一个名为 /etc/nagios-plugins/config/mygetloadavg.cfg 的文件,根据下面的示例,向 services.cfg 文件添加一个服务。请记住,必须在 hosts.cfg 配置文件中定义 localhost。

  清单 6. 示例插件—使用 Nagios 进行注册

 

  1.   define command{  
  2.  
  3.   command_name check_mygetloadavg  
  4.  
  5.   command_line /path/to/check_getloadavg  
  6.  
  7.   }  
  8.  

 

  清单 7. 创建一个使用示例插件的服务

 

  1.   define service{  
  2.  
  3.   use service-template  
  4.  
  5.   host_name localhost  
  6.  
  7.   service_description LoadAverage  
  8.  
  9.   check_period 24x7  
  10.  
  11.   contact_groups server-admins  
  12.  
  13.   notification_options c,r  
  14.  
  15.   check_command check_mygetloadavg  
  16.  
  17.   }  
  18.  

 

通过阅读文章,你只要按上面步骤一步一步来,就能为自己的 Nagios 做几个有用插件!

【编辑推荐】

  1. 配置 新的Nagios
  2. 配置和安装Nagios所需的工具与命令
  3. FreeBSD 7.0上的nagios安装完全攻略
  4. nagios plugins之 check_http ZT
  5. Nagios图形化Pnp 安装和配置 ZT
  6. Redhat Nagios安装详解
责任编辑:赵鹏 来源: 网络转载
相关推荐

2011-04-06 16:02:26

Nagios插件

2011-06-27 17:24:37

Qt 插件

2011-03-22 10:48:28

Nagios监控

2011-03-21 13:10:14

Nagios插件

2011-03-21 10:42:44

Nagios插件

2011-03-23 13:29:43

配置Nagios系统

2011-03-25 17:06:55

Nagios插件plugins

2023-12-12 08:08:17

插件PRPulsar

2014-08-01 09:57:52

Node.jsNode.js插件

2011-03-22 14:16:17

Nagios安装

2013-01-10 09:36:19

NagiosNagios插件

2011-06-27 16:59:19

Qt 动态 插件

2011-03-22 09:07:13

Nagios监控memcached

2011-06-16 13:23:35

Qt 模块化 插件式

2015-05-07 14:45:40

Cocos 插件

2013-12-23 10:36:57

Nagios监控监测

2014-02-17 10:48:57

NagiosBGP会话

2011-08-22 12:25:05

nagios

2011-03-23 09:05:40

Nagios监控

2011-09-01 14:04:45

QT Webkit插件
点赞
收藏

51CTO技术栈公众号