1 Commits

Author SHA1 Message Date
d269ee8084 some small changes 2024-02-13 16:43:28 +01:00
9 changed files with 15 additions and 18 deletions

View File

@ -1,7 +1,7 @@
TYPE=monitoring-ng TYPE=monitoring-ng
LETS_ENCRYPT_ENV=production LETS_ENCRYPT_ENV=production
COMPOSE_FILE=compose.yml COMPOSE_FILE=compose.yml
DOMAIN=monitoring.example.com DOMAIN=monitoring-ng.example.com
TIMEOUT=120 TIMEOUT=120
## Enable this secret for Promtail / Prometheus ## Enable this secret for Promtail / Prometheus
@ -36,16 +36,16 @@ TIMEOUT=120
## Grafana ## Grafana
# #
# COMPOSE_FILE="$COMPOSE_FILE:compose.grafana.yml" # COMPOSE_FILE="$COMPOSE_FILE:compose.grafana.yml"
# GF_SERVER_ROOT_URL=https://monitoring.example.com # GF_SERVER_ROOT_URL=https://${DOMAIN}
# SECRET_GRAFANA_ADMIN_PASSWORD_VERSION=v1 # SECRET_GRAFANA_ADMIN_PASSWORD_VERSION=v1
# #
## Single-Sign-On with OIDC ## Single-Sign-On with OIDC
# OIDC_ENABLED=1 # OIDC_ENABLED=1
# SECRET_GRAFANA_OIDC_CLIENT_SECRET_VERSION=v1 # SECRET_GRAFANA_OIDC_CLIENT_SECRET_VERSION=v1
# OIDC_CLIENT_ID=grafana # OIDC_CLIENT_ID=grafana
# OIDC_AUTH_URL="https://authentik.example.com/application/o/authorize/" # OIDC_AUTH_URL="https://sso.example.com/auth/realms/autonomic/protocol/openid-connect/auth"
# OIDC_API_URL="https://authentik.example.com/application/o/userinfo/" # OIDC_API_URL="https://sso.example.com/auth/realms/autonomic/protocol/openid-connect/userinfo"
# OIDC_TOKEN_URL="https://authentik.example.com/application/o/token/" # OIDC_TOKEN_URL="https://sso.example.com/auth/realms/autonomic/protocol/openid-connect/token"
# #
## Additional grafana settings (unlikely to require editing) ## Additional grafana settings (unlikely to require editing)
# GF_SECURITY_ALLOW_EMBEDDING=1 # GF_SECURITY_ALLOW_EMBEDDING=1

View File

@ -36,7 +36,7 @@ Where gathering.org is the node you want to gather metrics from.
SECRET_USERSFILE_VERSION=v1 SECRET_USERSFILE_VERSION=v1
``` ```
- Generate userslist with httpasswd hashed password - Generate userslist with httpasswd hashed password
`abra app secret insert traefik.gathering.org userslist v1 'admin:<hashed-secret>'` `abra app secret insert traefik.gathering.org usersfile v1 'admin:<hashed-secret>'`
make sure there is no whitespace in between `admin:<hashed-secret>`, it seems to break stuff... make sure there is no whitespace in between `admin:<hashed-secret>`, it seems to break stuff...
- `abra app deploy -f traefik` - `abra app deploy -f traefik`
1. `abra app new monitoring-ng` 1. `abra app new monitoring-ng`
@ -58,12 +58,12 @@ Where gathering.org is the node you want to gather metrics from.
- `abra app new monitoring-ng` - `abra app new monitoring-ng`
- `abra app config monitoring.example.org` - `abra app config monitoring.example.org`
Uncomment all the stuff Uncomment all the stuff
- `abra app secret insert monitoring.example.org basic_auth v1 <secret>` - `abra app secret insert monitoring.example.org basic_auth_admin_password v1 <secret>`
this needs the plaintext traefik basic-auth secret, not the hashed one! this needs the plaintext traefik basic-auth secret, not the hashed one!
- `abra app secret ls monitoring.example.org` - `abra app secret ls monitoring.example.org`
- `abra app deploy monitoring.example.org` - `abra app deploy monitoring.example.org`
1. add scrape config to prometheus 1. add scrape config to prometheus
- `abra app cmd monitoring.example.org prometheus gathering.org` - `abra app cmd monitoring.example.org prometheus add_node gathering.org`
- or manually - or manually
``` ```
cp scrape-config.example.yml gathering.org.yml cp scrape-config.example.yml gathering.org.yml

