GOLDEN HOUR
DIR: /usr/local/lib/python3.9/site-packages/agent360/plugins
UP
UPLOAD
Name
Size
Action
__init__.py
0 B
DEL
[ __pycache__ ]
-
DEL
apt-updates.py
1.23 KB
DEL
asterisk.py
1012 B
DEL
bind.py
732 B
DEL
bird.py
841 B
DEL
bitninja.py
1.27 KB
DEL
cloudlinux-dbgov.py
1.04 KB
DEL
cloudlinux.py
1020 B
DEL
cpanel.py
1.41 KB
DEL
cpu.py
1.97 KB
DEL
cpu_freq.py
583 B
DEL
dirsize.py
617 B
DEL
diskinodes.py
652 B
DEL
diskstatus-nvme.py
1.58 KB
DEL
diskstatus.py
1.96 KB
DEL
diskusage.py
4.04 KB
DEL
docker.py
3.36 KB
DEL
dovecot.py
1.27 KB
DEL
elasticsearch.py
4.24 KB
DEL
exim.py
484 B
DEL
fail2ban.py
831 B
DEL
gpu.py
959 B
DEL
haproxy.py
4.17 KB
DEL
httpd.py
2.73 KB
DEL
iostat.py
5.1 KB
DEL
janus.py
705 B
DEL
kamailio.py
556 B
DEL
litespeed.py
3.04 KB
DEL
loadavg.py
332 B
DEL
loggedin.py
400 B
DEL
mailq.py
528 B
DEL
mdstat.py
1.36 KB
DEL
megacli.py
2.72 KB
DEL
memcached.py
3.09 KB
DEL
memory.py
932 B
DEL
minecraft.py
2.35 KB
DEL
mongodb.py
5.63 KB
DEL
mysql.py
5.13 KB
DEL
network.py
2.72 KB
DEL
nginx.py
3.2 KB
DEL
openvpn.py
2.17 KB
DEL
phpfpm.py
2.72 KB
DEL
ping.py
3.09 KB
DEL
plesk-cgroups.py
6.18 KB
DEL
plugins.py
2.48 KB
DEL
postfix.py
1.73 KB
DEL
powerdns.py
4.56 KB
DEL
process.py
4.26 KB
DEL
proftpd.py
1.1 KB
DEL
rabbitmq.py
3.49 KB
DEL
redis_stat.py
5.48 KB
DEL
sleeper.py
244 B
DEL
swap.py
364 B
DEL
system.py
5.67 KB
DEL
tcpports.py
1.08 KB
DEL
temp.py
1.45 KB
DEL
unbound.py
3.24 KB
DEL
vms.py
6.2 KB
DEL
wp-toolkit.py
1.8 KB
DEL
yum-updates.py
810 B
DEL
Edit: plugins.py
#!/usr/bin/env python # -*- coding: utf-8 -*- import pickle import time import sys if sys.version_info >= (3,): import configparser else: import ConfigParser class BasePlugin: ''' Abstract class for plugins ''' __name__ = '' def __init__(self, agent_cache=[]): if isinstance(agent_cache, list): self.agent_cache = agent_cache else: raise TypeError('Type of agent_cache have to be list') # if not self.__name__: # self.__name__ = os.path.splitext(os.path.basename(__file__))[0] def run(self, config=None): ''' Virtual method for running the plugin ''' pass def execute(self): ''' Execution wrapper for the plugin argv[1]: ini_file ''' config = None if len(sys.argv) > 1: if sys.version_info >= (3,): config = configparser.RawConfigParser(defaults) else: config = ConfigParser.RawConfigParser(defaults) config.read(sys.argv[1]) pickle.dump(self.run(config), sys.stdout.buffer) def get_agent_cache(self): ''' Return agent cached value for this specific plugin. ''' try: return self.agent_cache[0] except Exception: return {} def set_agent_cache(self, cache): ''' Set agent cache value previously passed to this plugin instance. To enable caching existing agent_cache list have to be passed to Plugin on initialization. Minimally it should be list(). Agent will be able to see only changes in zero element of agent_cache, so do not manually override self.agent_cache, othervice cache will not be saved! If self.agent_cache is not a list appropriate exception will be raised. ''' try: self.agent_cache[0] = cache except IndexError: self.agent_cache.append(cache) def absolute_to_per_second(self, key, val, prev_cache): try: if val >= prev_cache[key]: value = \ (val - prev_cache[key]) / \ (time.time() - prev_cache['ts']) else: # previous cached value should not be higher than current value (service was restarted?) value = val / \ (time.time() - prev_cache['ts']) except Exception: # No cache yet, can't calculate value = 0 return value
SAVE FILE
TERMINAL
EXEC