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