This repository has been archived on 2020-05-12. You can view files and clone it, but cannot push or open issues or pull requests.
HPCplaybooks/promtools/addport.py

35 lines
812 B
Python
Executable File

#!/usr/bin/env python3
'''
Pushprox: does not include the port number in its targets json
on the /clients endpoint. while Prometheus does seem to need it.
for more info see: https://github.com/RobustPerception/PushProx
'''
import json
from urllib import request
url = 'http://knyft.hpc.rug.nl:6060/clients'
outfile = 'targets.json'
data = json.loads(request.urlopen(url).read().decode('utf-8'))
targets = []
for node in data:
for target in node['targets']:
if target[-5:] != '9100':
target = '{}:9100'.format(target)
targets.append(target)
with open(outfile, 'w') as handle:
handle.write(json.dumps(
[{
"targets" : targets,
"labels": {
"env": "peregrine",
"job": "node"
}
}]
,indent=4 ))