ruạṛ
#!/usr/bin/env python3 # lsTop: LiteSpeed script to display top domains by requests/s. # Tsvetan Gerov <tsvetan@worldhost.group> # v0.1 import re import glob domain_info = {} directory = '/tmp/lshttpd/' file_pattern = '.rtreport*' files = glob.glob(directory + file_pattern) for filename in files: with open(filename, 'r') as file: content = file.read() matches = re.findall(r'REQ_RATE \[APVH_(.*?)\]: .* REQ_PER_SEC: ([0-9.]+)', content) for domain, requests_per_sec in matches: modified_domain = domain.split(':')[0] modified_domain = modified_domain.replace("APVH_", "") if modified_domain in domain_info: domain_info[modified_domain] += int(float(requests_per_sec)) else: domain_info[modified_domain] = int(float(requests_per_sec)) sorted_domains = sorted(domain_info.items(), key=lambda x: x[1]) print("| {:<70s} | {:<8s} |".format("Domain", "Req/s")) print("|" + "-" * 72 + "|" + "-" * 10 + "|") for domain, requests_per_sec in sorted_domains: print(f"| {domain:<70} | {requests_per_sec:8d} |") print("|" + "-" * 72 + "|" + "-" * 10 + "|") print("| {:<70s} | {:<8s} |".format("Domain", "Req/s"))
cải xoăn