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
    }
  }
}

Obtaining Build Information

Build information that includes the version, build date, time, and description is enabled by default using the Spring Boot Actuator Info Endpoint. By default, a Micro-Integration only shares information related to its build.

The following example shows the structure of the output data:

{
  "build": {
    "version": "<connector version>",
    "artifact": "<connector artifact>",
    "name": "<connector name>",
    "time": "<connector build time>",
    "group": "<connector group>",
    "description": "<connector description>",
    "support": "<support information>"
  }
}

If you want to exclude build data from the output of the info endpoint, set management.info.build.enabled to false.

Alternatively, if you want to disable the info endpoint entirely, you can remove info from the list of endpoints specified in management.endpoints.web.exposure.include.