From 3400bb5736f769f5cf9720a3dbfff99809337c7a Mon Sep 17 00:00:00 2001 From: Alex Vanin Date: Thu, 13 Jul 2023 12:13:27 +0300 Subject: [PATCH] [#37] Add grafana service to visualize prometheus metrics Signed-off-by: Alex Vanin --- .env | 4 +++ .services | 1 + services/grafana/.env | 1 + services/grafana/.hosts | 1 + services/grafana/.int_test.env | 1 + services/grafana/docker-compose.yml | 26 ++++++++++++++++++ services/grafana/grafana.ini | 3 ++ .../provisioning/dashboards/14061_rev1.json | Bin 0 -> 26821 bytes .../provisioning/dashboards/dashboard.yml | Bin 0 -> 183 bytes .../provisioning/datasources/datasource.yml | 8 ++++++ 10 files changed, 45 insertions(+) create mode 120000 services/grafana/.env create mode 100644 services/grafana/.hosts create mode 120000 services/grafana/.int_test.env create mode 100644 services/grafana/docker-compose.yml create mode 100644 services/grafana/grafana.ini create mode 100644 services/grafana/provisioning/dashboards/14061_rev1.json create mode 100644 services/grafana/provisioning/dashboards/dashboard.yml create mode 100644 services/grafana/provisioning/datasources/datasource.yml diff --git a/.env b/.env index f921d46..e04d5ca 100644 --- a/.env +++ b/.env @@ -60,3 +60,7 @@ JAEGER_IMAGE=jaegertracing/all-in-one # Prometheus monitoring PROMETHEUS_VERSION=v2.43.0 PROMETHEUS_IMAGE=prom/prometheus + +# Grafana versions +GRAFANA_VERSION=9.5.6 +GRAFANA_IMAGE=grafana/grafana diff --git a/.services b/.services index d9f34c7..768e4e6 100644 --- a/.services +++ b/.services @@ -3,3 +3,4 @@ http_gate s3_gate rest_gate +grafana diff --git a/services/grafana/.env b/services/grafana/.env new file mode 120000 index 0000000..c7360fb --- /dev/null +++ b/services/grafana/.env @@ -0,0 +1 @@ +../../.env \ No newline at end of file diff --git a/services/grafana/.hosts b/services/grafana/.hosts new file mode 100644 index 0000000..8f36ea6 --- /dev/null +++ b/services/grafana/.hosts @@ -0,0 +1 @@ +IPV4_PREFIX.122 grafana.LOCAL_DOMAIN diff --git a/services/grafana/.int_test.env b/services/grafana/.int_test.env new file mode 120000 index 0000000..582b6a2 --- /dev/null +++ b/services/grafana/.int_test.env @@ -0,0 +1 @@ +../../.int_test.env \ No newline at end of file diff --git a/services/grafana/docker-compose.yml b/services/grafana/docker-compose.yml new file mode 100644 index 0000000..795b87c --- /dev/null +++ b/services/grafana/docker-compose.yml @@ -0,0 +1,26 @@ +version: '2.4' +services: + grafana: + image: ${GRAFANA_IMAGE}:${GRAFANA_VERSION} + domainname: ${LOCAL_DOMAIN} + hostname: grafana + container_name: grafana + restart: on-failure + networks: + grafana_int: + internet: + ipv4_address: ${IPV4_PREFIX}.122 + volumes: + - ./../../vendor/hosts:/etc/hosts + - ./grafana.ini:/etc/grafana/grafana.ini + - ./provisioning:/etc/grafana/provisioning + ports: + - '3000:3000' + stop_signal: SIGKILL + env_file: [ ".env", ".int_test.env" ] + +networks: + grafana_int: + internet: + external: true + name: basenet_internet diff --git a/services/grafana/grafana.ini b/services/grafana/grafana.ini new file mode 100644 index 0000000..256888f --- /dev/null +++ b/services/grafana/grafana.ini @@ -0,0 +1,3 @@ +[auth.anonymous] +# enable anonymous access +enabled = true diff --git a/services/grafana/provisioning/dashboards/14061_rev1.json b/services/grafana/provisioning/dashboards/14061_rev1.json new file mode 100644 index 0000000000000000000000000000000000000000..deec62b2bb27d7239450ea99536a369595f567b4 GIT binary patch literal 26821 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 literal 0 HcmV?d00001 diff --git a/services/grafana/provisioning/datasources/datasource.yml b/services/grafana/provisioning/datasources/datasource.yml new file mode 100644 index 0000000..81b6a7b --- /dev/null +++ b/services/grafana/provisioning/datasources/datasource.yml @@ -0,0 +1,8 @@ +apiVersion: 1 + +datasources: +- name: Prometheus + type: prometheus + access: proxy + orgId: 1 + url: http://prometheus:9090