monitoring/variables.yml

287 lines
6.5 KiB
YAML

---
instance: monitoring
vault:
pki:
path: '[[ .prometheus.vault_pki ]]'
ou: Monitoring
rand_secrets:
- path: grafana
fields:
- secret_key
- initial_admin_pwd
monitoring:
namespaces:
- '*'
exporters:
count: 1
ping:
version: 1.1.0
image: '[[ .docker.repo ]]ping-exporter:[[ .monitoring.exporters.ping.version ]]-1'
env: {}
resources:
cpu: 10
memory: 25
probes: []
blackbox:
version: 0.24.0
image: '[[ .docker.repo ]]blackbox-exporter:[[ .monitoring.exporters.blackbox.version ]]-1'
env: {}
resources:
cpu: 10
memory: 50
tcp_probes: []
http_probes: []
consul:
version: 0.11.0
image: '[[ .docker.repo ]]consul-exporter:[[ .monitoring.exporters.consul.version ]]-2'
env: {}
resources:
cpu: 20
memory: 32
vault:
policies:
- 'consul-exporter[[ .consul.suffix ]]'
cluster:
image: nginxinc/nginx-unprivileged:alpine
env: {}
resources:
cpu: 10
memory: 15
vault:
policies:
- 'cluster-exporter[[ .consul.suffix ]]'
- metrics
prometheus:
version: 2.51.0
count: 1
image: '[[ .docker.repo ]]prometheus:[[ .monitoring.prometheus.version ]]-1'
env: {}
resources:
cpu: 200
memory: 512
volumes:
data:
type: csi
source: 'prometheus-data'
per_alloc: true
vault:
policies:
- 'prometheus[[ .consul.suffix ]]'
jobs: {}
alert_rules: {}
# alert_rules:
# postgres:
# url: https://raw.githubusercontent.com/samber/awesome-prometheus-alerts/master/dist/rules/prometheus-self-monitoring/embedded-exporter.yml
public_url: https://prometheus.example.org
traefik:
enabled: true
router: prometheus
retention: 30d
prometheus:
enabled: true
metrics_url: http://localhost:9090/metrics
alertmanager:
count: 1
version: 0.27.0
image: '[[ .docker.repo ]]alertmanager:[[ .monitoring.alertmanager.version ]]-1'
env: {}
resources:
cpu: 50
memory: 64
memory_max: 80
public_url: https://alerte.example.org
traefik:
enabled: true
router: alertmanager
strip_prefix: false
volumes:
data:
source: 'alertmanager-data'
type: csi
per_alloc: true
prometheus:
metrics_url: http://127.0.0.1:9093/metrics
vault:
policies:
- metrics
- 'alertmanager[[ .consul.suffix ]]'
email:
from: alertmanager@[[ .consul.domain ]]
custom_config: {}
loki:
version: 2.9.6
image: '[[ .docker.repo ]]loki:[[ .monitoring.loki.version ]]-1'
env: {}
resources:
cpu: 150
memory: 512
vault:
policies:
- 'loki[[ .consul.suffix ]]'
public_url: https://loki.example.org
traefik:
router: loki
retention: 720h # 1 month
custom_config: {}
prometheus:
metrics_url: http://localhost:3100/metrics
volumes:
data:
type: csi
source: 'loki-data'
vector:
version: 0.36.1
image: '[[ .docker.repo ]]vector:[[ .monitoring.vector.version ]]-1'
aggregator:
count: 1
image: '[[ .monitoring.vector.image ]]'
env: {}
resources:
cpu: 100
memory: 192
consul:
connect:
upstreams:
- destination_name: 'loki[[ .consul.suffix ]]'
local_bind_port: 3100
vault:
policies:
- metrics[[ .consul.suffix ]]
fluentd:
enabled: false
traefik:
router: fluentd
entrypoints:
- fluentd
syslog_udp:
enabled: false
traefik:
router: syslog-udp
entrypoints:
- syslog
vector:
enabled: true
public_url: https://vector.example.org
traefik:
enabled: false
prometheus:
metrics_url: http://127.0.0.1:9001/metrics
grafana:
version: 10.4.1
image: '[[ .docker.repo ]]grafana:[[ .monitoring.grafana.version ]]-1'
env:
GF_SECURITY_ADMIN_PASSWORD: '{{ with secret "[[ .vault.root ]]kv/service/[[ .instance ]]/grafana" }}{{ .Data.data.initial_admin_pwd }}{{ end }}'
resources:
cpu: 100
memory: 256
public_url: https://grafana.example.org
plugins:
#- alexanderzobnin-zabbix-app
#- ddurieux-glpi-app
- grafana-clock-panel
- grafana-piechart-panel
feature_toggles: {}
traefik:
enabled: true
router: grafana
strip_prefix: false
consul:
connect:
upstreams:
- destination_name: postgres[[ .consul.suffix ]]
local_bind_port: 5432
- destination_name: loki[[ .consul.suffix ]]
local_bind_port: 3100
- destination_name: prometheus[[ .consul.suffix ]]
local_bind_port: 9090
volumes:
data:
type: csi
source: 'grafana-data'
vault:
policies:
- 'grafana[[ .consul.suffix ]]'
database:
role: grafana
pgrole: grafana
postgres:
database: grafana
user: '{{ with secret "[[ .vault.root ]]database/creds/grafana" }}{{ .Data.username }}{{ end }}'
password: '{{ with secret "[[ .vault.root ]]database/creds/grafana" }}{{ .Data.password }}{{ end }}'
pooler:
mode: session
prometheus:
metrics_url: http://localhost:3000[[ (urlParse .monitoring.grafana.public_url).Path ]]/metrics
agent:
consul:
meta:
alloc: '${node.unique.name}'
nomad:
node_pool: all
nomad_vector_logger:
version: 24.3
image: '[[ .docker.repo ]]nomad-vector-logger:[[ .monitoring.agent.nomad_vector_logger.version ]]-2'
env: {}
resources:
cpu: 20
memory: 24
memory_max: 50
vault:
policies:
- nomad-vector-logger[[ .consul.suffix ]]
vector:
image: '[[ .monitoring.vector.image ]]'
env: {}
resources:
cpu: 100
memory: 192
memory_max: 384
vault:
policies:
- metrics[[ .consul.suffix ]]
consul:
connect:
upstreams:
- destination_name: loki[[ .consul.suffix ]]
local_bind_port: 3100
volumes:
nomad:
type: host
source: nomad_alloc
read_only: true
data:
type: host
source: vector_data
prometheus:
metrics_url: http://127.0.0.1:9001/metrics
prometheus:
enabled: true