From e376de5443e40b054d4bbc54053f9e5e851b7b5b Mon Sep 17 00:00:00 2001 From: Simon C Date: Wed, 29 Dec 2021 15:13:42 +0100 Subject: [PATCH] feat(Prometheus): Add new service --- prometheus/.env | 21 +++++++++++++++++++++ prometheus/Dockerfile | 3 +++ prometheus/README.md | 16 ++++++++++++++++ prometheus/docker-compose.traefik.yml | 15 +++++++++++++++ prometheus/docker-compose.yml | 18 ++++++++++++++++++ 5 files changed, 73 insertions(+) create mode 100644 prometheus/.env create mode 100644 prometheus/Dockerfile create mode 100644 prometheus/README.md create mode 100644 prometheus/docker-compose.traefik.yml create mode 100644 prometheus/docker-compose.yml diff --git a/prometheus/.env b/prometheus/.env new file mode 100644 index 0000000..803d12c --- /dev/null +++ b/prometheus/.env @@ -0,0 +1,21 @@ +######## +# DOCKER + +#DOCKER_CONTEXT= +#DOCKER_HOST= +SERVICES_DIR=.. +COMPOSE_FILE=${SERVICES_DIR}/prometheus/docker-compose.yml:${SERVICES_DIR}/prometheus/docker-compose.traefik.yml +#COMPOSE_PROJECT_NAME= + +############ +# PROMETHEUS + +#PROMETHEUS_IMAGE= +PROMETHEUS_DOMAIN=prometheus.cool.life + +######### +# TRAEFIK + +#TRAEFIK_NETWORK_NAME= +#TRAEFIK_ROUTER_NAME= +#TRAEFIK_ENTRYPOINTS= diff --git a/prometheus/Dockerfile b/prometheus/Dockerfile new file mode 100644 index 0000000..159f2ac --- /dev/null +++ b/prometheus/Dockerfile @@ -0,0 +1,3 @@ +ARG PROMETHEUS_IMAGE +FROM $PROMETHEUS_IMAGE +ADD prometheus.yml /etc/prometheus/ diff --git a/prometheus/README.md b/prometheus/README.md new file mode 100644 index 0000000..3bc879d --- /dev/null +++ b/prometheus/README.md @@ -0,0 +1,16 @@ +# Prometheus + +> Prometheus est un logiciel libre de surveillance informatique et générateur d'alertes. Il enregistre des métriques en temps réel dans une base de données de séries temporelles (avec une capacité d'acquisition élevée) en se basant sur le contenu de point d'entrée exposé à l'aide du protocole HTTP. +> +> -- [Wikipédia](https://fr.wikipedia.org/wiki/Prometheus_(logiciel)) + +## 🔧 Configuration + +Pour configurer le service il faut ajouter un fichier prometheus.yml décrivant votre configuration. Vous retrouverz toutes les informations sur la page de [documentation officiel](https://prometheus.io/docs/prometheus/latest/configuration/configuration/). + +## 🔗 Liens + +- [Site officiel](https://prometheus.io/) +- [La documentation](https://prometheus.io/docs/) +- [Github](https://github.com/prometheus/prometheus) +- [L'image Docker sur Docker Hub](https://hub.docker.com/r/prom/prometheus) diff --git a/prometheus/docker-compose.traefik.yml b/prometheus/docker-compose.traefik.yml new file mode 100644 index 0000000..5f3fe21 --- /dev/null +++ b/prometheus/docker-compose.traefik.yml @@ -0,0 +1,15 @@ +--- + +version: "3.8" + +networks: + default: + name: ${TRAEFIK_NETWORK_NAME:-traefik} + +services: + prometheus: + labels: + - traefik.enable=true + - traefik.docker.network=${TRAEFIK_NETWORK_NAME:-traefik} + - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-prometheus}.rule=Host(`${PROMETHEUS_DOMAIN:?err}`) + - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-prometheus}.entrypoints=${TRAEFIK_ENTRYPOINTS:-web} diff --git a/prometheus/docker-compose.yml b/prometheus/docker-compose.yml new file mode 100644 index 0000000..9299d38 --- /dev/null +++ b/prometheus/docker-compose.yml @@ -0,0 +1,18 @@ +--- + +version: '3.8' + +volumes: + prometheus: + name: ${PROMETHEUS_VOLUME_NAME:-prometheus} + +services: + prometheus: + container_name: ${PROMETHEUS_CONTAINER_NAME:-prometheus} + build: + context: . + args: + PROMETHEUS_IMAGE: ${PROMETHEUS_IMAGE:-prom/prometheus:v2.32.1} + volumes: + - prometheus:/prometheus + restart: always