Statistics with Grafana/Prometheus with sensor based on Overleaf instance statistics- #178

This commit is contained in:
David Rotermund
2026-10-27 13:43:32 +00:00
parent 6f2cf1c060
commit 05b1b04513
57 changed files with 3456 additions and 22 deletions
@@ -0,0 +1,67 @@
# overleaf-cep — Prometheus scrape config
# Modeled on the OlliTeX toolkit compose (reference: toolkit/compose.yaml +
# build-images/prometheus/prometheus.yml), adapted to THIS stack's container
# names. All targets are inside `overleaf-network` (Prometheus scrapes from
# inside the docker network; the nginx edge does not forward /metrics).
global:
scrape_interval: 15s
evaluation_interval: 15s
external_labels:
stack: overleaf-cep
scrape_configs:
# --- the Overleaf app itself ------------------------------------------------
# The sharelatex image ships the @overleaf/metrics sensors on the web
# process (libraries/metrics): num_active_users, timer_http_request
# (summaries with quantiles), mongo_command_*, nodejs_* (event loop lag,
# GC, heap), security_http_auth_check_credentials, editor_join_project,
# tpds_add_doc, lock_mongoTransaction_*, ...
# Verified live: 0.0.0.0:3000 inside the container, samples carry
# app="web-api",host="overleaf". (Other in-image services e.g. compile
# :4000 are 127.0.0.1-bound and therefore not network-scrapable.)
- job_name: overleaf-web
metrics_path: /metrics
static_configs:
- targets: ["overleaf:3000"]
labels: { app: web-api }
# --- MongoDB (percona exporter) ----------------------------------------------
- job_name: overleaf-mongodb
metrics_path: /metrics
static_configs:
- targets: ["mongodb-exporter:9216"]
# --- Redis (oliver006 exporter) ------------------------------------------------
- job_name: overleaf-redis
metrics_path: /metrics
static_configs:
- targets: ["redis-exporter:9121"]
# --- Filestore (SeaweedFS master native prometheus, -metricsPort=9327) --------
- job_name: overleaf-filestore
metrics_path: /metrics
static_configs:
- targets: ["seaweedfs-master:9327"]
labels: { component: master }
# --- Instance stats sensor (PR yu-i-i/overleaf-cep#178, live as prometheus) ---
- job_name: overleaf-instance
metrics_path: /metrics
static_configs:
- targets: ["instance-sensor:9464"]
# --- Host-level signals ---------------------------------------------------------
- job_name: node
metrics_path: /metrics
static_configs:
- targets: ["node-exporter:9100"]
# --- The monitoring stack itself (self-up visibility in dashboards) -------------
- job_name: prometheus
static_configs:
- targets: ["prometheus:9090"]
- job_name: grafana
metrics_path: /metrics
static_configs:
- targets: ["grafana:3000"]