【发布时间】:2016-07-25 21:09:07
【问题描述】:
所以我有几个 Nagios CFG 文件,用于服务、主机、联系人等
我想用 PHP 解析这些 CFG 文件来处理数据。
ContactGroups.CFG
define contactgroup {
contactgroup_name VAP3
alias VAP3_PRE
members userz, userw }
define contactgroup {
contactgroup_name VAP4
alias VAP4_PUSH
members userx, usery }
Services.CFG
define service {
host_name HostA
service_description HostA_HD
contact_groups VAP2,VAP3 }
define service {
host_name HostB
service_description HostB_HD
contact_groups VAP3,VAP4 }
所以我想像这样解析它:
contactgroup_name[0] = "VAP3";
alias[0] = "VAP3_PRE";
members [0] = "userz,userw";
contactgroup_name[1] = "VAP4";
alias[1] = "VAP4_PUSH";
members [1] = "userx, usery";
对于服务文件:
host_name [0] = "HostA";
service_description [0] = "HostA_HD";
contact_groups [0] = "VAP2,VAP3";
host_name [1] = "HostB";
service_description [1] = "HostB_HD";
contact_groups [1] = "VAP3,VAP4";
所以我可以像数组一样在我的 PHP 脚本中轻松处理它,这些只是 CFG 文件的一个示例,它们包含的不仅仅是这三个定义...也许使用正则表达式或 preg_match...?
【问题讨论】:
-
根据名称创建一个数组,如果存在则推送数据 - 快速思考一下。