Report loadavg (demo client)
This commit is contained in:
parent
1f747af6d3
commit
847ba1f410
|
@ -0,0 +1,52 @@
|
|||
#!/usr/bin/python3
|
||||
|
||||
import hmac
|
||||
import json
|
||||
import os
|
||||
import pprint
|
||||
import socket
|
||||
import time
|
||||
|
||||
import requests
|
||||
|
||||
|
||||
hostname = socket.gethostbyaddr(socket.gethostname())[0]
|
||||
baseurl = "http://127.0.0.1:5000/"
|
||||
|
||||
def report_loadavg():
|
||||
now = time.time()
|
||||
load = os.getloadavg()
|
||||
with open("config.json") as fh:
|
||||
client_config = json.load(fh)
|
||||
|
||||
while True:
|
||||
report = []
|
||||
for i, period in enumerate(("1m", "5m", "15m")):
|
||||
node = hostname
|
||||
timestamp = time.time()
|
||||
msg = (node + " " + str(timestamp)).encode("UTF-8")
|
||||
digest = hmac.new(client_config["key"].encode("UTF-8"), msg, "SHA-256").hexdigest()
|
||||
report.append(
|
||||
{
|
||||
"description": {
|
||||
"hostname": hostname,
|
||||
"measure": "loadavg",
|
||||
"unit": "processes",
|
||||
"period": period,
|
||||
},
|
||||
"data": [
|
||||
[ now, load[i] ]
|
||||
],
|
||||
"auth": {
|
||||
"node": node,
|
||||
"timestamp": timestamp,
|
||||
"hmac": digest,
|
||||
}
|
||||
},
|
||||
)
|
||||
pprint.pp(report)
|
||||
r = requests.post(baseurl + "report", json=report)
|
||||
print(r)
|
||||
return
|
||||
|
||||
report_loadavg()
|
Loading…
Reference in New Issue