Configure metrics
Metrics are exposed on a dedicated port specified by the configuration setting METRICSPORT
. If this setting isn't defined, the default port used is 8890
. The Domino REST API exposes metrics produced by MicroMeter in a Prometheus compatible format, which can be polled via this metrics port.
About this task
The procedure guides you in configuring Domino REST API related to the exposure of metrics on the dedicated port.
Before you begin
Check the Metrics parameters to learn and understand the parameters you can use in configuring Domino REST API to expose metrics.
Procedure
- Create a JSON file using a text editor.
-
Add a JSON object to the JSON file.
{ "metrics" : { "enabled" : true, "jvmMetricsEnabled" : false } }
Note
- Enabling
jvmMetricsEnabled
by setting it totrue
increases the volume of collected metrics data and may impact system performance. Only enable this option when troubleshooting is necessary. - Changing
enabled
tofalse
prevents exposure of metrics on the dedicated port.
- Enabling
-
Add metrics parameters in the JSON object as required to modify the configuration. See Metrics parameters for parameter details.
-
Save the JSON file in the
keepconfig.d
directory.Tip
Use a filename for the JSON file that reveals its purpose. To learn more on how JSON files in
keepconfig.d
are processed, see Configuration management and overlay hierarchy. -
Restart Domino REST API on all servers.
Additional information
Collected metrics
Out-of-the-box, Vert.x automatically collects various of metrics related to JVM, CPU, thread pools, HTTP servers, and the event bus.
In addition to these standard Vert.x metrics, there are metrics specific to Domino REST API. The following metrics and tags are collected:
-
Unauthenticated or badly authenticated requests counter (
keep.unauthenticated.request.count
)Tags:
className
(source class name)errorClassName
(error class name)
-
API requests counter (
keep.web.handler.requests.total
)Tags:
route
(such asapi.v1
,api.admin.v1
)operationId
(such asfetchjwt
)
-
Database-facing handlers requests counter (
keep.database.handler.count
)Tags:
className
(source class name)keepDatabase
(Domino REST API database queried)type
(requests type: application, basic auth, user token)
-
Erroring requests to database-facing handlers counter (
keep.database.handler.errors.count
)Tags:
classname
(source class name)keepdatabase
(Domino REST API database queried)type
(requests type: application, basic auth, user token)
-
Database-facing handler request duration timer (
keep.database.handler.duration
).Tags:
className
(source class name)keepDatabase
(Domino REST API database queried)
-
Server-side application request counter (
keep.application.requests.count
)Tags:
className
(source class name)keepDatabase
(Domino REST API database queried)appId
(ID of the Domino REST API Application making the request)
-
View entries requested cpunter (
keep.database.handler.entries.count
)Tags:
className
(source class name)keepDatabase
(Domino REST API database queried)type
(requests type: application, basic auth, user token)