Announcement

Collapse
No announcement yet.

Erreur Nagvis 'PDOException' dans GlobalBackendcentreonbroker.php

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Erreur Nagvis 'PDOException' dans GlobalBackendcentreonbroker.php

    J'ai installé un CES 3.3 et Nagvis 1.8.5. Les deux ont fonctionné ensemble très peu de temps, et maintenant NagVis m'affiche des icônes bleues.
    Le problème viendrait du fichier GlobalBackendcentreonbroker.php, au niveau de cette fonction :

    Code:
        public function getHostState($objects, $options, $filters) {
            $queryGetHostState = 'SELECT
                h.alias,
                h.name,
                h.address,
                h.statusmap_image,
                h.notes,
                h.check_command,
                h.perfdata,
                h.last_check,
                h.next_check,
                h.state_type,
                h.check_attempt as current_check_attempt,
                h.max_check_attempts,
                h.last_state_change,
                h.last_hard_state,
                h.last_hard_state_change,
                h.checked as has_been_checked,
                h.state as current_state,
                h.output,
                h.acknowledged as problem_has_been_acknowledged,
                d.start_time as downtime_start,
                d.end_time as downtime_end,
                d.author as downtime_author,
                d.comment_data as downtime_data
                FROM hosts h
                LEFT JOIN downtimes d
                    ON (d.host_id = h.host_id AND d.service_id IS NULL AND d.start_time < UNIX_TIMESTAMP() AND d.end_time > UNIX_TIMESTAMP() AND d.deletion_time IS NULL)
                WHERE (d.downtime_id IS NULL OR d.downtime_id IN (
                                SELECT MAX(d.downtime_id) as downtime_id
                                    FROM downtimes d where d.host_id = h.host_id AND d.service_id IS NULL AND d.start_time < UNIX_TIMESTAMP() AND d.end_time > UNIX_TIMESTAMP() AND d.deletion_time IS NULL
                                )
                      )
                      AND h.enabled = 1 AND (%s)';
            if ($this->_instanceId != 0) {
                $queryGetHostState .= ' AND h.instance_id = ' . $this->_instanceId;
            }
            $queryGetHostState = sprintf($queryGetHostState, $this->parseFilter($objects, $filters));
    
            try {
                $stmt = $this->_dbh->query($queryGetHostState);
                    throw new PDOException('errorGettingHostState');
            } catch (\PDOException $e) {
                throw new BackendException(l('errorGettingHostState', array('BACKENDID' => $this->_backendId, 'ERROR' => $e->getMessage())));
            }
    (Pour que NagVis veuille bien s'ouvrir, j'ai rajouté le code qui est en bleu -- Je vous montre ainsi que je connais plutôt très mal PDO)

    Voici l'erreur qui s'affiche sur NagVis :
    Problem (Backend: centreonbroker): errorGettingHostStateOpts: {"BACKENDID":"centreonbroker","ERROR":0}
    Je voudrais donc résoudre l'erreur qui mène à une PDOException, pour éviter d'avoir à rafistoler du code sans trop le comprendre
    Merci d'avance
    Last edited by EllaStique; 12th July 2016, 15:30.
Working...
X