# 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"]