4e2780ff88
This commit introduces a new role that downloads and installs the prometheus community postgres exporter https://github.com/prometheus-community/postgres_exporter. A new credential is added to matrix_postgres_additional_databases that allows the exporter access to the database to gather statistics. A new dashboard was added to the grafana role, with some refactoring to enable the dashboard only if the new role is enabled. I've included some basic instructions for how to enable the role in the Docs section. In terms of testing, I've tested enabling the role, and disabling it to make sure it cleans up the container and systemd role.
46 lines
1.5 KiB
Django/Jinja
46 lines
1.5 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 }}
|
|
{% 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 %} |