使用PHP控制Nagios

使用PHP控制Nagios,php,Php,要使用Nagios监控主机和某些服务,我们必须使用以下内容编辑文本文件: define host{ use <template> host_name <name> alias <alias> address <IP> } define service{ use <template> host_name <name> service_description <desc> check_command <com

要使用Nagios监控主机和某些服务,我们必须使用以下内容编辑文本文件:

define host{
use <template>
host_name <name>
alias <alias>
address <IP> }

define service{
use <template>
host_name <name>
service_description <desc>
check_command <command> }
定义主机{
使用
主机名
别名
地址}
定义服务{
使用
主机名
服务描述
检查_命令}
我有一个界面,我可以用PHP语言做类似的事情。我有两个函数addServiceNagios($hostname,$service,$command)和addHostNagios($hostname,$hostIP),其中信息放在文件中。现在我有一个大问题:


无论发生什么情况,信息始终被放置。。如果主机已存在,或者服务已分配给主机。检查主机是否已定义的最佳方法是什么?这些服务是否有关联?如果我想删除与主机关联的服务?提前感谢。

我将构建一个解析器,解析文件中的语法,以便能够在更易于访问的数据结构(如数组)中显示相同的数据

根据文件的大小,阵列可以存储偏移量等附加信息。。不过,在解析器旁边,编写一个转储程序将此数组结构转储回文件更容易。因此,每次重写整个文件时,都会使用实际数据

然后,您可以轻松地对数组结构执行添加和删除操作,同时注意文件的读写工作


因此,您已将问题彼此分离。

您是否尝试使用基于NagiosQL PHP的配置编辑器?