Analytics module
Analytics module is a software that allows you to detect splashes of monitored metrics and predict their values in a pre-defined time range.
Install analytics module
By default, the analytics module used to determine splashes and predictions is not included in the SAYMON ISO image. To install the analytics module:
-
Download analytics-create-and-run.sh script and place it in the file system on the virtual machine on which the SAYMON ISO image is installed.
-
Run the script:
$ sudo ANALYTICS_BRANCH=x.y.z ./analytics-create-and-run.sh
x.y.z - analytics module version. The following versions are available:
-
1.0.0
-
1.0.1
-
1.0.2
-
To check whether the saymon-analytics container is up and running, use the command
|
Enable analytics module
To enable analytics module on the SAYMON server, you must make the following changes to the configuration:
-
Add the following parameters to the server section of the server configuration file
/etc/saymon/saymon-server.conf
:{ ... "server": { ... "analytics_enabled": true, # enables analytics module "analytics_processes": 2 # the number of logical cores allocated for processing of analytics (by default all available system cores are used) } }
-
In the client configuration file
/etc/saymon/saymon-client.yaml
, set the parameterenableAnalytics
totrue
:enableAnalytics: true
-
Restart the SAYMON server:
$ service saymon-server restart
Using analytics module
Analytics module can be used to change the object’s state when it detects splashes or based on prediction of a value.
You can find more information on setting up state change conditions using analytics module on the Splash analytics and prediction page.
Analytics module monitoring
Logs of the saymon-analytics container can be used in order to monitor work of the analytics module. The steps are:
-
Connect to the container with the command:
$ docker exec -ti saymon-analytics bash
-
Open the log file:
$ tail -f /opt/analytics/analytics.log
Log file contains information about
-
the settings with which the module is started (the socket and the number of processes involved in the pool),
-
the processed metrics,
-
the results of processing metrics,
-
errors that occur during operation of the module.
Analytics module performance
Analytics for each object is carried out in a separate stream of calculations using one logical core of the system. All values of metrics of the same object are processed sequentially, which allows sequential update of the forecast model in accordance with the order of data receipt.
As a rule, the performance of modern processors allows to process each incoming value in real time with the maximum frequency is equal to one metric value per second. However, on superheated or overloaded machines the performance of the cores can decrease, it leads to accumulation of tasks for the analytics module and increasing the reaction time of the system to new incoming data.
To increase system performance in tasks with high frequency of incoming metrics, it is recommended to allocate one logical core for each object with analytics. If there are additional cores, the system can also use them for preprocessing analytic tasks, since locking on a predictive model takes only a fraction of the total processing time of an analytic task.