, so habe ich ein paar Nagios CFG-Dateien, für Dienstleistungen, Hosts, Kontakte, etcPHP Machen Sie einen Array aus einer Textmuster (CFG-Datei)
ich diese CFG-Dateien mit PHP analysieren will Daten zu verarbeiten.
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 }
So will ich es analysieren mag:
contactgroup_name[0] = "VAP3";
alias[0] = "VAP3_PRE";
members [0] = "userz,userw";
contactgroup_name[1] = "VAP4";
alias[1] = "VAP4_PUSH";
members [1] = "userx, usery";
Und für Dienste-Datei:
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";
, damit ich es in meinem PHP-Skript einfach wie Arrays umgehen kann, das ist nur ein Beispiel für die CFG-Dateien, sie enthält mehr als diese drei Definitionen ... Vielleicht mit einem regex oder preg_match ...?
Erstellen Sie ein Array basierend auf den Namen, wenn es existiert, drücken Sie stattdessen die Daten - nur ein kurzer Gedanke. – Aaron