5.9.7 Threshold engine The threshold engine module is responsible for evaluating the threshold definitions and raising the alarms. The module handles these tasks differently, depending on the type of the data collector and whether quick evaluation is specified for threshold or not: · Normal thresholds without quick evaluation: separate processes are started for each data collection interval, every one of them exists after the specified RESTART_THRESHOLD_AFTER days and is automatically restarted by the main process. The child processes look up and uses the SQLLDR files in the local directory unless there are only a small number of threshold definitions. This means that if the data loader and the threshold engine modules are running on the same server and the SQLLDR files are still there then the threshold engine doesn’t read the measured values from the database. Since this is a less resource consuming way it is recommended to run the data loader and the threshold engine on the same server. · Quick evaluation thresholds and data collector types with irregular measurements (without fixed data collection intervals, like MQTT collectors). In these cases the engine starts two child processes. The first one receives the measured values directly from data collectors over UDP, TCP or SSL and this process never restarts itself. It is important to note that the application is not looking in the SQLLDR data files or in the database for measured values, i.e. the evaluation will never be done for those times when the threshold engine was not running. The second child process evaluates the threshold definitions and is restarted the same way as the “normal” child processes |