Nagios事件代理接口:功能、架构与实践
1. 引言
Nagios事件代理接口是Nagios 2.0内核系列中的新特性,也是Nagios最强大的接口之一。不过,要使用它需要一定的C编程知识。即便你只是对C有初步了解,本文也能帮助你扩展Nagios的功能。
2. C语言中的函数引用和回调
- 函数指针:函数指针类似于变量指针,但它指向的是函数的内存地址,而非某种类型的变量。在C编程中,函数指针的使用并不常见,因为很难找到简单且实用的例子。不过,在大型C程序(如Nagios)中,函数指针能实现优雅的软件工程。
- 回调函数:回调函数将其他函数的指针作为初始化参数。当有趣的事件发生时,Nagios可以使用传递的函数指针回调对该特定类型事件感兴趣的事件处理程序。
以下是一个使用函数指针的示例代码:
void main(){ /* ****************************************** Here we have two functions, one that converts Celsius to Fahrenheit and one that does the opposite. ****************************************** */ int c2f( int c ) { return (9/5)*c+32; } in