diff --git a/docker-compose.yml b/docker-compose.yml index 56073bc..fecf6f0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -202,11 +202,16 @@ services: - chdata:/var/lib/clickhouse - ./docker/clickhouse-init.sql:/docker-entrypoint-initdb.d/init.sql:ro - ./docker/clickhouse-users.xml:/etc/clickhouse-server/users.d/default-user.xml + - ./docker/clickhouse-config.xml:/etc/clickhouse-server/config.d/prometheus.xml:ro healthcheck: test: ["CMD-SHELL", "clickhouse-client --password ${CLICKHOUSE_PASSWORD:-cameleer_ch} --query 'SELECT 1'"] interval: 10s timeout: 5s retries: 3 + labels: + - prometheus.scrape=true + - prometheus.path=/metrics + - prometheus.port=9363 networks: - cameleer diff --git a/docker/clickhouse-config.xml b/docker/clickhouse-config.xml new file mode 100644 index 0000000..446b7ef --- /dev/null +++ b/docker/clickhouse-config.xml @@ -0,0 +1,9 @@ + + + /metrics + 9363 + true + true + true + + diff --git a/src/main/java/net/siegeln/cameleer/saas/provisioning/DockerTenantProvisioner.java b/src/main/java/net/siegeln/cameleer/saas/provisioning/DockerTenantProvisioner.java index 36410ff..6ac509f 100644 --- a/src/main/java/net/siegeln/cameleer/saas/provisioning/DockerTenantProvisioner.java +++ b/src/main/java/net/siegeln/cameleer/saas/provisioning/DockerTenantProvisioner.java @@ -190,6 +190,9 @@ public class DockerTenantProvisioner implements TenantProvisioner { labels.put("traefik.docker.network", props.traefikNetwork()); labels.put("cameleer.tenant", slug); labels.put("cameleer.role", "server"); + labels.put("prometheus.scrape", "true"); + labels.put("prometheus.path", "/api/v1/prometheus"); + labels.put("prometheus.port", "8081"); var env = new java.util.ArrayList<>(List.of( "SPRING_DATASOURCE_URL=" + props.datasourceUrl(),