Uploaded image for project: 'Observium'
  1. Observium
  2. OBS-4291

FortiGate BGP polling - Only peers on last VDOM are correctly monitored

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • None
    • Professional Edition
    • Poller

    Description

      Hello,

      On FortiGate multiple VDOM context, the discovery of BGP peers is correct but the polling isn't. Only peers of the last VDOMs are correctly monitored.

      For example :

      CMD[/usr/bin/snmpbulkwalk -Cr'20' -v2c -c '<Community>-<VDOM>' -Pud -OQUs -m BGP4-MIB -M /opt/observium/mibs/rfc:/opt/observium/mibs/net-snmp 'udp':'<hostname>':'161' bgpPeerState]

      CMD EXITCODE[0]
      CMD RUNTIME[0.0121s]
      STDOUT[
      bgpPeerState.10.255.4.92 = established
      bgpPeerState.10.255.4.93 = established
      bgpPeerState.10.255.4.133 = established
      bgpPeerState.10.255.4.134 = established
      bgpPeerState.78.153.231.172 = established
      bgpPeerState.78.153.231.173 = established
      ]
      SNMP STATUS[TRUE]

      > $af_list /opt/observium/includes/polling/bgp-peers.inc.php:243
      array()

      SQL[SELECT * FROM `bgpPeers` WHERE `device_id` = '231']
      ROWS[50]
      SQL RUNTIME[0.00071716s]

      Peer: 10.255.4.92 (State = , AdminStatus = )
      [ polled 1666613815 -> period 54 ]
      RRD /opt/observium/rrd/<hostname>/bgp-10.255.4.92.rrd already exists - no need to create.

      RRD CMD[update <hostname>/bgp-10.255.4.92.rrd N:U:U:U:U:U --daemon unix:/var/run/rrdcached.sock]
      RRD RUNTIME[0.0011s]
      RRD STDOUT[OK u:0.01 s:0.00 r:0.84]
      RRD_STATUS[TRUE]

      SQL[UPDATE `bgpPeers` set `bgpPeerInUpdates` ='',`bgpPeerOutUpdates` ='',`bgpPeerInTotalMessages` ='',`bgpPeerOutTotalMessages` ='',`bgpPeerFsmEstablishedTime` ='',`bgpPeerInUpdateElapsedTime` ='',`bgpPeer_polled` ='1666613815' WHERE `bgpPeer_id` = '17100']
      ROWS[0]
      SQL RUNTIME[0.00026393s]
      SQL WARNINGS[
       1366: Incorrect integer value: '' for column `observium`.`bgpPeers`.`bgpPeerInUpdates` at row 1
       1366: Incorrect integer value: '' for column `observium`.`bgpPeers`.`bgpPeerOutUpdates` at row 1
       1366: Incorrect integer value: '' for column `observium`.`bgpPeers`.`bgpPeerInTotalMessages` at row 1
       1366: Incorrect integer value: '' for column `observium`.`bgpPeers`.`bgpPeerOutTotalMessages` at row 1
       1366: Incorrect integer value: '' for column `observium`.`bgpPeers`.`bgpPeerFsmEstablishedTime` at row 1
       1366: Incorrect integer value: '' for column `observium`.`bgpPeers`.`bgpPeerInUpdateElapsedTime` at row 1
      ]
      Passed incorrect value to format_uptime()

       > $uptime /opt/observium/includes/common.inc.php:1421
      null
      Passed incorrect value to format_uptime()

        /opt/observium/includes/common.inc.php:1421
      null

      Full dump (anonymized) attached.

      I think the array $bgp_peers is erased by the content of the last VDOM and not completed step by step.

      Regards,

      Boris

      Attachments

        Activity

          People

            landy Mike Stupalov
            bpascault Boris PASCAULT
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: