Metrics

Accessing Metrics

Metrics are exposed on their own dedicated port, “METRICSPORT” in the config. The default, if not set, is port 8890. For accessing and configuring metrics see the pages for the relevant monitoring systems.

Supported Monitoring Systems

Different monitoring systems have different approaches to metrics data: - dimensional vs hierarchical. - some require rate aggregation prior to sending data. - some require the client to push data, others poll for data.

For details of accessing and configuring metrics, see the relevant page: - Prometheus

 Metrics Collected

Out-of-the-box Vert.x automatically collects a variety of metrics about JVM, CPU, thread pools, HTTP servers and the event bus.

In addition to standard Vert.x metrics, we also add in certain Keep-specific metrics. The following metrics and tags are collected:
1. Counter of unauthenticated / badly authenticated requests (“keep.unauthenticated.request.count”). The tags are:
- Source class name (className)
- Error class name (errorClassName)
2. Counter of API requests (“keep.web.handler.requests.total”). The tags are:
- route (e.g. “api.v1”, “api.admin.v1”) and operationId (e.g. “fetchjwt”)
3. Counter of requests to database-facing handlers (“keep.database.handler.count”). The tags are:
- Source class name (className)
- Keep database queried (keepDatabase)
- Requests type - application, basic auth, user token (type)
4. Counter of erroring requests to database-facing handlers (“keep.database.handler.errors.count”). The tags are:
- Source class name (className)
- Keep database queried (keepDatabase)
- Requests type - application, basic auth, user token (type)
5. Timer of database-facing handler requests (“keep.database.handler.duration”). The tags are:
- Source class name (className)
- Keep database queried (keepDatabase)
6. Counter of requests from server-side applications (“keep.application.requests.count”). The tags are:
- Source class name (className)
- Keep database queried (keepDatabase)
- ID of the Keep Application making the request (appId)
7. Counter of view entries requested (“keep.database.handler.entries.count”). The tags are:
- Source class name (className)
- Keep database queried (keepDatabase)
- Requests type - application, basic auth, user token (type)