HEX
Server: LiteSpeed
System: Linux ws4.angoweb.net 5.14.0-611.13.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 11 04:57:59 EST 2025 x86_64
User: tswangoe (2287)
PHP: 8.1.33
Disabled: show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open
Upload Files
File: //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()