Configuring Components
Collector-http
The configuration file location: /opt/smartlabs/smartcare/collector-http/conf/collector-http.conf
Parameter |
Description |
app-name |
Application name. Displayed only in the Apache Spark administrative interface (http://<ip>:4040/). |
batch-duration |
Batch duration (sec). Apache Spark processes data not in real time, but in batches. For example, the data is accumulated for 20 seconds (in this case — HTTP GET requests from subscriber devices), and then begin to be processed. Before the next batch (i.e. after 20 seconds) Collector should have time to process the incoming data and save the session information and other data in the database. |
checkpoint-dir |
Directory for the raw data just received within the batch. In case of a critical failure of Collector, after restart, the application will re-read the data from the directory and process them. In addition, the directory is used to store data for every minute slices, i.e. if the size of the batch is less than a minute, the data will still be stored in the directory for at least a minute. |
control-port |
Control port to change logging level (used for debugging purposes). To do this, you can use, for example, the standard Telnet utility and the command telnet localhost <control-port> xx, where xx is the logging level identifier: li — INFO, ld — DEBUG. |
debug |
Function to record intermediate collected / processed data as text files (used for debugging purposes). |
debug.output-save |
Flag to write intermediate data to the file system. |
debug.parent-dir |
Directory to write intermediate data. |
mongodb |
mongoDB database parameters to write the result of data processing. |
mongodb.connection-string |
URL to access the mongoDB database. |
services |
Settings of SmartCARE clients data processing services. |
services.client |
Settings of the service receiving the HTTP GET requests from subscriber devices. |
services.client.enable |
Flag to enable the service receiving the HTTP GET requests from subscriber devices. |
services.client.port |
Port to receive HTTP GET requests. |
services.client.servletPattern |
URL pattern to define the HTTP GET requests. For example, if the field value is “/care/*”, the following URL will be considered: http://ip-address:5236/care?<http-get-request> |
services.client.baseDir |
Directory for integrated Tomcat accepting the HTTP GET requests. Requires minimal space. |
services.client.expireAfter |
Session timeout. If the subscriber device has not sent any HTTP GET requests during this time, Collector finishes the session. If an event with the same CSI arrives again, the finished session will be reopened. |
services.client.appropriateUidsPatterns |
UID list to record the sessions. Events for the rest of the UIDs will be ignored. Used for test purposes and to reduce the load on the Collector server. |
services.client.session |
Session data recording settings. |
services.client.session.short |
Settings for automatic deletion of data on finished sessions with certain characteristics. All characteristics are taken into account simultaneously. |
services.client.session.short.delete |
Flag to enable the automatic deletion of data on finished sessions with certain characteristics. |
services.client.session.short.durationThreshold |
Maximum session duration for automatic session data deletion (sec). That is, if the session duration is shorter than the set value, the session data will be automatically deleted. |
services.client.session.short.qualityThreshold |
Minimum session quality (Algorithm 3) for automatic session data deletion. That is, if the session quality is higher than the set value, the session data will be automatically deleted. |
Example Configuration
collector-http = {
app-name = “collector-http”
run-mode = {
test = false
test-master = “local[*]”
}
batch-duration = 20
checkpoint-dir = “/opt/smartlabs/smartcare/new/tmp/collector-http/checkpoint”
control-port = 4450
debug = {
output-save = false
parent-dir = “/opt/smartlabs/smartcare/new/tmp/collector-http/debug/”
}
# target MongoDB
mongodb = {
connection-string = “mongodb://smartcare-new-collector:password@127.0.0.1:27017/smartcare-new”
}
# list of services
services = {
# http messages receiver
client = {
enable = true
port = 5236
servletPattern = “/care/*”
baseDir = “/opt/smartlabs/smartcare/new/tmp/collector-http/tomcat”
expireAfter = 10
appropriateUidsPatterns = [“E4:27:71:2B:6”]
session = {
short = {
delete = true
durationThreshold = 60
qualityThreshold = 95
}
}
}
}
}
Collector-nginx
The configuration file location: /opt/smartlabs/smartcare/collector-nginx/conf/collector-nginx.conf
Parameter |
Description |
app-name |
Application name. Displayed only in the Apache Spark administrative interface (http://<ip>:4040/). |
batch-duration |
Batch duration (sec). Apache Spark processes data not in real time, but in batches. For example, the data is accumulated for 20 seconds (in this case — nginx syslog data), and then begin to be processed. Before the next batch (i.e. after 20 seconds) Collector should have time to process the incoming data and save the session information and other data in the database. |
checkpoint-dir |
Directory for the raw data just received within the batch. In case of a critical failure of Collector, after restart, the application will re-read the data from the directory and process them. In addition, the directory is used to store data for every minute slices, i.e. if the size of the batch is less than a minute, the data will still be stored in the directory for at least a minute. |
control-port |
Control port to change logging level (used for debugging purposes). To do this, you can use, for example, the standard Telnet utility and the command telnet localhost <control-port> xx, where xx is the logging level identifier: li — INFO, ld — DEBUG. |
debug |
Function to record intermediate collected / processed data as text files (used for debugging purposes). |
debug.output-save |
Flag to write intermediate data to the file system. |
debug.parent-dir |
Directory to write intermediate data. |
resources.parent-dir |
Directory with Collector required resources. |
resources.channel-bitrates-json-dict |
Directory inside the resource directory, containing special JSON files with information about channels and their possible bitrates — if the operator uses adaptive streaming technology (multibitrate) for a number of channels. |
resources.channel-bitrates-simple-dict |
Directory inside the resource directory, containing special JSON files with information about channels and their possible bitrates — if the operator uses only one bitrate for a number of channels. |
bgp |
BGP module access settings. |
bgp.enable |
Flag to enable BGP moule polling. |
bgp.type |
Type of access to the BGP module (currently only “http” is used) |
bgp.http.bgpClientSearchUrl |
URL of the HTTP request to the BGP module for autonomous systems on the network section from the streaming server on which the module is installed and the subscriber device. |
mongodb |
mongoDB database parameters to write the result of data processing. |
mongodb.connection-string |
URL to access the mongoDB database. |
services |
Settings of SmartCARE clients data processing services. |
services.nginx |
Settings of the service that processes the streaming server (nginx) data. |
services.nginx.enable |
Flag of enable the service that processes the streaming server (nginx) data. |
services.nginx.udp |
Connection settings to the UDP server sending the nginx rsyslog data. |
services.nginx.udp.host |
UDP server address. |
services.nginx.udp.port |
UDP server port. |
services.nginx.bitrate |
Here you can specify a single bitrate for all TV channels. It can be used if all TV channels are streamed at the same bitrate. |
services.nginx.bitrate.default |
Flag to enable the services.nginx.bitrate function:
|
services.nginx.bitrate.defaultValue |
Bitrate value for all channels by default. |
services.nginx.saveSessionData |
Flag to enable the nginx sessions data recording. |
services.nginx.saveClusterData |
Flag to enable the nginx sessions cluster data recording (in case of multibitrate streaming). |
services.smrecord |
Settings for processing data from the incoming TV streams recording server (SmartMEDIA Conveyor / Recorder). |
services.smrecord.enable |
Flag to enable data processing from the incoming TV streams recording server. |
services.smrecord.udp |
Connection settings to the UDP server sending the SmartMEDIA Conveyor / Recorder rsyslog data. |
services.smrecord.udp.host |
UDP server address. |
services.smrecord.udp.port |
UDP server port. |
services.zabbix |
Settings for processing data from zabbix agents on incoming TV streams recording servers and streaming servers installed. |
services.zabbix.enable |
Flag to enable processing data from the zabbix agent. |
services.zabbix.check-period |
Zabbix agents polling period (s). |
Example Configuration
collector-nginx = {
app-name = “collector-nginx”
run-mode = {
test = false
test-master = “local[*]”
}
batch-duration = 20
checkpoint-dir = “/opt/smartlabs/smartcare/new/tmp/collector-nginx/checkpoint”
control-port = 4451
debug = {
output-save = false
parent-dir = “/opt/smartlabs/smartcare/new/tmp/collector-nginx/debug/”
}
resources = {
parent-dir = “/opt/smartlabs/smartcare/new/collector-nginx/resources/dict”
channel-bitrates-json-dict = “json”
channel-bitrates-simple-dict = “json-simple”
}
bgp = {
enable = false
type = “http”
http = {
bgpClientSearchUrl = “http://127.0.0.1:5060/search?ip=”
}
}
# target MongoDB
mongodb = {
connection-string = “mongodb://smartcare-new-collector:password@127.0.0.1:27017/smartcare-new”
}
# list of services
services = {
nginx = {
enable = true
udp = {
host = “localhost”
port = 10534
}
bitrate = {
default = true
defaultValue = 2000000
}
saveSessionData = true
saveClusterData = true
appropriateUidsPatterns = [“E4:27:71:2B:6”]
}
smrecord = {
enable = true
udp = {
host = “localhost”
port = 10535
}
}
zabbix = {
enable = false
check-period = 60
}
}
}
List of Zabbix Agents
In the main menu section “SETTINGS → Servers”, you can define settings for Zabbix agents installed on streaming, storage, or any other servers.
Parameter |
Description |
Server |
|
Server address |
IP address of the server. |
Port |
Connection port of the server. |
Server name |
User defined server name. |
Enabled |
Flag to enable collecting data from the agent. |
Interfaces |
|
Name |
Network interface name. Initially determined by the agent. |
Turned on |
Sign of network interface activity on the server. |
Enabled |
Flag to enable collecting data from the network interface. |