aboutsummaryrefslogtreecommitdiff
path: root/cluster/prod/app/telemetry/deploy
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2022-10-16 18:12:57 +0200
committerAlex Auvolat <alex@adnab.me>2022-10-16 18:12:57 +0200
commit5613ed99086618b91441d84620bdbe27a94ad1d2 (patch)
tree304f247c4099a430a29f6d44f5f41172a2c50a7d /cluster/prod/app/telemetry/deploy
parent42409de1b1638f5d935831dc66ddff9a1d9ba29d (diff)
downloadnixcfg-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.hcl4
-rw-r--r--cluster/prod/app/telemetry/deploy/telemetry.hcl46
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