Compare commits
1 Commits
seperate-o
...
cleanup-do
| Author | SHA1 | Date | |
|---|---|---|---|
| 4e038327b5 |
@ -50,7 +50,6 @@ ENABLE_BACKUPS=true
|
|||||||
#GRAFANA_DOMAIN=grafana.example.com
|
#GRAFANA_DOMAIN=grafana.example.com
|
||||||
#
|
#
|
||||||
## Single-Sign-On with OIDC
|
## Single-Sign-On with OIDC
|
||||||
# COMPOSE_FILE="$COMPOSE_FILE:compose.grafana-oidc.yml"
|
|
||||||
# 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
|
||||||
@ -63,7 +62,6 @@ ENABLE_BACKUPS=true
|
|||||||
# GF_INSTALL_PLUGINS=grafana-piechart-panel
|
# GF_INSTALL_PLUGINS=grafana-piechart-panel
|
||||||
#
|
#
|
||||||
## grafana SMTP configuration (optional)
|
## grafana SMTP configuration (optional)
|
||||||
# COMPOSE_FILE="$COMPOSE_FILE:compose.grafana-smtp.yml"
|
|
||||||
# GF_SMTP_HOST=changeme
|
# GF_SMTP_HOST=changeme
|
||||||
# GF_SMTP_USER=changme
|
# GF_SMTP_USER=changme
|
||||||
# GF_SMTP_ENABLED=true
|
# GF_SMTP_ENABLED=true
|
||||||
|
|||||||
35
README.md
35
README.md
@ -18,32 +18,18 @@ It's based heavily on the [monitoring-lite](https://git.coopcloud.tech/coop-clou
|
|||||||
|
|
||||||
<!-- endmetadata -->
|
<!-- endmetadata -->
|
||||||
|
|
||||||
## Setup a Metrics Gathering
|
## Setup Metrics Gathering
|
||||||
|
|
||||||
Where gathering.org is the node you want to gather metrics from.
|
Where gathering.org is the node you want to gather metrics from.
|
||||||
|
|
||||||
1. Configure DNS
|
1. Configure DNS
|
||||||
- monitoring.gathering.org
|
|
||||||
- cadvisor.monitoring.gathering.org
|
- cadvisor.monitoring.gathering.org
|
||||||
- node.monitoring.gathering.org
|
- node.monitoring.gathering.org
|
||||||
1. Configure Traefik to use BasicAuth
|
2. [Configure Traefik to use BasicAuth](https://git.coopcloud.tech/coop-cloud/traefik#configuring-wildcard-ssl-using-dns)
|
||||||
* `abra app config traefik.gathering.org`
|
3. `abra app new monitoring-ng`
|
||||||
uncomment
|
4. `abra app config monitoring.gathering.org` (for gathering only the main `compose.yml` is needed, nothing more.)
|
||||||
```
|
5. `abra app deploy monitoring.gathering.org`
|
||||||
# BASIC_AUTH
|
6. check that endpoints are up and basic-auth works
|
||||||
COMPOSE_FILE="$COMPOSE_FILE:compose.basicauth.yml"
|
|
||||||
BASIC_AUTH=1
|
|
||||||
SECRET_USERSFILE_VERSION=v1
|
|
||||||
```
|
|
||||||
- Generate userslist with httpasswd hashed password
|
|
||||||
`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...
|
|
||||||
- `abra app deploy -f traefik`
|
|
||||||
1. `abra app new monitoring-ng`
|
|
||||||
1. `abra app config monitoring.gathering.org`
|
|
||||||
for gathering only the main `compose.yml` is needed, nothing more.
|
|
||||||
1. `abra app deploy monitoring.gathering.org`
|
|
||||||
1. check that endpoints are up and basic-auth works
|
|
||||||
- cadvisor.monitoring.gathering.org
|
- cadvisor.monitoring.gathering.org
|
||||||
- node.monitoring.gathering.org
|
- node.monitoring.gathering.org
|
||||||
|
|
||||||
@ -56,16 +42,13 @@ In case you have no traefik running on the machine, you can expose the ports dir
|
|||||||
|
|
||||||
## Setup Metrics Browser
|
## Setup Metrics Browser
|
||||||
|
|
||||||
|
This builds upon [Setup Metrics Gathering](#setup-metrics-grathering) so make sure you did that first.
|
||||||
|
|
||||||
1. Configure DNS
|
1. Configure DNS
|
||||||
- monitoring.example.org
|
- monitoring.example.org
|
||||||
- prometheus.monitoring.example.org
|
|
||||||
- loki.monitoring.example.org
|
|
||||||
2. Setup monitoring stack
|
2. Setup monitoring stack
|
||||||
- `abra app new monitoring-ng`
|
- `abra app config monitoring.example.org` Uncomment prometheus, loki and grafana
|
||||||
- `abra app config monitoring.example.org`
|
- `abra app secret insert monitoring.example.org basic_auth v1 <password>`
|
||||||
Uncomment all the stuff
|
|
||||||
- `abra app secret insert monitoring.example.org basic_auth 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,16 +0,0 @@
|
|||||||
version: '3.8'
|
|
||||||
|
|
||||||
services:
|
|
||||||
grafana:
|
|
||||||
- grafana_oidc_client_secret
|
|
||||||
environment:
|
|
||||||
- OIDC_API_URL
|
|
||||||
- OIDC_AUTH_URL
|
|
||||||
- OIDC_CLIENT_ID
|
|
||||||
- OIDC_ENABLED
|
|
||||||
- OIDC_TOKEN_URL
|
|
||||||
|
|
||||||
secrets:
|
|
||||||
grafana_oidc_client_secret:
|
|
||||||
external: true
|
|
||||||
name: ${STACK_NAME}_grafana_oidc_client_secret_${SECRET_GRAFANA_OIDC_CLIENT_SECRET_VERSION}
|
|
||||||
@ -1,18 +0,0 @@
|
|||||||
version: '3.8'
|
|
||||||
|
|
||||||
services:
|
|
||||||
grafana:
|
|
||||||
secrets:
|
|
||||||
- grafana_smtp_password
|
|
||||||
environment:
|
|
||||||
- GF_SMTP_HOST
|
|
||||||
- GF_SMTP_USER
|
|
||||||
- GF_SMTP_PASSWORD__FILE=/run/secrets/grafana_smtp_password
|
|
||||||
- GF_SMTP_ENABLED
|
|
||||||
- GF_SMTP_FROM_ADDRESS
|
|
||||||
- GF_SMTP_SKIP_VERIFY
|
|
||||||
|
|
||||||
secrets:
|
|
||||||
grafana_smtp_password:
|
|
||||||
external: true
|
|
||||||
name: ${STACK_NAME}_grafana_smtp_password_${SECRET_GRAFANA_SMTP_PASSWORD_VERSION}
|
|
||||||
@ -7,6 +7,8 @@ services:
|
|||||||
- grafana-data:/var/lib/grafana:rw
|
- grafana-data:/var/lib/grafana:rw
|
||||||
secrets:
|
secrets:
|
||||||
- grafana_admin_password
|
- grafana_admin_password
|
||||||
|
- grafana_oidc_client_secret
|
||||||
|
- grafana_smtp_password
|
||||||
configs:
|
configs:
|
||||||
- source: grafana_custom_ini
|
- source: grafana_custom_ini
|
||||||
target: /etc/grafana/grafana.ini
|
target: /etc/grafana/grafana.ini
|
||||||
@ -30,8 +32,19 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
- GF_SERVER_ROOT_URL
|
- GF_SERVER_ROOT_URL
|
||||||
- GF_SECURITY_ADMIN_PASSWORD__FILE=/run/secrets/grafana_admin_password
|
- GF_SECURITY_ADMIN_PASSWORD__FILE=/run/secrets/grafana_admin_password
|
||||||
|
- GF_SMTP_HOST
|
||||||
|
- GF_SMTP_USER
|
||||||
|
- GF_SMTP_PASSWORD__FILE=/run/secrets/grafana_smtp_password
|
||||||
|
- GF_SMTP_ENABLED
|
||||||
|
- GF_SMTP_FROM_ADDRESS
|
||||||
|
- GF_SMTP_SKIP_VERIFY
|
||||||
- GF_SECURITY_ALLOW_EMBEDDING
|
- GF_SECURITY_ALLOW_EMBEDDING
|
||||||
- GF_INSTALL_PLUGINS
|
- GF_INSTALL_PLUGINS
|
||||||
|
- OIDC_API_URL
|
||||||
|
- OIDC_AUTH_URL
|
||||||
|
- OIDC_CLIENT_ID
|
||||||
|
- OIDC_ENABLED
|
||||||
|
- OIDC_TOKEN_URL
|
||||||
deploy:
|
deploy:
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
@ -84,3 +97,9 @@ secrets:
|
|||||||
grafana_admin_password:
|
grafana_admin_password:
|
||||||
external: true
|
external: true
|
||||||
name: ${STACK_NAME}_grafana_admin_password_${SECRET_GRAFANA_ADMIN_PASSWORD_VERSION}
|
name: ${STACK_NAME}_grafana_admin_password_${SECRET_GRAFANA_ADMIN_PASSWORD_VERSION}
|
||||||
|
grafana_oidc_client_secret:
|
||||||
|
external: true
|
||||||
|
name: ${STACK_NAME}_grafana_oidc_client_secret_${SECRET_GRAFANA_OIDC_CLIENT_SECRET_VERSION}
|
||||||
|
grafana_smtp_password:
|
||||||
|
external: true
|
||||||
|
name: ${STACK_NAME}_grafana_smtp_password_${SECRET_GRAFANA_SMTP_PASSWORD_VERSION}
|
||||||
|
|||||||
@ -30,6 +30,7 @@ services:
|
|||||||
- "traefik.http.routers.${STACK_NAME}-prometheus.entrypoints=web-secure"
|
- "traefik.http.routers.${STACK_NAME}-prometheus.entrypoints=web-secure"
|
||||||
- "traefik.http.routers.${STACK_NAME}-prometheus.tls=true"
|
- "traefik.http.routers.${STACK_NAME}-prometheus.tls=true"
|
||||||
- "traefik.http.routers.${STACK_NAME}-prometheus.tls.certresolver=${LETS_ENCRYPT_ENV}"
|
- "traefik.http.routers.${STACK_NAME}-prometheus.tls.certresolver=${LETS_ENCRYPT_ENV}"
|
||||||
|
- "traefik.http.routers.${STACK_NAME}-prometheus.middlewares=basicauth@file"
|
||||||
|
|
||||||
configs:
|
configs:
|
||||||
prometheus_yml:
|
prometheus_yml:
|
||||||
|
|||||||
@ -1,7 +0,0 @@
|
|||||||
1. OIDC was moved into a seperate compose file. If you have oidc configured you need to add the following line to you .env file:
|
|
||||||
|
|
||||||
COMPOSE_FILE="$COMPOSE_FILE:compose.grafana-oidc.yml"
|
|
||||||
|
|
||||||
2. SMTP was moved into a seperate compose file. If you have smtp configured you need to add the following line to you .env file:
|
|
||||||
|
|
||||||
COMPOSE_FILE="$COMPOSE_FILE:compose.grafana-smtp.yml"
|
|
||||||
Reference in New Issue
Block a user