Metainformationen zur Seite
Prometheus, Grafana & cAdvisor
- URL Prometheus
- http://localhost:9090/
- URL Grafana
- http://localhost:3300/
- URL cAdvisor
- http://localhost:8080/
- Production
- hetzner:/opt/prometheus/
Config
Docker-compose-yml anlegen:
version: '3.7'
services:
prometheus:
image: prom/prometheus
container_name: prometheus
user: root
volumes:
- ./prometheus:/etc/prometheus
- ./prometheus_data:/prometheus
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--web.enable-lifecycle'
ports:
- "9090:9090"
networks:
- internal
restart: unless-stopped
grafana:
image: grafana/grafana
container_name: grafana
depends_on:
- prometheus
ports:
- "3000:3000"
volumes:
- ./grafana_data:/var/lib/grafana
environment:
- GF_SECURITY_ADMIN_PASSWORD=${GF_PASS}
networks:
- internal
restart: unless-stopped
cadvisor:
image: gcr.io/cadvisor/cadvisor:latest
container_name: cadvisor
ports:
- "8080:8080"
volumes:
- /:/rootfs:ro
- /var/run:/var/run:rw
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
networks:
- internal
restart: unless-stopped
networks:
internal:
external: false
In Unterordner prometheus/prometheus.yml anlegen:
global:
scrape_interval: 15s # By default, scrape targets every 15 seconds.
evaluation_interval: 15s # Evaluate rules every 15 seconds.
# Attach these labels to any time series or alerts when communicating with
# external systems (federation, remote storage, Alertmanager).
external_labels:
monitor: 'Hetzner'
# Alertmanager configuration goes here (if used)
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager:9093
scrape_configs:
- job_name: prometheus
honor_labels: true
honor_timestamps: true
scheme: http
scrape_interval: 60s
scrape_timeout: 55s
metrics_path: /metrics
static_configs:
- targets: ['prometheus:9090']
-
- job_name: cadvisor
scrape_interval: 5s
static_configs:
- targets: ['cadvisor:8080']
- job_name: 'dwb@smns'
static_configs:
- targets: ['smns.diversityworkbench.de:9175']
SSH Tunnel
Prometheus (9090), Grafana (3000) & cAdvisor (8080) laufen nur lokal auf Hetzner, daher ist es notwendig einen SSH Tunnel zu öffnen, um die Seiten anzuschauen.
Voraussetzung ist natürlich, dass man seinen SSH Key auf dem Server hinterlegt hat.
Windows
SSH Connectstring mit mehrfachem Tunnel:
ssh username@144.76.68.113 -p 666 -L 3000:144.76.68.113:3000 -L 8080:144.76.68.113:8080 -L 9090:144.76.68.113:9090
Die Seiten sind dann über http://localhost:9090/, http://localhost:3000/ bzw. http://localhost:8080/ erreichbar.
Linux
~/.ssh/config:
Host Hetzner User xyz HostName 144.76.68.113 Port 666 IdentityFile ~/.ssh/id_rsa.pub localforward 3000 144.76.68.113:3000 localforward 8080 144.76.68.113:8080 localforward 9090 144.76.68.113:9090