D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
bin
/
panopta-agent
/
Filename :
report.py
back
Copy
import fcntl import time import sys import os, os.path import csv from datetime import datetime if 'freebsd' in sys.platform.lower() or "darwin" in sys.platform.lower(): report_file = "/usr/local/panopta-agent/lib/report" else: report_file = '/var/lib/panopta-agent/report' if not os.path.exists(report_file): home = os.path.expanduser("~") report_file = os.path.join(home, "lib", "panopta-agent", "report") unlock_attempts = 10 def report_metric(textkey, value, timestamp): csvfile = open(report_file, 'a') # Acquire lock locked = True for i in range(unlock_attempts): try: fcntl.flock(csvfile, fcntl.LOCK_EX | fcntl.LOCK_NB) locked = False break except: time.sleep(1.0) if locked: print("Could not unlock %s after %s attempts" % (report_file, unlock_attempts)) sys.exit(1) # Append new metric value csvwriter = csv.writer(csvfile) csvwriter.writerow([textkey, value, timestamp.strftime("%Y-%m-%d %H:%M:%S")]) # Release lock fcntl.flock(csvfile, fcntl.LOCK_UN) csvfile.close() if __name__ == "__main__": if len(sys.argv) < 3: print("Please specify textkey, value, and optionally UTC timestamp in ISO format") print('Example: python report.py metric.key 3.5 "2015-03-24 10:11:12"') sys.exit(0) else: if len(sys.argv) >= 4: try: timestamp = datetime.strptime(sys.argv[3], "%Y-%m-%d %H:%M:%S") except: print("Cannot parse timestamp") sys.exit(0) else: timestamp = datetime.now() try: value = float(sys.argv[2]) except: print("Value should be a number") sys.exit(0) report_metric(sys.argv[1], value, timestamp)
Name
Size
Last Modified
Owner
Permissions
Actions
countermeasure.py
1.563
KB
December 12 2022 3:40:22
panopta-agent
0755
maintenance.py
1.753
KB
December 12 2022 3:40:22
panopta-agent
0755
maintenance_noroot.py
1.719
KB
December 12 2022 3:40:22
panopta-agent
0755
panopta_agent.py
2.503
KB
December 12 2022 3:40:22
panopta-agent
0755
panopta_agent_noroot.py
1.361
KB
December 12 2022 3:40:22
panopta-agent
0644
register.py
1.229
KB
December 12 2022 3:40:22
panopta-agent
0644
report.py
1.776
KB
December 12 2022 3:40:22
panopta-agent
0644
update_config.py
1.523
KB
December 12 2022 3:40:22
panopta-agent
0644
2017 © D7net | D704T team