Skip to main content

A Prometheus exporter for Synapse metrics

Project description

Synapse Exporter for Prometheus

This is an exporter for Prometheus that collects metrics from a Synapse PostgreSQL database. SQLite is not supported.

It is designed to be used with the Synapse Matrix server and provides some additional metrics that are not exported by the internal Prometheus exporter.

Metrics

The exporter currently provides the following metrics:

  • synapse_local_users_state: Number of local users by state (active, disabled)
  • synapse_local_users_type: Number of local users by type (guest, user, appservice)
  • synapse_local_users_moderation: Number of local users by moderation status (active, shadow_banned, locked)
  • synapse_local_users_appservice: Number of local users by appservice ID
  • synapse_total_devices: Total number of devices
  • synapse_total_rooms: Total number of rooms
  • synapse_total_events: Total number of events
  • synapse_federation_destinations: Number of federation destinations (i.e. federated servers)

Installation

You can install the exporter from PyPI. Within a virtual environment, run:

pip install synapse-prometheus-exporter

Configuration

The exporter is configured using a config.yaml. You can create a default configuration file in the current working directory with:

synapse-prometheus-exporter --create-config

Now, edit the config.yaml file to match your PostgreSQL connection settings. Here is an example configuration:

hosts:
  - host: localhost
    port: 5432
    user: postgres
    password: postgres
    database: synapse

Usage

After you have created your config.yaml, you can start the exporter with:

synapse-prometheus-exporter

By default, the exporter listens on localhost:8999. You can change the address in the config.yaml file, or using the --host and --port flags:

synapse-prometheus-exporter --host 0.0.0.0 --port 9899

You can also specify a different configuration file with the --config flag:

synapse-prometheus-exporter --config /path/to/config.yaml

License

This project is licensed under the MIT License. See the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

synapse_prometheus_exporter-0.0.2.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file synapse_prometheus_exporter-0.0.2.tar.gz.

File metadata

File hashes

Hashes for synapse_prometheus_exporter-0.0.2.tar.gz
Algorithm Hash digest
SHA256 d527761cd895b1fa449839d44014f29162c4038f909da2683857e873daf66124
MD5 e6832c70795f951755ac5bc48a2b3ec1
BLAKE2b-256 b1997df77789f13cfb20f65006b7fa11b2605a78f8b267111c7bf1602d5f35be

See more details on using hashes here.

File details

Details for the file synapse_prometheus_exporter-0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for synapse_prometheus_exporter-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fb6a95faad5e9bbc76ed94a7a7114b735f3c912fb973084795f889347245fde6
MD5 bd7573ca1ad355eeb13c3ef1c8667408
BLAKE2b-256 1fb35c693f81a619638aea0568dda6d28ebd0dfc02ffd637226a0c6122181369

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page