234 lines
5.2 KiB
YAML
234 lines
5.2 KiB
YAML
---
|
|
|
|
instance: monitoring
|
|
|
|
vault:
|
|
pki:
|
|
path: '[[ .prometheus.vault_pki ]]'
|
|
ou: Monitoring
|
|
rand_secrets:
|
|
- path: grafana
|
|
fields:
|
|
- secret_key
|
|
- initial_admin_pwd
|
|
|
|
monitoring:
|
|
|
|
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
|
|
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
|
|
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
|
|
|
|
prometheus:
|
|
enabled: true
|