blob: 2c9a5294e76cd82965ae143fc17b7aad6a65036c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#!/home/mcrute/.local/bin/python3
import json
import subprocess
from urllib import request
def bits_per_second(bytes, seconds):
return round(((bytes/seconds) * 8))
r = subprocess.run(
["/usr/bin/iperf3", "-J", "-c", "23.149.16.1"], capture_output=True)
results = json.loads(r.stdout)
sent_seconds = results["end"]["sum_sent"]["seconds"]
sent_bytes = results["end"]["sum_sent"]["bytes"]
received_seconds = results["end"]["sum_received"]["seconds"]
received_bytes = results["end"]["sum_received"]["bytes"]
req = request.Request(
"http://monitoring-1.sea1.crute.me:9091/metrics/job/wave_bandwidth_monitor",
method="POST")
req.add_header("Content-Type", "text/plain")
request.urlopen(req,
data="bandwidth_sent_bps {}\n".format(
bits_per_second(sent_bytes, sent_seconds)).encode("us-ascii"))
request.urlopen(req,
data="bandwidth_received_bps {}\n".format(
bits_per_second(received_bytes, received_seconds)).encode("us-ascii"))
|