The provision daemon scans nodes from requisition and import files, and from newSuspect events. The scanned nodes are then added to the database. Note that only nodes in the database are monitored by other daemons.

newSuspect events are generated by discovery scans. They can also be generated by trapd and syslogd, if those daemons are configured properly. We recommend that you use the Horizon web UI to update configuration settings.

Provisiond configuration file overview
File Description Reload Event Restart Required


List of detectors and policies to apply when scanning requisitioned nodes. Does not exist by default.
After these settings are modified via the web UI, a default-foreign-source.xml file is automatically created in ${OPENNMS_HOME}/etc.




List of detectors and policies to apply when scanning nodes in a requisition that matches the filename. Does not exist by default.




One file per requisition, containing the list of nodes to import for monitoring.



Provisiond log file overview
File Description


Log of node provisioning processes. Also includes service detection and policy results.


Logs related to the GeoIP provisioning plugin.

Provisiond thread configuration

Provisiond uses for a few thread pools to manage various tasks. You can configure these via the Web UI by selecting Info  External Requisitions in the top menu bar.

Any changes to the thread pools require a restart of the Horizon service to apply the new thread limits.
Table 1. Provisiond thread pool descriptions
Pool Default Size Description



Number of threads to allocate for importing requisitions. This pool determines the number of requisitions that can be imported at one time. Increase this number if you have a large number of requisitions.

Import threads will check the requisition against the database to determine what add, change, or delete operations are necessary. They will also attempt to pull SNMP system information from the node into the database. Once this inventory update is complete, the import thread will schedule the node for scanning or rescanning as necessary.



Number of threads to allocate for node scan tasks. This pool is used for running detectors against a node. This applies to both the initial scan and rescans of existing nodes and requisitions. Increase this number if you have a large number of nodes in a single requisition.



Number of threads to allocate for automated rescanning existing nodes. This pool is used for rescanning nodes in a requisition based on the foreign source definition or the external requisition schedule. Rescan threads will spawn a scan thread to process the applicable detectors, so this value typically should be the same as the Scan thread pool size.



Number of threads to allocate for writing to the database. This value typically does not need to be modified under most use cases.