Daemon Dependencies
You can enable and disable daemons in ${OPENNMS_HOME}/etc/service-configuration.xml, or through the CORE_SERVICE_<NAME>_ENABLED environment variables in a container.
Daemons are not independent, so disabling one can stop a function that appears to belong to another.
This page describes those dependencies.
Before you disable a daemon
If a daemon cannot start, Meridian stops the daemons that already started and shuts down. A missing dependency usually prevents startup rather than leaving the system partly working.
Some daemons start cleanly and then do nothing, because the function they lost is only needed later. The sections below note where this happens, as there is no error to alert you.
PostgreSQL, the Manager daemon, and Eventd are needed by everything, and neither Manager nor Eventd should be disabled.
service-configuration.xml lists daemons in the order they start, and the file warns against reordering its entries.
Dependency overview
Every daemon needs PostgreSQL, and most need Eventd. This table lists dependencies beyond those two.
| Daemon | Also requires | Disabling it also stops |
|---|---|---|
Ackd |
Acknowledgements read from a mailbox |
|
Actiond |
Event-triggered actions |
|
Alarmd |
Every alarm consumer: Bsmd, the northbound interfaces, alarm forwarding in the Kafka producer, and alarm history |
|
Bsmd |
Alarmd |
Business service status |
Collectd |
Telemetryd, flow processing, and thresholding for application perspectives |
|
Correlator |
Drools rule files |
Event correlation |
Discovery |
Provisiond |
Automatic detection of new nodes |
Enlinkd |
Provisiond, SNMP configuration |
Link discovery, the Enlinkd-populated layers of the topology map and the graph service ReST API, and user-defined link layers |
EventTranslator |
Translated events, including link state events derived from traps |
|
JettyServer |
The web UI and the ReST API |
|
KarafStartupMonitor |
Startup verification |
|
Notifd |
Notifications |
|
PassiveStatusd |
Passive status events |
|
PerspectivePoller |
Pollerd |
Application perspective monitoring |
Pollerd |
Service availability, outage records, and device configuration backups |
|
Provisiond |
Node lifecycle events that Pollerd, Collectd, Enlinkd, and RTC rely on |
|
Queued |
Promotion of queued RRD files, with the default RRD storage |
|
Rtcd |
Availability figures in the web UI |
|
Scriptd |
Event-triggered scripts |
|
SnmpPoller |
Provisiond |
SNMP interface status monitoring |
Statsd |
Scheduled statistical reports |
|
Syslogd |
Syslog-derived events |
|
Telemetryd |
Collectd |
Streaming telemetry and flow ingest |
Ticketer |
A ticketing plugin |
Trouble ticket creation |
Trapd |
Trap-derived events, including the link state events the event translator produces |
|
Vacuumd |
Path outage alarm cleanup and scheduled database maintenance |
Monitoring and collection
Telemetryd requires Collectd. With Collectd disabled, Telemetryd cannot start, which prevents Meridian from starting. Disabling Collectd also stops flow processing.
PerspectivePoller requires Pollerd. It polls through a client that Pollerd provides, so with Pollerd disabled it starts without error and monitors nothing.
SnmpPoller depends on provisioning rather than on another daemon directly: it only schedules interfaces that provisioning has marked as the SNMP primary and as managed.
Device configuration backup has no daemon of its own and does not appear in service-configuration.xml.
Backups run as Pollerd polls of the device configuration services, on a schedule that the shipped poller configuration sets to never.
Alarms and notifications
Everything that consumes alarms is hosted by Alarmd itself, so disabling it removes the northbound interfaces, alarm history, and business service status along with it. None of those report an error; they stop receiving alarms.
Disabling Alarmd stops only the alarm-related part of the Kafka producer, which covers alarms and alarm feedback. The producer continues to forward events, topology updates, and collected metrics, because those do not pass through Alarmd.
|
Alarmd starts successfully when |
The Correlator behaves similarly. It tolerates missing rule files, so enabling it on a stock installation starts it with no correlation rules loaded.