Prometheus monitoring

Prometheus is an open-source systems monitoring and alerting toolkit. Prometheus collects and stores its metrics as time series data. That data is collected from services (like SeedDMS) by polling a web page which delivers the information to monitor. In case of SeedDMS this information consists of the number of users, document, folder, etc.

The SeedDMS prometheus extension implements such a web page as an additional http end point which is not part of the regular REST API. It can be accessed at https://your-domain/metrics.

Installation and configuration

Installation of the extension is done the usual way by uploading the zip archive of the extension into the extension manager of SeedDMS.

There is just one configuration option in SeedDMS: the user allowed to access the /metrics end point. You should use a dedicated user with minimal rights in SeedDMS. Authentication is either done by basic authentication with user and password or the api token passed in the http header.

The configuration in Prometheus is just as simple. Just add another job in your prometheus.yml file:

  - job_name: "seeddms"
    scrape_interval: 600s
    scrape_timeout: 10s
    scheme: "https"
    metrics_path: "/metrics"
    basic_auth:
      username: 'prometheus'
      password: 'secret'
    static_configs:
      - targets:
        - 'dms.mydomain.de'

Of course, you need to adjust the username, password and targets.