226c550ffa
As stream writer workers are also powered by the `generic_worker` Synapse app, this necessitated that we provide means for distinguishing between them and regular `generic_workers`. I've also taken the time to optimize nginx configuration generation (more Jinja2 macro usage, less duplication). Worker names have also changed. Workers are now named sequentially like this: - `matrix-synapse-worker-0-generic` - `matrix-synapse-worker-1-stream-writer-typing` - `matrix-synapse-worker-2-pusher` instead of `matrix-synapse-worker_generic_worker-18111` (indexed with a port number). People who modify `matrix_synapse_workers_enabled_list` directly will need to adjust their configuration.
67 lines
2.2 KiB
Django/Jinja
67 lines
2.2 KiB
Django/Jinja
#jinja2: lstrip_blocks: "True"
|
|
global:
|
|
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
|
|
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
|
|
# scrape_timeout is set to the global default (10s).
|
|
|
|
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
|
|
rule_files:
|
|
{% if matrix_prometheus_scraper_synapse_rules_enabled %}
|
|
- 'synapse-v2.rules'
|
|
{% endif %}
|
|
|
|
# A scrape configuration containing exactly one endpoint to scrape:
|
|
# Here it's Prometheus itself.
|
|
scrape_configs:
|
|
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
|
|
- job_name: 'prometheus'
|
|
|
|
# Override the global default and scrape targets from this job every 5 seconds.
|
|
scrape_interval: 5s
|
|
scrape_timeout: 5s
|
|
|
|
# metrics_path defaults to '/metrics'
|
|
# scheme defaults to 'http'.
|
|
|
|
static_configs:
|
|
- targets: ['localhost:9090']
|
|
|
|
{% if matrix_prometheus_scraper_synapse_enabled %}
|
|
- job_name: 'synapse'
|
|
metrics_path: '/_synapse/metrics'
|
|
static_configs:
|
|
- targets: {{ matrix_prometheus_scraper_synapse_targets|to_json }}
|
|
labels:
|
|
instance: {{ matrix_domain }}
|
|
job: master
|
|
index: 0
|
|
{% for worker in matrix_prometheus_scraper_synapse_workers_enabled_list %}
|
|
{% if worker.metrics_port != 0 %}
|
|
- targets: ['{{ worker.name }}:{{ worker.metrics_port }}']
|
|
labels:
|
|
instance: {{ matrix_domain }}
|
|
worker_id: {{ worker.id }}
|
|
job: {{ worker.type }}
|
|
app: {{ worker.app }}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% endif %}
|
|
|
|
{% if matrix_prometheus_scraper_node_enabled %}
|
|
- job_name: node
|
|
static_configs:
|
|
- targets: {{ matrix_prometheus_scraper_node_targets|to_json }}
|
|
{% endif %}
|
|
|
|
{% if matrix_prometheus_scraper_postgres_enabled %}
|
|
- job_name: postgres
|
|
static_configs:
|
|
- targets: {{ matrix_prometheus_scraper_postgres_targets|to_json }}
|
|
{% endif %}
|
|
|
|
{% if matrix_prometheus_scraper_hookshot_enabled %}
|
|
- job_name: hookshot
|
|
static_configs:
|
|
- targets: {{ matrix_prometheus_scraper_hookshot_targets|to_json }}
|
|
{% endif %}
|