欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

如何编写 Nagios 插件

发布时间:2025/3/20 27 豆豆
生活随笔 收集整理的这篇文章主要介绍了 如何编写 Nagios 插件 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

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

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

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

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

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

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

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

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

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


  • #!/usr/bin/env python  


  • import os,sys  


  • (d1, d2, d3) = os.getloadavg()  


  • if d1 >= 5.0:  


  • print "GETLOADAVG CRITICAL: Load average is %.2f" % (d1)  


  • sys.exit(2)  


  • elif d1 >= 2.0:  


  • print "GETLOADAVG WARNING: Load average is %.2f" % (d1)  


  • sys.exit(1)  


  • else:  


  • print "GETLOADAVG OK: Load average is %.2f" % (d1)  


  • sys.exit(0)  



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

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

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


  • define command{  


  • command_name check_mygetloadavg  


  • command_line /path/to/check_getloadavg  


  • }  



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


  • define service{  


  • use service-template  


  • host_name localhost  


  • service_description LoadAverage  


  • check_period 24x7  


  • contact_groups server-admins  


  • notification_options c,r  


  • check_command check_mygetloadavg  


  • }  



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


    转载于:https://blog.51cto.com/fccwcom/1211467

    总结

    以上是生活随笔为你收集整理的如何编写 Nagios 插件的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。