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