如何编写 Nagios 插件

很早就用上了redis,当时没有找到nagios监控redis的插件,好在redis也算稳定,基本没出过什么问题。

最近在网上找,还是没找到,准备自己写个了。过两天再发上来,其实nagios plugin也很简单,只要注意一下程序退出的状态码就行了。

Nagios 每次在查询一个服务的状态时,产生一个子进程,并且它使用来自该命令的输出和退出代码来确定具体的状态。退出状态代码的含义如下所示:

  • OK —退出代码 0—表示服务正常地工作。
  • WARNING —退出代码 1—表示服务处于警告状态。
  • CRITICAL —退出代码 2—表示服务处于危险状态。
  • UNKNOWN —退出代码 3—表示服务处于未知状态。

阅读全文

http://workaround.org/squid/nagios-plugin/check_squid 的脚本用来检测squid很好用,但有时会报错:

Parsing of undecoded UTF-8 will give garbage when decoding entities at /usr/lib/perl5/vendor_perl/5.8.5/LWP/Protocol.pm line 114.

原因是: HTML::HeadParser模块在使用parse()方法时,对没有编码的UTF-8会弄混,要保证在传值之前进行适当的编码。 参考:http://www.xinjiezuo.com/blog/?p=43

阅读全文

nagios配置文件的关系和理解

Nagios能实现的具体的功能正是通过配置文件来表现的。而这些配置文件之间有着千丝万缕的关系。比如services依赖于host,timeperiod和contactgroup等。

Nagios.cfg:这是nagios的主配置文件,它主要负责管理其他所有跟nagios有关的文件。他定义了nagios的日志文件,缓冲文件,状态信息存放文件等。还有其他所有的配置文件等。这些主要的配置文件如下:

阅读全文

作者的图片

阿辉

容器技术及容器集群等分布式系统研究

容器平台负责人

上海