From 6fd640e84c90e9f0e40672dc99eb9c625d41ef6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tam=C3=A1s=20G=C3=A9rczei?= Date: Mon, 15 Jun 2020 08:14:23 +0200 Subject: [PATCH] working prototype --- README.md | 11 +++++++++++ docker-compose.yml | 28 ++++++++++++++++++++++++++++ monitoring.service | 17 +++++++++++++++++ prometheus.yml | 19 +++++++++++++++++++ 4 files changed, 75 insertions(+) create mode 100644 README.md create mode 100644 docker-compose.yml create mode 100644 monitoring.service create mode 100644 prometheus.yml diff --git a/README.md b/README.md new file mode 100644 index 0000000..9496dee --- /dev/null +++ b/README.md @@ -0,0 +1,11 @@ +# monitoring - containerized Prometheus and Grafana on HypriotOS + +## usage +- docker volume create prometheus-tsdb +- docker volume create grafana-config +- docker volume create grafana-data +- sudo cp monitoring.service /lib/systemd/system/ +- sudo systemctl daemon-reload +- sudo systemctl enable --now monitoring + +### tested on HypriotOS v1.12.2 running on a Raspberry Pi 3B+ diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..ddacf9c --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,28 @@ +--- +version: '2.1' +volumes: + tsdb: + name: prometheus-tsdb + config: + name: grafana-config + data: + name: grafana-data +services: + prometheus: + container_name: prometheus + hostname: prometheus + image: prom/prometheus + ports: + - 9090:9090 + volumes: + - ./prometheus.yml:/etc/prometheus/prometheus.yml:ro + - tsdb:/prometheus:rw + grafana: + container_name: grafana + hostname: grafana + image: grafana/grafana + ports: + - 3000:3000 + volumes: + - config:/etc/grafana:rw + - data:/var/lib/grafana:rw diff --git a/monitoring.service b/monitoring.service new file mode 100644 index 0000000..13437f1 --- /dev/null +++ b/monitoring.service @@ -0,0 +1,17 @@ +# /lib/systemd/system/monitoring.service +[Unit] +Description=Monitoring Stack Docker Compose Application +Requires=docker.service +After=docker.service + +[Service] +User=pirate +Type=oneshot +RemainAfterExit=yes +WorkingDirectory=/home/pirate/monitoring +ExecStart=/usr/local/bin/docker-compose up -d +ExecStop=/usr/local/bin/docker-compose down +TimeoutStartSec=0 + +[Install] +WantedBy=multi-user.target diff --git a/prometheus.yml b/prometheus.yml new file mode 100644 index 0000000..db51636 --- /dev/null +++ b/prometheus.yml @@ -0,0 +1,19 @@ +--- +global: + evaluation_interval: 1m + scrape_interval: 1m + scrape_timeout: 10s + +rule_files: +- /etc/config/rules +- /etc/config/alerts +scrape_configs: +- job_name: prometheus + static_configs: + - targets: + - localhost:9090 +- job_name: other_nodes + static_configs: + - targets: + - global:9100 + - global:8000