This commit is contained in:
Mike McFetridge
2026-07-20 09:23:17 -04:00
parent c1315882da
commit 72272e4006
3179 changed files with 562960 additions and 14 deletions
+56
View File
@@ -0,0 +1,56 @@
---
services:
<< service_name >>:
image: docker.io/prom/prometheus:v3.11.3
restart: << restart_policy >>
command:
- --config.file=/etc/prometheus/prometheus.yaml
- --storage.tsdb.retention.time=<< metrics_retention_time >>
<%- if metrics_retention_size != '0' %>
- --storage.tsdb.retention.size=<< metrics_retention_size >>
<%- endif %>
<%- if metrics_enable_remote_write %>
- --web.enable-remote-write-receiver
<%- endif %>
<%- if traefik_enabled %>
<%- if traefik_tls_enabled %>
- --web.external-url=https://<< traefik_host >>.<< traefik_domain >>
<%- else %>
- --web.external-url=http://<< traefik_host >>.<< traefik_domain >>
<%- endif %>
<%- endif %>
<%- if not traefik_enabled %>
ports:
- "<< ports_http >>:9090"
<%- endif %>
volumes:
- << service_name >>_data:/prometheus
- ./config/prometheus.yaml:/etc/prometheus/prometheus.yaml:ro
<%- if traefik_enabled %>
networks:
<< traefik_network >>:
labels:
- traefik.enable=true
- traefik.docker.network=<< traefik_network >>
- traefik.http.services.<< service_name >>_web.loadBalancer.server.port=9090
- traefik.http.routers.<< service_name >>_http.service=<< service_name >>_web
- traefik.http.routers.<< service_name >>_http.rule=Host(`<< traefik_host >>.<< traefik_domain >>`)
- traefik.http.routers.<< service_name >>_http.entrypoints=<< traefik_entrypoint >>
<%- if traefik_tls_enabled %>
- traefik.http.routers.<< service_name >>_https.service=<< service_name >>_web
- traefik.http.routers.<< service_name >>_https.rule=Host(`<< traefik_host >>.<< traefik_domain >>`)
- traefik.http.routers.<< service_name >>_https.entrypoints=<< traefik_tls_entrypoint >>
- traefik.http.routers.<< service_name >>_https.tls=true
- traefik.http.routers.<< service_name >>_https.tls.certresolver=<< traefik_tls_certresolver >>
<%- endif %>
<%- endif %>
volumes:
<< service_name >>_data:
driver: local
<%- if traefik_enabled %>
networks:
<< traefik_network >>:
external: true
<%- endif %>
+28
View File
@@ -0,0 +1,28 @@
---
global:
scrape_interval: 15s # By default, scrape targets every 15 seconds.
# Attach these labels to any time series or alerts when communicating with
# external systems (federation, remote storage, Alertmanager).
# external_labels:
# monitor: 'codelab-monitor'
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: 'prometheus'
# Override the global default and scrape targets from this job every 5 seconds.
scrape_interval: 5s
static_configs:
- targets: ['localhost:9090']
# Example job for node_exporter
# - job_name: 'node_exporter'
# static_configs:
# - targets: ['node_exporter:9100']
# Example job for cadvisor
# - job_name: 'cadvisor'
# static_configs:
# - targets: ['cadvisor:8080']