PHP scripts to display a more user-friendly overview of nagios status
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

ObjectFileParser.php 1.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?PHP
  2. require_once(dirname(__FILE__) . '/FileParser.php');
  3. class ObjectFileParser extends FileParser {
  4. private $hosts = array();
  5. private $services = array();
  6. protected function parse_line($line) {
  7. $index = strpos($line, "\t");
  8. return array(substr($line, 0, $index) => substr($line, 1 + $index));
  9. }
  10. protected function parse_blockname($name) {
  11. return substr($name, 7);
  12. }
  13. protected function parse_command($data) {}
  14. protected function parse_service($data) { $this->services[$data['host_name']][$data['service_description']] = $data; }
  15. protected function parse_servicegroup($data) {}
  16. protected function parse_host($data) { $this->hosts[$data['host_name']] = $data; }
  17. protected function parse_hostextinfo($data) {}
  18. protected function parse_hostgroup($data) {}
  19. protected function parse_contact($data) {}
  20. protected function parse_contactgroup($data) {}
  21. protected function parse_timeperiod($data) {}
  22. protected function analyse() {
  23. foreach ($this->hosts as $hostname => $data) {
  24. $this->hosts[$hostname]['services'] = $this->services[$hostname];
  25. }
  26. unset($this->services);
  27. }
  28. public function getHosts() { return $this->hosts; }
  29. public function __construct($file = '/var/cache/nagios3/objects.cache') {
  30. parent::__construct($file);
  31. }
  32. }
  33. ?>