Kann man so ein Setup auf nem Raspberry PI Model3 laufen lassen? Und sollte man zum Speichern der vielen Daten einen USB Stick anstecken oder ne USB HDD oder reicht die interne SD Karte? Welchen Speicherbedarf sollte man für sowas kalkulieren (wenn man nicht nur den tc4400 exporter nutzen will)?
VIelleicht kannst Du ja auch mal beschreiben, wie Du das eingerichtet hast... Danke.
Ich nutzte Docker in einem QNAP, so kann die Fragen zur Raspberry PI nicht antworten.
Du brauchts 3 Dockers:
- Grafana (um die Graphs anzuschauen)
- Prometheus (um die Daten zu sammeln)
- tc4400_exporter (um die Daten aus TC4400 abzurufen)
Voraussetzungen:
- Eine share um die Daten abspeichern zu können (zb.: /share/appdata), mit jeweils einen Ordner pro Docker (/share/appdata/grafana, /share/appdata/prometheus und /share/appdata/prometheus/data) und zusätzlich einen für die selbts-erstelltes Docker (z.B.: /share/appdata/image_tc4400_exporter)
- Einen
docker user und
docker group für alle dockers (bei mir ist 1002:1002)
- Einen neuen Textdatei mit der Name "prometheus.yml" unter "/share/appdata/prometheus"
dieses kannst du erstellen mit
Bash:
touch /share/appdata/prometheus/prometheus.yml
chown docker:docker /share/appdata/prometheus/prometheus.yml
Mit
nano oder
vi , it folgende inhalt hinzufügen:
Bash:
# my global config
global: scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. # scrape_timeout is set to the global default (10s).
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files: # - "first_rules.yml" # - "second_rules.yml"
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. - job_name: 'tc4400' scrape_interval: '1m' scrape_timeout: '55s' static_configs: - targets: - '10.0.1.10:9623'
- Nutzt man den default password bei der TC4400 erstellt man analog den "prometheus.yml" einen "Dockerfile" ohne Endung, mit folgende inhalt:
Bash:
FROM golang:alpine AS builder
RUN apk add git
RUN go get -v github.com/markuslindenberg/tc4400_exporter
FROM alpine:latest
COPY --from=builder /go .
EXPOSE 9623/tcp
CMD ["tc4400_exporter"]
nun muss aus dieser Dockerfile einen Docker-Image erstellt werden:
Bash:
docker build -t tc4400 -f /share/appdata/image_tc4400_exporter/Dockerfile .
Grafana starten:
Bash:
docker run -d \ -p 3000:3000 \ --name=grafana \ --net=host \ -e TZ=Europe/Berlin \ --user=1002:1002 \ -e PUID=1002 \ -e PGID=1002 \ -v /share/appdata/grafana:/var/lib/grafana \ --restart=unless-stopped \ grafana/grafana
Prometheus starten:
Bash:
docker run -d \ --name prometheus \ -p 9090:9090 \ --net=host \ --user=1002:1002 \ -e TZ=Europe/Berlin \ -v /share/appdata/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \ -v /share/appdata/prometheus/data:/prometheus \ --restart=unless-stopped \ prom/prometheus
TC4400_exporter starten:
Bash:
docker run -d \ --name=tc4400 \ -p 9623:9623 \ --net=host \
tc4400
Bleibt nur, wenn ich richtig in Erinnerung habe bei grafana (http://host_IP:3000) den Prometheus als Quelle hinzufügen.