Page tree

SAYMON документация

Skip to end of metadata
Go to start of metadata

Server configuration is performed in the following file:


Section cache contains Redis auth settings:

"auth_pass" : "password"

Section mqtt contains MQTT-broker connection settings:

"broker" : "address and port of the broker", e.g. "mqtt://localhost:1883"

To authenticate by name + password, it is necessary to specify user data before the server address:

"broker" : "mqtt://user:password@localhost:1883"

If using SSL-encryption you need to provide paths to CA Server, clients key and certificate:

"ca": "path/to/ca.server.crt",
"certificate": "path/to/client.crt",
"key": "path/to/client.key"

Section openTsdb contains OpenTSDB auth settings:

"enabled" : "write history data to OpenTSDB (false or true, true by default)"
"host" : "OpenTSDB host address"
"port" : "OpenTSDB port"

Section server contains general server settings:

"sql_history_enabled" : "write history data to MySQL (false or true, false by default)"
"history_update_period" : "history data write period (milliseconds); 0 - immediate recording of incomeng values"
"history_temporary_storage_period": "Time period (in milliseconds) during which data is buffered in Redis and then transferred to OpenTSDB. Note that this parameter works only if history_update_period is equal to 0"
"redis_populate_period" : "population period of information about objects and links from MongoDB to Redis (milliseconds)"
"default_result_timeout" : "defines how long the last received data from agent is valid before the object state is triggered to "No data on object" (milliseconds)"
"debug" : "debug-mode for saymon-server.log (false or true, false by default)"
"sms_script": "path to the script that sends SMS notifications"
"voice_call_script": "path to the script that establishes voice calls"
"comet_port" : "port for the secured connection"
"comet_secure" : "ssl-connection (false or true, false by default)"
"comet_ssl_certificate" : "path to the certificate"
"comet_ssl_key" : "path to the key"
"self_object_id" : "selfmonitoring object ID"
"colorize_log" : "colorize log (false or true, false by default)"
"event_log_max_bytes" : "MongoDB console records size at which data is rotated (bytes, 1 GB by default)"
"notification_buffering_period" : "the period to collect all messages about state changes of objects and send grouped notification to the user (in milliseconds; 0 - disables buffering)"
"conditional_incidents_enabled" : "enables incidents functionality (false or true, false by default)"
"discovery_parent_id": "id of the object to place new network devices, discovered by agents"
"retain_expired_stat" : "storage of the latest received data after their obsolescence (false or true, false by default)"
"stat_local_timestamp_field_name" : "field name in which the time is displayed with which it is necessary to store data in OpenTSDB"
"analytics_enabled" : "includes analytics of the metrics' values into the data processing pipeline (false or true, false by default)"
"analytics_processes" : "the numbers of logical cores used to process the times series analytics"
"user" : {
	"new_user_access" : "access rights to objects for a new user (all - access to all the objects, not - access to none of the objects, all by default)"
    "auth_enabled" : "enables registration for users (true or false, false by default)."
    "template" : {
        "permissions" : "a list of permissions given to a registered user by default. An example is ["manage-objects", "view-section-stat", "view-section-history-graph"]"
        "objectPermissions" : {
            "include": "a list of objects' ids to which a registered user is given access by default"
            "exclude": "a list of objects' ids to which a registered user is forbidden access by default"
    "usersRoot" : "an object used as a root for new objects of a registered user"
"script_trigger_timeout": "the maximum execution time of a trigger (in milliseconds). The default value is 30000 ms"

Subsection email contains email-server settings:

"disabled" : "send email notifications (false or true, true by default)
"transport" {
	"host" : "mail server address, e.g. ''"
	"port" : "port number, e.g. '465'",
	"secure" : "true or false",
	"auth" {
		"user" : "user login"
		"pass" : "user password"
"fields" {
	"from" : "sender email address, e.g.,"
	"to" : "default email to send notifications to"
"max_json_length": "number of symbols to send in email notifications (1000 by default)"

Section rest_server contains REST-server settings:

"ip_address" : "host address to run REST-server"
"port" : "REST-server port"
"base_url" : "API path (`/api` by default)"
"debug" :  "debug-mode for saymon-rest-server.log (false or true, false by default)"
"document_storage_dir" : "path to a directory to store .pdf, .jpeg other documents attached to objects"
"document_download_url" : "url to files stored in $document_storage_dir (`http://localhost/node/api/docs` by default)"
"update_download_url" : "path to agents update file (`http://localhost/node/api/agents/update` by default)"
"colorize_log" : "colorize log (false or true, false by default)"
"public_url" : "address for links in notifications (e.g. "")"

Section ldap contains external LDAP-server settings to authorize users:

"url" : e.g. "ldap://",
"suffix" : e.g. "dc=saymon,dc=info",
"login" : e.g. "cn=admin,dc=saymon,dc=info",
"pass" : e.g. "root"

Section  push_notification contains parameters of push notifications in mobile application. To work with push-notifications, Firebase Cloud Messaging (FCM) is used.

"disabled" : "disables notifications (true or false, false by default)"
"url" : "url, received by user from Firebase to send notification content from server to it (`` by default)"
"key_path" : "path to SAYMON server autorization key on Firebase server (`/etc/saymon/saymon-mobile-firebase-adminsdk.json` by default)"
"on_state_change" : "sends notifications when state changes, in case of another notification source - MQTT messages (true or false, true by default)"
"timeout" : "time in milliseconds after which notification is sent to each user (no more than once every 5000)"

To apply changes saymon-server service has to be restarted:

sudo service saymon-server restart
  • No labels