PATH:
usr
/
local
/
lib
/
python3.9
/
site-packages
/
agent360
/
plugins
#!/usr/bin/env python # -*- coding: utf-8 -*- import psutil import plugins import time class Plugin(plugins.BasePlugin): __name__ = 'network' def run(self, config): ''' Network monitoring plugin. To only enable certain interfaces add below [network]: interfaces = eth1,eth3,... ''' absolute = dict() absolute['ts'] = time.time() prev_cache = self.get_agent_cache() # Get absolute values from previous check try: enabled_interfaces = config.get('network', 'interfaces').split(',') except: enabled_interfaces = False returndata = {} interfaces = psutil.net_io_counters(pernic=True) for interface, stats in interfaces.items(): if enabled_interfaces is not False: if interface not in enabled_interfaces: continue try: prev_cache[interface] except: prev_cache[interface] = {} absolute[interface] = {} absolute[interface]['ts'] = time.time() absolute[interface]['bytes_sent'] = stats.bytes_sent absolute[interface]['bytes_recv'] = stats.bytes_recv absolute[interface]['packets_sent'] = stats.packets_sent absolute[interface]['packets_recv'] = stats.packets_recv absolute[interface]['errin'] = stats.errin absolute[interface]['errout'] = stats.errout absolute[interface]['dropin'] = stats.dropin absolute[interface]['dropout'] = stats.dropout returndata[interface] = {} returndata[interface]['bytes_sent'] = self.absolute_to_per_second('bytes_sent', stats.bytes_sent, prev_cache[interface]) returndata[interface]['bytes_recv'] = self.absolute_to_per_second('bytes_recv', stats.bytes_recv, prev_cache[interface]) returndata[interface]['packets_sent'] = self.absolute_to_per_second('packets_sent', stats.packets_sent, prev_cache[interface]) returndata[interface]['packets_recv'] = self.absolute_to_per_second('packets_recv', stats.packets_recv, prev_cache[interface]) returndata[interface]['errin'] = self.absolute_to_per_second('errin', stats.errin, prev_cache[interface]) returndata[interface]['errout'] = self.absolute_to_per_second('errout', stats.errout, prev_cache[interface]) returndata[interface]['dropin'] = self.absolute_to_per_second('dropin', stats.dropin, prev_cache[interface]) returndata[interface]['dropout'] = self.absolute_to_per_second('dropout', stats.dropout, prev_cache[interface]) self.set_agent_cache(absolute) return returndata if __name__ == '__main__': Plugin().execute()
[-] wp-toolkit.py
[open]
[+]
..
[-] plugins.py
[open]
[-] yum-updates.py
[open]
[-] proftpd.py
[open]
[-] sleeper.py
[open]
[-] network.py
[open]
[+]
__pycache__
[-] bird.py
[open]
[-] diskusage.py
[open]
[-] exim.py
[open]
[-] cpanel.py
[open]
[-] loggedin.py
[open]
[-] memory.py
[open]
[-] megacli.py
[open]
[-] phpfpm.py
[open]
[-] rabbitmq.py
[open]
[-] elasticsearch.py
[open]
[-] mysql.py
[open]
[-] iostat.py
[open]
[-] plesk-cgroups.py
[open]
[-] fail2ban.py
[open]
[-] loadavg.py
[open]
[-] dirsize.py
[open]
[-] openvpn.py
[open]
[-] apt-updates.py
[open]
[-] postfix.py
[open]
[-] diskstatus.py
[open]
[-] tcpports.py
[open]
[-] haproxy.py
[open]
[-] ping.py
[open]
[-] unbound.py
[open]
[-] dovecot.py
[open]
[-] memcached.py
[open]
[-] bitninja.py
[open]
[-] powerdns.py
[open]
[-] mailq.py
[open]
[-] gpu.py
[open]
[-] system.py
[open]
[-] cloudlinux.py
[open]
[-] cpu_freq.py
[open]
[-] janus.py
[open]
[-] nginx.py
[open]
[-] bind.py
[open]
[-] cpu.py
[open]
[-] litespeed.py
[open]
[-] swap.py
[open]
[-] temp.py
[open]
[-] kamailio.py
[open]
[-] httpd.py
[open]
[-] diskstatus-nvme.py
[open]
[-] process.py
[open]
[-] mongodb.py
[open]
[-] __init__.py
[open]
[-] minecraft.py
[open]
[-] docker.py
[open]
[-] vms.py
[open]
[-] asterisk.py
[open]
[-] redis_stat.py
[open]
[-] mdstat.py
[open]
[-] cloudlinux-dbgov.py
[open]
[-] diskinodes.py
[open]