Monitoring the Self-Managed Micro-Integration's State
You can monitor the internal state of the Micro-Integration using endpoints provided by Spring Boot Actuator. In the application.yml file, you can specify which endpoints are available, as follows:
management:
simple:
metrics:
export:
enabled: true
endpoints:
web:
exposure:
include: "health,metrics,loggers,logfile,channels,env,workflows,leaderelection,bindings,info"
In this example, setting management.simple.metrics.export.enabled to true enables the collection of metrics. The include property lists the IDs of the endpoints that are exposed.
Exposed HTTP/HTTPS Endpoints
Actuator endpoints let you monitor and interact with your Micro-Integration.
-
You can query the exposed Actuator endpoints using the web interface (for example, using
https://localhost:8090/actuator/<some_endpoint>). They are also available to the Solace Micro-Integration Manager. -
You might decide not to expose all of these endpoints. Any endpoints that are not exposed are not visible, whether you query them or use Micro-Integration Manager.
The simple metrics registry is only to be used for testing. It is not a production-ready means of collecting metrics. In production, use a dedicated monitoring system (for example, Datadog, Prometheus, etc.) to collect metrics.
The Actuator endpoint returns information about the connector’s internal states:
GET: /actuator/
The data returned using the example configuration is:
"_links": {
"self": {
"href": "/actuator",
"templated": false
},
"workflows": {
"href": "/actuator/workflows",
"templated": false
},
"workflows-workflowId": {
"href": "/actuator/workflows/{workflowId}",
"templated": true
},
"leaderelection": {
"href": "/actuator/leaderelection",
"templated": false
},
"health-path": {
"href": "/actuator/health/{*path}",
"templated": true
},
"health": {
"href": "/actuator/health",
"templated": false
},
"metrics": {
"href": "/actuator/metrics",
"templated": false
},
"metrics-requiredMetricName": {
"href": "/actuator/metrics/{requiredMetricName}",
"templated": true
}
}
}