diff options
author | Alex Auvolat <alex@adnab.me> | 2022-10-16 18:12:57 +0200 |
---|---|---|
committer | Alex Auvolat <alex@adnab.me> | 2022-10-16 18:12:57 +0200 |
commit | 5613ed99086618b91441d84620bdbe27a94ad1d2 (patch) | |
tree | 304f247c4099a430a29f6d44f5f41172a2c50a7d /cluster/prod/app/telemetry/deploy | |
parent | 42409de1b1638f5d935831dc66ddff9a1d9ba29d (diff) | |
download | nixcfg-5613ed99086618b91441d84620bdbe27a94ad1d2.tar.gz nixcfg-5613ed99086618b91441d84620bdbe27a94ad1d2.zip |
Complete telemetry configuration
Diffstat (limited to 'cluster/prod/app/telemetry/deploy')
-rw-r--r-- | cluster/prod/app/telemetry/deploy/telemetry-system.hcl | 4 | ||||
-rw-r--r-- | cluster/prod/app/telemetry/deploy/telemetry.hcl | 46 |
2 files changed, 42 insertions, 8 deletions
diff --git a/cluster/prod/app/telemetry/deploy/telemetry-system.hcl b/cluster/prod/app/telemetry/deploy/telemetry-system.hcl index e4bde1a..ae9ff72 100644 --- a/cluster/prod/app/telemetry/deploy/telemetry-system.hcl +++ b/cluster/prod/app/telemetry/deploy/telemetry-system.hcl @@ -1,5 +1,5 @@ job "telemetry-system" { - datacenters = ["neptune", "orion"] + datacenters = ["neptune", "orion", "bespin"] type = "system" priority = "100" @@ -12,7 +12,7 @@ job "telemetry-system" { driver = "docker" config { - image = "quay.io/prometheus/node-exporter:v1.1.2" + image = "quay.io/prometheus/node-exporter:v1.4.0" network_mode = "host" volumes = [ "/:/host:ro,rslave" diff --git a/cluster/prod/app/telemetry/deploy/telemetry.hcl b/cluster/prod/app/telemetry/deploy/telemetry.hcl index d35bd7e..af3088c 100644 --- a/cluster/prod/app/telemetry/deploy/telemetry.hcl +++ b/cluster/prod/app/telemetry/deploy/telemetry.hcl @@ -1,9 +1,9 @@ job "telemetry" { - datacenters = ["neptune"] + datacenters = ["neptune", "bespin"] type = "service" group "prometheus" { - count = 1 + count = 2 network { port "prometheus" { @@ -11,14 +11,26 @@ job "telemetry" { } } + constraint { + attribute = "${attr.unique.hostname}" + operator = "set_contains_any" + value = "concombre,df-ymk" + } + task "prometheus" { driver = "docker" config { - image = "prom/prometheus:v2.38.0" + image = "prom/prometheus:v2.39.0" network_mode = "host" ports = [ "prometheus" ] + args = [ + "--config.file=/etc/prometheus/prometheus.yml", + "--storage.tsdb.path=/data", + "--storage.tsdb.retention.size=20GB", + ] volumes = [ - "secrets:/etc/prometheus" + "secrets:/etc/prometheus", + "/mnt/ssd/prometheus:/data" ] } @@ -42,6 +54,21 @@ job "telemetry" { destination = "secrets/consul-client.key" } + template { + data = "{{ key \"secrets/nomad/nomad.crt\" }}" + destination = "secrets/nomad.crt" + } + + template { + data = "{{ key \"secrets/nomad/nomad-client.crt\" }}" + destination = "secrets/nomad-client.crt" + } + + template { + data = "{{ key \"secrets/nomad/nomad-client.key\" }}" + destination = "secrets/nomad-client.key" + } + resources { memory = 501 cpu = 500 @@ -110,12 +137,13 @@ job "telemetry" { task "grafana" { driver = "docker" config { - image = "grafana/grafana:8.4.3" + image = "grafana/grafana:9.2.0" network_mode = "host" ports = [ "grafana" ] volumes = [ "../alloc/data:/var/lib/grafana", - "secrets/prometheus.yaml:/etc/grafana/provisioning/datasources/prometheus.yaml" + "secrets/prometheus.yaml:/etc/grafana/provisioning/datasources/prometheus.yaml", + "secrets/ldap.toml:/etc/grafana/ldap.toml" ] } @@ -125,9 +153,15 @@ job "telemetry" { } template { + data = file("../config/grafana-ldap.toml") + destination = "secrets/ldap.toml" + } + + template { data = <<EOH GF_INSTALL_PLUGINS=grafana-clock-panel,grafana-simple-json-datasource,grafana-piechart-panel,grafana-worldmap-panel,grafana-polystat-panel GF_SERVER_HTTP_PORT=3719 +GF_AUTH_LDAP_ENABLED=true EOH destination = "secrets/env" env = true |