Metrics (Prometheus, OpenMetrics)
Airlock IAM provides a metrics endpoint that can be used for monitoring and other operational tasks.
This article outlines the available metrics and how to enable and configure the metrics endpoint.
Available Metrics
The following list outlines the available metrics available as of Airlock IAM 8.3. More metrics may be added in later releases.
Available metrics (provided by the Prometheus Java client library):
- JVM-related metrics
- buffer pool
- class loading and compilation
- garbage collection
- memory and memory pool allocation
- runtime information
- thread metrics
- Process-related metrics
- CPU usage
- file descriptor usage
- memory
Call the metric endpoint in the web browser to get the full list of metrics with names, types, and descriptions. It lists all available metrics in the Prometheus text format.
The URL depends on the IAM host and the metrics port in the instance configuration (see below).
Example URL: http://iam-host:5555/metrics
Metric formats and filters
The IAM metrics endpoint supports the following formats:
- OpenMetrics text
- Prometheus text
- Prometheus protobuf
Single metrics names can be filtered using the URL query parameter name[]
and the metric name.
Example: http://iam-host:5555/metrics?name[]=jvm_threads_current
Activation and configuration
The metric endpoint needs to be activated. It is disabled by default.
To activate the metric endpoint:
- Open the instance configuration (instance.properties) in an editor.
- Add (or uncomment) property
iam.
and choose a free port.metrics
.port ### METRICS ## If a port is set, a metrics endpoint will be exposed on that port ## (http://host:port/metrics). iam.metrics.port = 5555
- Info
When starting IAM, the metrics may also be activated (and the port configured) by setting the environment variable
IAM_METRICS_PORT
.
Further information and links
Internal links:
External links:
- Metrics are based on the Prometheus Java client library