wistof
21st April 2005, 17:12
Bonjour,
je viens de découvrir le projet Oreon, et je l'ai installé sur ma mandrake 10.2 . Ca semble fonctionner (avec les spécificitées de la mandrake).
J'ai activé le support de Nagios 2 avec user_version
Pour le moment, je bute sur le parsing du fichier "status.dat" qui sert à la création de l'object $Logs, si j'ai bien tout compris.
La structure du fichier "status.dat" est différente entre la version 1 et 2, et le code semble ne géré que la version 1.
J'ai isolé la fonction de parsing ( :?: )
// Read
while ($str = fgets($log_file))
{
// set last update
$last_update = date("d-m-Y h:i:s");
if (!preg_match("/^\#.*/", $str)){
// get service stat
if (preg_match("/^[\[\]0-9]* SERVICE[.]*/", $str)){
$log = split(";", $str);
$this->sv[$log["3"]]++;
if (isset($host[$log["1"]]) && isset($host_services[$log["1"]][$log["2"]]))
$this->log_h[$host[$log["1"]]]->log_s[$host_services[$log["1"]][$log["2"]]] = new Log_s($host_services[$log["1"]][$log["2"]], $log);
}
// get host stat
if (preg_match("/^[\[\]0-9]* HOST[.]*/", $str)){
$log = split(";", $str);
$this->host[$log["2"]]++;
if (isset($host[$log["1"]]))
$this->log_h[$host[$log["1"]]] = new Log_h($host[$log["1"]], $log);
}
if (preg_match("/^[\[\]0-9]* PROGRAM[.]*/", $str)){
$log = split(";", $str);
$this->log_p = new Log_p($log, $this->log_p->status_proc);
}
}
}
Je vais essaye de travailler autour de ça, mais il me manque un exemple de fichier "status.dat" pour comprendre le fonctionnement actuelle.
Quelqu'un pourrait m'en fournir un ?
Merci
je viens de découvrir le projet Oreon, et je l'ai installé sur ma mandrake 10.2 . Ca semble fonctionner (avec les spécificitées de la mandrake).
J'ai activé le support de Nagios 2 avec user_version
Pour le moment, je bute sur le parsing du fichier "status.dat" qui sert à la création de l'object $Logs, si j'ai bien tout compris.
La structure du fichier "status.dat" est différente entre la version 1 et 2, et le code semble ne géré que la version 1.
J'ai isolé la fonction de parsing ( :?: )
// Read
while ($str = fgets($log_file))
{
// set last update
$last_update = date("d-m-Y h:i:s");
if (!preg_match("/^\#.*/", $str)){
// get service stat
if (preg_match("/^[\[\]0-9]* SERVICE[.]*/", $str)){
$log = split(";", $str);
$this->sv[$log["3"]]++;
if (isset($host[$log["1"]]) && isset($host_services[$log["1"]][$log["2"]]))
$this->log_h[$host[$log["1"]]]->log_s[$host_services[$log["1"]][$log["2"]]] = new Log_s($host_services[$log["1"]][$log["2"]], $log);
}
// get host stat
if (preg_match("/^[\[\]0-9]* HOST[.]*/", $str)){
$log = split(";", $str);
$this->host[$log["2"]]++;
if (isset($host[$log["1"]]))
$this->log_h[$host[$log["1"]]] = new Log_h($host[$log["1"]], $log);
}
if (preg_match("/^[\[\]0-9]* PROGRAM[.]*/", $str)){
$log = split(";", $str);
$this->log_p = new Log_p($log, $this->log_p->status_proc);
}
}
}
Je vais essaye de travailler autour de ça, mais il me manque un exemple de fichier "status.dat" pour comprendre le fonctionnement actuelle.
Quelqu'un pourrait m'en fournir un ?
Merci