Skip to content

Commit

Permalink
feat: monitoring with grafana & prometheus
Browse files Browse the repository at this point in the history
  • Loading branch information
fenos committed Jan 31, 2024
1 parent b8e74aa commit d350181
Show file tree
Hide file tree
Showing 15 changed files with 9,694 additions and 54 deletions.
6 changes: 3 additions & 3 deletions docker-compose-infra.yml
Original file line number Diff line number Diff line change
Expand Up @@ -95,14 +95,14 @@ services:
\"upstream_ssl\": false,
\"enforce_ssl\": false,
\"default_max_clients\": 200,
\"default_pool_size\": 15,
\"default_pool_size\": 10,
\"users\": [
{
\"db_user\": \"postgres\",
\"db_password\": \"postgres\",
\"mode_type\": \"transaction\",
\"pool_size\": 15,
\"pool_checkout_timeout\": 100
\"pool_size\": 2,
\"pool_checkout_timeout\": 5000
}
]
}
Expand Down
46 changes: 46 additions & 0 deletions docker-compose-monitoring.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
version: '3'
services:
pg_bouncer_exporter:
image: spreaker/prometheus-pgbouncer-exporter
environment:
PGBOUNCER_EXPORTER_HOST: 0.0.0.0
PGBOUNCER_EXPORTER_PORT: 9127
PGBOUNCER_HOST: pg_bouncer
PGBOUNCER_PORT: 6432
PGBOUNCER_USER: postgres
PGBOUNCER_PASS: postgres
depends_on:
- pg_bouncer
ports:
- 9127:9127

postgres_exporter:
image: quay.io/prometheuscommunity/postgres-exporter
ports:
- "9187:9187"
environment:
DATA_SOURCE_NAME: postgres://postgres:postgres@tenant_db:5432/postgres?sslmode=disable

prometheus:
image: prom/prometheus
container_name: prometheus
command:
- '--config.file=/etc/prometheus/prometheus.yml'
ports:
- 9090:9090
restart: unless-stopped
volumes:
- ./monitoring/prometheus:/etc/prometheus

grafana:
image: grafana/grafana
container_name: grafana
ports:
- 3000:3000
restart: unless-stopped
environment:
- GF_SECURITY_ADMIN_USER=admin
- GF_SECURITY_ADMIN_PASSWORD=grafana
volumes:
- ./monitoring/grafana/config:/etc/grafana/provisioning
- ./monitoring/grafana/dashboards:/var/lib/grafana/dashboards
20 changes: 20 additions & 0 deletions docker-compose-multi-tenant.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,9 @@ services:
IMGPROXY_URL: http://imgproxy:8080
IMGPROXY_REQUEST_TIMEOUT: 15

PG_QUEUE_ENABLE: "true"
DEBUG: "knex:tx"

tenant_db:
extends:
service: tenant_db
Expand Down Expand Up @@ -97,6 +100,23 @@ services:
# service: redis
# file: docker-compose-infra.yml

# Optional for monitoring:
# grafana:
# extends:
# service: grafana
# file: docker-compose-monitoring.yml
#
# prometheus:
# extends:
# service: prometheus
# file: docker-compose-monitoring.yml
#
# postgres_exporter:
# extends:
# service: postgres_exporter
# file: docker-compose-monitoring.yml


configs:
init.sql:
content: "CREATE SCHEMA IF NOT EXISTS _supavisor;"
19 changes: 18 additions & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@
version: '3'
services:
storage:
image: supabase/storage-api:latest
# image: supabase/storage-api:latest
build:
context: .
ports:
- '5000:5000'
- '5001:5001'
Expand Down Expand Up @@ -77,3 +79,18 @@ services:
# extends:
# service: redis
# file: docker-compose-infra.yml

pg_bouncer_exporter:
extends:
service: pg_bouncer_exporter
file: docker-compose-monitoring.yml

grafana:
extends:
service: grafana
file: docker-compose-monitoring.yml

prometheus:
extends:
service: prometheus
file: docker-compose-monitoring.yml
16 changes: 16 additions & 0 deletions monitoring/grafana/config/dashboards/default.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
apiVersion: 1

providers:
# <string> an unique provider name. Required
- name: 'Default Dashboard'
# <string> name of the dashboard folder.
folder: 'Storage'
type: file
disableDeletion: false
# <int> how often Grafana will scan for changed dashboards
updateIntervalSeconds: 10
allowUiUpdates: false
options:
# <string, required> path to dashboard files on disk. Required when using the 'file' type
path: /var/lib/grafana/dashboards
foldersFromFilesStructure: true
10 changes: 10 additions & 0 deletions monitoring/grafana/config/datasources/datacourse.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
apiVersion: 1

datasources:
- name: Prometheus
type: prometheus
url: http://prometheus:9090
isDefault: true
access: proxy
editable: true
uid: local_prometheus
Loading

0 comments on commit d350181

Please sign in to comment.