Skip to content

Commit e879c39

Browse files
committed
feat(observability): Allow prometheus TSDB time and size configuration through env vars
1 parent f3febc4 commit e879c39

File tree

2 files changed

+21
-11
lines changed

2 files changed

+21
-11
lines changed

observability/prometheus/Dockerfile.prometheus

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,26 @@ FROM prom/prometheus
33
LABEL traefik.enable="true" \
44
traefik.http.routers.prometheus-path-router.rule="PathPrefix(`/prometheus`)"
55

6-
RUN mkdir -p /etc/prometheus/cogstack/site/scrape-targets/probers
7-
RUN mkdir -p /etc/prometheus/cogstack/site/scrape-targets/exporters
6+
RUN mkdir -p /etc/prometheus/cogstack/site/scrape-configs/probers
7+
RUN mkdir -p /etc/prometheus/cogstack/site/scrape-configs/exporters
88

99
COPY ./defaults /etc/prometheus/cogstack/defaults
1010

11-
CMD [ \
12-
"--config.file=/etc/prometheus/cogstack/defaults/prometheus.yml", \
13-
"--storage.tsdb.path=/prometheus", \
14-
"--storage.tsdb.retention.time=30d", \
15-
"--web.external-url=/prometheus", \
16-
"--web.route-prefix=/prometheus", \
17-
"--web.enable-remote-write-receiver" \
18-
]
11+
ENV STORAGE_TSDB_RETENTION_TIME=30d
12+
ENV STORAGE_TSDB_RETENTION_SIZE=0
13+
14+
COPY --chmod=755 <<'EOT' /entrypoint.sh
15+
#!/bin/sh
16+
set -eux
17+
exec /bin/prometheus \
18+
--config.file=/etc/prometheus/cogstack/defaults/prometheus.yml \
19+
--storage.tsdb.path=/prometheus \
20+
--storage.tsdb.retention.time="${STORAGE_TSDB_RETENTION_TIME:-30d}" \
21+
--storage.tsdb.retention.size="${STORAGE_TSDB_RETENTION_SIZE:-0}" \
22+
--web.external-url=/prometheus \
23+
--web.route-prefix=/prometheus \
24+
--web.enable-remote-write-receiver \
25+
"$@"
26+
EOT
27+
28+
ENTRYPOINT ["/entrypoint.sh"]

observability/prometheus/defaults/prometheus.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ global:
44
evaluation_interval: 10s # Evaluate rules every 10 seconds. The default is every 1 minute.
55
scrape_config_files:
66
- scrape-configs/*.yml
7-
- /etc/prometheus/cogstack/site/scrape-targets/*.yml
7+
- /etc/prometheus/cogstack/site/scrape-configs/*.yml
88
rule_files:
99
- recording-rules/*.yml
1010
- /etc/prometheus/cogstack/site/recording-rules/*.yml

0 commit comments

Comments
 (0)