HEX
Server: LiteSpeed
System: Linux spg20.cloudpowerdns.com 5.14.0-611.35.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Feb 25 03:46:09 EST 2026 x86_64
User: carrerup (3153)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: //proc/self/root/usr/local/lib/python3.9/site-packages/agent360/plugins/bird.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import plugins

class Plugin(plugins.BasePlugin):
    __name__ = 'bird'

    def run(self, config):
        '''
        Monitor status of bgp sessions using bird
        '''
        data = {}
        data['established'] = int(os.popen('sudo birdc show proto | /bin/grep -c Established').read())
        data['connect'] = int(os.popen('sudo birdc show proto | /bin/grep -c Connect').read())
        data['active'] = int(os.popen('sudo birdc show proto | /bin/grep -c Active').read())
        data['conn_reset_bp'] = int(os.popen('sudo birdc show proto | /bin/grep -c "Connection reset by peer"').read())
        data['hold_timer'] = int(os.popen('sudo birdc show proto | /bin/grep -c "Hold timer expired"').read())
        return data

if __name__ == '__main__':
    Plugin().execute()