Monitoring API Gateway through Prometheus Metrics
How do I collect Prometheus metrics?
To check the usage of the application and system parameters, use the following metrics endpoint: GET /metrics. When the endpoint is called, API Gateway gathers metrics and returns the data in the Prometheus format.
Note:
Prometheus is a non-
IBM dashboarding tool that helps in trend analysis. For more information, see
https://prometheus.io/.
Prometheus metrics are exposed through the following endpoint.
[http|https]://host:port/metrics
The metrics endpoint by default is available on the following ports:
Default primary port (http). 5555
Default secure port (https). 5543
Default diagnostic port (debug port). 9999
A sample for the metrics endpoint is as follows:
http://server:5555/metrics
The metrics you monitor have the following characteristics:
The metrics are maintained separately for each cluster node
The metrics are not persisted. They are reinitialized on
API Gateway restart.
Authentication for the metrics endpoint
By default, the authentication is disabled when running
API Gateway as Docker container.
For on-premise installations, the following environment variable can be set to switch off the authentication for the metrics endpoint:
SAG_IS_METRICS_ENDPOINT_ACL=Anonymous
The endpoint also exposes the Integration Server Prometheus metrics. For more details on the Integration Server Prometheus metrics, see Developing Microservices with IBM webMethods Microservices Runtime.
Exposing API Gateway Prometheus Metrics over a dedicated port
The metrics endpoint can be made available on a custom port. After creating the port, add the following service to the port's allow list:
wm.server.query:getPrometheusStats
Similarly, the metrics endpoint can be removed from the default ports (5555 or 5543 or 9999) by removing the service from the allow or deny lists.