From 4bfc3c233ac961d4492d4e9fca0e92374fbcd65d Mon Sep 17 00:00:00 2001 From: TheJoKlLa Date: Thu, 23 Feb 2023 01:37:16 +0100 Subject: [PATCH] Init --- config/grafana/grafana.ini | 4 + .../provisioning/datasources/datasource.yml | 11 +++ config/prometheus/prometheus.yml | 17 +++++ docker-compose.yaml | 74 +++++++++++++++++++ 4 files changed, 106 insertions(+) create mode 100644 config/grafana/grafana.ini create mode 100644 config/grafana/provisioning/datasources/datasource.yml create mode 100644 config/prometheus/prometheus.yml create mode 100644 docker-compose.yaml diff --git a/config/grafana/grafana.ini b/config/grafana/grafana.ini new file mode 100644 index 0000000..923f863 --- /dev/null +++ b/config/grafana/grafana.ini @@ -0,0 +1,4 @@ +; [server] +; protocol = https +; cert_file = +; cert_key = \ No newline at end of file diff --git a/config/grafana/provisioning/datasources/datasource.yml b/config/grafana/provisioning/datasources/datasource.yml new file mode 100644 index 0000000..bb37f13 --- /dev/null +++ b/config/grafana/provisioning/datasources/datasource.yml @@ -0,0 +1,11 @@ +apiVersion: 1 + +datasources: + - name: Prometheus + type: prometheus + access: proxy + orgId: 1 + url: http://prometheus:9090 + basicAuth: false + isDefault: true + editable: true \ No newline at end of file diff --git a/config/prometheus/prometheus.yml b/config/prometheus/prometheus.yml new file mode 100644 index 0000000..c4ae464 --- /dev/null +++ b/config/prometheus/prometheus.yml @@ -0,0 +1,17 @@ +global: + scrape_interval: 15s + evaluation_interval: 15s + +scrape_configs: + - job_name: 'fabaccess-exporter' + scrape_interval: 5s + static_configs: + - targets: ['fabaccess-exporter:9000'] + - job_name: 'mqtt-exporter-shelly' + scrape_interval: 5s + static_configs: + - targets: ['mqtt-exporter-shelly:9000'] + - job_name: 'mqtt-exporter-fabdetect' + scrape_interval: 5s + static_configs: + - targets: ['mqtt-exporter-fabdetect:9000'] \ No newline at end of file diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..7b1f1b7 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,74 @@ +version: "3.8" +services: + grafana: + image: grafana/grafana:latest + pull_policy: always + restart: always + ports: + - "80:3000" + - "443:3000" + environment: + # - "GF_SERVER_PROTOCOL=https" # Configure TLS + # - "GF_SERVER_CERT__FILE=" + # - "GF_SERVER_CERT_KEY=" + - "GF_SECURITY_ADMIN_USER=Admin" + - "GF_SECURITY_ADMIN_PASSWORD=" # Set Password + - "GF_USERS_ALLOW_SIGN_UP=false" + + - "GF_AUTH_ANONYMOUS_ENABLED=true" + volumes: + - "data_grafana:/var/lib/grafana" + - "./config/grafana/provisioning:/etc/grafana/provisioning" + - "./config/grafana/grafana.ini:/etc/grafana/grafana.ini" + #- "./config/cert:/etc/letsencrypt" + + prometheus: + image: bitnami/prometheus:latest + pull_policy: always + restart: always + volumes: + - "./config/prometheus:/etc/prometheus" + - "data_prometheus:/prometheus" + command: + - '--config.file=/etc/prometheus/prometheus.yml' + - '--storage.tsdb.path=/prometheus' + - '--web.console.libraries=/etc/prometheus/console_libraries' + - '--web.console.templates=/etc/prometheus/consoles' + - '--storage.tsdb.retention.time=200h' + - '--web.enable-lifecycle' + + fabaccess-exporter: + image: registry.gitlab.com/fabinfra/fabaccess/prometheus-exporter:latest + pull_policy: always + restart: always + environment: + - "BFFH_HOST=" # Set BFFH Server + - "BFFH_PORT=59661" + - "BFFH_USER=" # Set User + - "BFFH_PASSWORD=" # Set Password + + mqtt-exporter-shelly: + image: kpetrem/mqtt-exporter + pull_policy: always + restart: always + environment: + - "MQTT_ADDRESS=" # Set MQTT Server + - "MQTT_USERNAME=" # Set User + - "MQTT_PASSWORD=" # Set Password + - "PROMETHEUS_PREFIX=shelly_" + - "MQTT_TOPIC=shellies/#" + + mqtt-exporter-fabdetect: + image: kpetrem/mqtt-exporter + pull_policy: always + restart: always + environment: + - "MQTT_ADDRESS=" # Set MQTT Server + - "MQTT_USERNAME=" # Set User + - "MQTT_PASSWORD=" # Set Password + - "PROMETHEUS_PREFIX=fabdetect_" + - "MQTT_TOPIC=fabdetect/#" + +volumes: + data_grafana: + data_prometheus: \ No newline at end of file