View File

@ -12,7 +12,6 @@ export PROMETHEUS_YML_VERSION=v2
# creates a default prometheus scrape config for a given node # creates a default prometheus scrape config for a given node
add_node(){ add_node(){
name=$1 name=$1
add_domain "$name" "$name:8082"
add_domain "$name" "node.monitoring.$name" add_domain "$name" "node.monitoring.$name"
add_domain "$name" "cadvisor.monitoring.$name" add_domain "$name" "cadvisor.monitoring.$name"
cat "/prometheus/scrape_configs/$name.yml" cat "/prometheus/scrape_configs/$name.yml"

View File

@ -2,7 +2,7 @@ version: '3.8'
services: services:
grafana: grafana:
image: grafana/grafana:10.4.5 image: grafana/grafana:10.2.3
volumes: volumes:
- grafana-data:/var/lib/grafana:rw - grafana-data:/var/lib/grafana:rw
secrets: secrets:

View File

@ -2,7 +2,7 @@ version: '3.8'
services: services:
loki: loki:
image: grafana/loki:2.9.9 image: grafana/loki:2.9.3
command: -config.file=/etc/loki/local-config.yaml command: -config.file=/etc/loki/local-config.yaml
networks: networks:
- proxy - proxy

View File

@ -2,7 +2,7 @@ version: '3.8'
services: services:
prometheus: prometheus:
image: prom/prometheus:v2.53.1 image: prom/prometheus:v2.48.1
secrets: secrets:
- basic_auth - basic_auth
volumes: volumes:

View File

@ -2,7 +2,7 @@ version: "3.8"
services: services:
promtail: promtail:
image: grafana/promtail:2.9.9 image: grafana/promtail:2.9.3
volumes: volumes:
- /var/log:/var/log:ro - /var/log:/var/log:ro
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock

View File

@ -3,7 +3,7 @@ version: "3.8"
services: services:
app: app:
image: prom/node-exporter:v1.8.1 image: prom/node-exporter:v1.7.0
user: root user: root
environment: environment:
- NODE_ID={{.Node.ID}} - NODE_ID={{.Node.ID}}
@ -30,7 +30,6 @@ services:
restart_policy: restart_policy:
condition: on-failure condition: on-failure
labels: labels:
- "backupbot.backup=true"
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.services.${STACK_NAME}-node.loadbalancer.server.port=9100" - "traefik.http.services.${STACK_NAME}-node.loadbalancer.server.port=9100"
- "traefik.http.routers.${STACK_NAME}-node.rule=Host(`node.${DOMAIN}`)" - "traefik.http.routers.${STACK_NAME}-node.rule=Host(`node.${DOMAIN}`)"
@ -38,11 +37,11 @@ services:
- "traefik.http.routers.${STACK_NAME}-node.tls=true" - "traefik.http.routers.${STACK_NAME}-node.tls=true"
- "traefik.http.routers.${STACK_NAME}-node.tls.certresolver=${LETS_ENCRYPT_ENV}" - "traefik.http.routers.${STACK_NAME}-node.tls.certresolver=${LETS_ENCRYPT_ENV}"
- "traefik.http.routers.${STACK_NAME}-node.middlewares=basicauth@file" - "traefik.http.routers.${STACK_NAME}-node.middlewares=basicauth@file"
- "coop-cloud.${STACK_NAME}.version=1.2.0+v1.8.1" - "coop-cloud.${STACK_NAME}.version=1.0.0+v1.7.0"
- "coop-cloud.${STACK_NAME}.timeout=${TIMEOUT:-120}" - "coop-cloud.${STACK_NAME}.timeout=${TIMEOUT:-120}"
cadvisor: cadvisor:
image: gcr.io/cadvisor/cadvisor:v0.49.1 image: gcr.io/cadvisor/cadvisor:v0.47.2
command: command:
- "-logtostderr" - "-logtostderr"
- "--enable_metrics=cpu,cpuLoad,disk,diskIO,process,memory,network" - "--enable_metrics=cpu,cpuLoad,disk,diskIO,process,memory,network"

View File

@ -1,4 +1,3 @@
- targets: - targets:
- 'example.org:8082'
- 'node.monitoring.example.org' - 'node.monitoring.example.org'
- 'cadvisor.monitoring.example.org' - 'cadvisor.monitoring.example.org'