Hackfut Security File Manager
Current Path:
/usr/local/lib/python3.6/site-packages/agent360/plugins
usr
/
local
/
lib
/
python3.6
/
site-packages
/
agent360
/
plugins
/
📁
..
📄
__init__.py
(0 B)
📁
__pycache__
📄
apt-updates.py
(1.23 KB)
📄
asterisk.py
(1012 B)
📄
bind.py
(732 B)
📄
bird.py
(841 B)
📄
bitninja.py
(1.27 KB)
📄
cloudlinux-dbgov.py
(1.04 KB)
📄
cloudlinux.py
(1020 B)
📄
cpanel.py
(1.41 KB)
📄
cpu.py
(1.97 KB)
📄
cpu_freq.py
(583 B)
📄
dirsize.py
(617 B)
📄
diskinodes.py
(652 B)
📄
diskstatus-nvme.py
(1.58 KB)
📄
diskstatus.py
(1.96 KB)
📄
diskusage.py
(4.04 KB)
📄
docker.py
(3.36 KB)
📄
dovecot.py
(1.27 KB)
📄
elasticsearch.py
(4.24 KB)
📄
exim.py
(484 B)
📄
fail2ban.py
(831 B)
📄
gpu.py
(959 B)
📄
haproxy.py
(4.17 KB)
📄
httpd.py
(2.73 KB)
📄
iostat.py
(5.1 KB)
📄
janus.py
(705 B)
📄
kamailio.py
(556 B)
📄
litespeed.py
(3.04 KB)
📄
loadavg.py
(332 B)
📄
loggedin.py
(400 B)
📄
mailq.py
(528 B)
📄
mdstat.py
(1.36 KB)
📄
megacli.py
(2.72 KB)
📄
memcached.py
(3.09 KB)
📄
memory.py
(932 B)
📄
minecraft.py
(2.35 KB)
📄
mongodb.py
(5.63 KB)
📄
mysql.py
(5.13 KB)
📄
network.py
(2.72 KB)
📄
nginx.py
(3.2 KB)
📄
openvpn.py
(2.17 KB)
📄
phpfpm.py
(2.72 KB)
📄
ping.py
(3.09 KB)
📄
plesk-cgroups.py
(6.18 KB)
📄
plugins.py
(2.48 KB)
📄
postfix.py
(1.73 KB)
📄
powerdns.py
(4.56 KB)
📄
process.py
(4.26 KB)
📄
proftpd.py
(1.1 KB)
📄
rabbitmq.py
(3.49 KB)
📄
redis_stat.py
(5.48 KB)
📄
sleeper.py
(244 B)
📄
swap.py
(364 B)
📄
system.py
(5.67 KB)
📄
tcpports.py
(1.08 KB)
📄
temp.py
(1.45 KB)
📄
unbound.py
(3.24 KB)
📄
vms.py
(6.2 KB)
📄
wp-toolkit.py
(1.8 KB)
📄
yum-updates.py
(810 B)
Editing: httpd.py
#!/usr/bin/env python # -*- coding: utf-8 -*- try: from urllib.parse import urlparse, urlencode from urllib.request import urlopen, Request from urllib.error import HTTPError except ImportError: from urlparse import urlparse from urllib import urlencode from urllib2 import urlopen, Request, HTTPError import time import plugins import re class Plugin(plugins.BasePlugin): __name__ = 'httpd' def run(self, config): ''' Apache/httpd status page metrics ''' prev_cache = {} next_cache = dict() next_cache['ts'] = time.time() prev_cache = self.get_agent_cache() # Get absolute values from previous check try: request = Request(config.get('httpd', 'status_page_url')) data = urlopen(request).read().decode('utf-8') except Exception as e: return False exp = re.compile('^([A-Za-z ]+):\s+(.+)$') results = {} def parse_score_board(sb): ret = [] ret.append(('IdleWorkers', sb.count('_'))) ret.append(('ReadingWorkers', sb.count('R'))) ret.append(('WritingWorkers', sb.count('W'))) ret.append(('KeepaliveWorkers', sb.count('K'))) ret.append(('DnsWorkers', sb.count('D'))) ret.append(('ClosingWorkers', sb.count('C'))) ret.append(('LoggingWorkers', sb.count('L'))) ret.append(('FinishingWorkers', sb.count('G'))) ret.append(('CleanupWorkers', sb.count('I'))) return ret for line in data.split('\n'): if line: m = exp.match(line) if m: k = m.group(1) v = m.group(2) # Ignore the following values if k == 'IdleWorkers' or k == 'Server Built' or k == 'Server Built' \ or k == 'CurrentTime' or k == 'RestartTime' or k == 'ServerUptime' \ or k == 'CPULoad' or k == 'CPUUser' or k == 'CPUSystem' \ or k == 'CPUChildrenUser' or k == 'CPUChildrenSystem' \ or k == 'ReqPerSec': continue if k == 'Total Accesses': results['requests_per_second'] = self.absolute_to_per_second(k, int(v), prev_cache) next_cache['Total Accesses'] = int(v) if k == 'Scoreboard': for sb_kv in parse_score_board(v): results[sb_kv[0]] = sb_kv[1] else: results[k] = v self.set_agent_cache(next_cache) return results if __name__ == '__main__': Plugin().execute()
Upload File
Create Folder