1     监控服务和Nagios插件
监控服务是指对相关系统的具体业务进行抽象,归纳出一组操作序列,系统执行该操作序列的返回结果可以被作为检验该系统服务能力的一个量化指标,供监控系统进一步处理。
Nagios插件是Nagios提供的一种可通过扩展方式部署的组件,该插件支持Java、C\C++、php等多种语言开发,操作员通过修改配置文件和相应参数,就能很方便地将该插件集成到Nagios中,实现对目标系统的监控。
Nagios插件程序可以提供两个返回值,一个是插件的退出状态码,一个是插件在控制台打印的第一行数据。退出状态码可以被Nagios主程序作为判断被监控系统服务状态的依据,控制台打印的第一行数据可以被Nagios主程序作为被监控系统服务状态的补充说明。
Nagios主程序可识别的状态码和说明如下:
状态码     说明
0     OK
1     WARNING
2     CRITICAL
3     UNKOWN
     
2     Nagios插件程序开发原理
Nagios插件程序中需要调用监控服务规定的操作序列,并根据预先定义的规则,对返回结果进行分析,判断服务的当前状态,并以指定的状态码退出程序,同时将对该状态的说明不换行输出到控制台。
系统退出函数示例如下:
Java     System. exit(int status)
php     exit(status)
python     sys.exit(int status)
c/c++     return int status
sh     exit int status

控制台打印函数示例如下:
Java     System.out.println(String msg)
php     echo msg
python     print msg
c/c++     printf(“%s”,msg)/cout<<msg
sh     echo msg