Create a file in etc/featuresBoot.d/flows.boot sudo vi etc/featuresBoot.d/flows.boot Add the following features to Sentinel on startup sentinel-jsonstore-postgres sentinel-blobstore-noop sentinel-kafka sentinel-flows Connect to the Karaf shell via SSH ssh -p 8301 admin@localhost Configure Sentinel tracing and REST endpoint config:edit org.opennms.sentinel.controller config:property-set location SENTINEL(1) config:property-set id 00000000-0000-0000-0000-000000ddba11(2) config:property-set http-url http://core-instance-ip:8980/opennms(3) config:update 1 A location string is required and is used only for tracing 2 Unique identifier is used as service name only for tracing 3 Base URL for the web UI which provides the REST endpoints Configure Sentinel as Kafka consumer for flow messages config:edit org.opennms.core.ipc.sink.kafka.consumer(1) config:property-set bootstrap.servers my-kafka-ip-1:9092,my-kafka-ip-2:9092(2) config:update 1 Edit the configuration for the flow consumer from Kafka 2 Connect to the following Kafka nodes and adjust the IPs or FQDNs with the Kafka port (9092) accordingly Configure Sentinel to be able to generate and send events config:edit org.opennms.core.ipc.sink.kafka(1) config:property-set bootstrap.servers my-kafka-ip-1:9092,my-kafka-ip-2:9092(2) 1 Edit the configuration to send generated events from Sentinel via Kafka 2 Connect to the following Kafka nodes and adjust the IPs or FQDNs with the Kafka port (9092) accordingly If you want to use an Kafka cluster with multiple Horizon instances, the topic prefix can be customized by setting group.id which is by default set to OpenNMS. You can set a different topic prefix for each instance with config:edit group.id my-group-id for the consumer and sink. Configure the credentials and exit Karaf shell opennms:scv-set opennms.http my-sentinel-user my-sentinel-password(1) 1 Set the credentials for the REST endpoint created in your Horizon Core instance The credentials are encrypted on disk in etc/scv.jce. Exit the Karaf Shell with Ctrl+d Restart the Sentinel to apply the configuration sudo systemctl restart minion Verify configuration with running the health-check opennms:health-check Ensure features are installed and work properly Verifying the health of the container Verifying installed bundles [ Success ] Connecting to Kafka from Sink Producer [ Success ] Connecting to Kafka from Sink Consumer [ Success ] Retrieving NodeDao [ Success ] Connecting to ElasticSearch ReST API (Flows) [ Success ] Connecting to OpenNMS ReST API [ Success ] => Everything is awesome