Monitoring Skopos

Prometheus Metrics

Skopos exposes a set of metrics about itself in a format that can be consumed by Prometheus. These are exposed over http on a separate port than the Skopos API (default: 9100) under /metrics. Access to the metrics is not affected by your security configuration for the Skopos API, i.e. it will not require authentication or use SSL.

To be able to access the metrics, you need to run the Skopos container with the metrics port (9100) exposed. For example:

docker run -d -p 8100:8100 -p 9100:9100 --restart=unless-stopped --name skopos \
    -v /var/run/docker.sock:/var/run/docker.sock \
    opsani/skopos

This would expose the metrics as: http://<your_skopos_host>:9100/metrics.

Currently, the following groups of metrics are exposed:

  • process: system stats about the Skopos process, i.e. memory usage, file descriptors open, CPU time consumed, etc.
  • http: stats about all REST API requests served by Skopos (not including static content served to the Skopos GUI), i.e. total number of requests, response size, etc.
  • go: internal stats about the go language runtime, i.e. number of threads, goroutines, etc.