1
0
forked from HPC/HPCplaybooks

Added a node_exporter role initially built for...

peregrine.
This commit is contained in:
Egon Rijpkema
2018-02-12 16:34:16 +01:00
parent e6cb2834c0
commit 2ec22760af
8 changed files with 119 additions and 0 deletions

22
promtools/Dockerfile Normal file
View File

@ -0,0 +1,22 @@
FROM golang:1.9-stretch
MAINTAINER Egon Rijpkema <e.m.a.rijpkema@rug.nl>
RUN mkdir /results
RUN go get github.com/prometheus/node_exporter && \
cd ${GOPATH-$HOME/go}/src/github.com/prometheus/node_exporter && \
make && \
cp node_exporter /results
RUN go get github.com/robustperception/pushprox/proxy && \
cd ${GOPATH-$HOME/go}/src/github.com/robustperception/pushprox/proxy && \
go build && \
cp /go/bin/proxy /results
RUN go get github.com/robustperception/pushprox/client && \
cd ${GOPATH-$HOME/go}/src/github.com/robustperception/pushprox/client && \
go build && \
cp /go/bin/client /results
CMD /go/bin/proxy

34
promtools/addport.py Executable file
View File

@ -0,0 +1,34 @@
#!/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 ))

6
promtools/build.sh Executable file
View File

@ -0,0 +1,6 @@
#!/bin/bash -ex
mkdir -p results
docker build . -t promtools
docker run -d --name promtools --rm promtools sleep 3
docker cp promtools:/results .

BIN
promtools/client Executable file

Binary file not shown.

BIN
promtools/proxy Executable file

Binary file not shown.