Конфигурация сервера

Конфигурация сервера системы выполняется в файле /etc/saymon/saymon-server.conf.

Для применения изменений необходимо перезапустить службу saymon-server:

$sudo service saymon-server restart

Далее приведены описания разделов и настроек.

Agent_stat

В этом разделе задаются настройки хранения истории данных от агента.

"agent_stat": {
   "write_to": "mongo",
   "default_ttl": 20,
   "ttl": [
      {
        "key": "payload.cpuInformation.vendor",
        "value": "Intel",
        "expire": 10
      }
   ]
}
Раздел/Параметр Описание

agent_stat.write_to

Выбор хранилища данных от агента.

При указании значения "mongo" данные от агента хранятся в mongoDB.

По умолчанию данные от агента хранятся в ELK.

agent_stat.default_ttl

Срок жизни наборов данных (в секундах) по умолчанию. Если это значение равно 0, то данные не записываются в БД.

По умолчанию – 86400

Agent_stat.ttl

Сроки жизни наборов данных, для которых нужен срок жизни, отличающийся от принятого по умолчанию.

Раздел/Параметр Описание

agent_stat.ttl.key

Имя метрики.

agent_stat.ttl.value

Значение метрики.

agent_stat.ttl.expire

Срок жизни набора данных. Если это значение равно 0, то данные не записываются в БД.

Cache

В этом разделе задаются настройки сервера Redis.

"cache": {
    "host": "127.0.0.1",
    "port": 6379
}
Раздел/Параметр Описание

cache.auth_pass

Пароль для доступа к серверу Redis.

cache.host

Адрес сервера Redis.

По умолчанию - "127.0.0.1".

cache.port

Порт сервера Redis.

По умолчанию - 6379.

Cache.cluster

В этом подразделе задаются настройки при использовании Redis Cluster.

"cache": {
    "cluster": {
        "nodes": [
            {
                "port": 7000,
                "host": "127.0.0.1"
            },
            {
                "port": 7001,
                "host": "127.0.0.1"
            }
        ],
        "options": {}
    }
}
Если задействован этот подраздел, система использует указанные здесь настройки подключения, параметры cache.host и cache.port игнорируются.
Раздел/Параметр Описание

cache.cluster.options

Дополнительные параметры подключения к кластеру.

cache.cluster.nodes

Серверы кластера, к которым необходимо подключиться.

cache.cluster.nodes.host

Адрес сервера кластера.

cache.cluster.nodes.port

Порт сервера кластера.

Custom_scripts

В этом разделе задаются настройки пользовательских скриптов, выполняющихся при создании и удалении объектов.

"custom_scripts": {
    "entity_triggers_path": "/opt/saymon-extensions/entity-triggers-path"
}
Раздел/Параметр Описание

custom_scripts.entity_triggers_path

Полный путь до папки с файлами скриптов.

DB

В этом разделе задаются настройки подключения к базе данных для хранения объектной модели. В качестве базы данных используется MongoDB.

"db" : {
    "mongodb": {
        "url": "mongodb://localhost:27017/saymon?w=1"
    }
}

Db.mongodb

Данные для подключения к MongoDB.

Раздел/Параметр Описание

db.mongodb.url

Адрес сервера MongoDB и дополнительные параметры подключения.

По умолчанию - "mongodb://localhost:27017/saymon?w=1".

При использовании кластера из нескольких хостов их адреса указываются через запятую в произвольном порядке:

"url": "mongodb://host01:27017,host02:27017,host03:27017/saymon?w=1"

Все возможные дополнительные параметры URL представлены в документации по MongoDB.

Elasticsearch

В этом разделе задаются настройки для работы с Elasticsearch.

"elasticsearch": {
    "node": "http://127.0.0.1:9200",
    "auth": {
        "username": "elastic",
        "password": "ypezA1ZoVv46fJh8Abj4"
   },
   "index_pattern": "myindex*",
   "request_timeout": 30000,
   "hits_per_request": 1000
}
Раздел/Параметр Описание

elasticsearch.hits_per_request

Максимальное число записей, запрашиваемых в одном обращении к elasticsearch.

При повышении значения параметра снижается число запросов к Elasticsearch, но увеличивается расход памяти и время блокировки потока на сервере Центрального Пульта при обработке ответа.

По умолчанию - 1000.

elasticsearch.index_pattern

Индекс Elasticsearch, в котором происходит поиск.

elasticsearch.node

IP-адрес инстанса Elasticsearch.

elasticsearch.request_timeout

Время ожидания ответа от сервера elasticsearch (в миллисекундах).

По умолчанию - 30000 - 30 секунд.

Elasticsearch.auth

Авторизационные данные пользователя elasticsearch.

Раздел/Параметр Описание

elasticsearch.auth.password

Пароль пользователя elasticsearch.

elasticsearch.auth.username

Логин пользователя elasticsearch.

Extensions

В этом разделе задаются параметры пользовательских расширений Центрального Пульта.

"extensions": {
    "path": "/opt/saymon-extensions"
}
Раздел/Параметр Описание

extensions.path

Путь к папке с пользовательскими расширениями.

Hostname_update

В этом разделе задаются настройки автоматического обновления информации автоматически зарегистрированных объектов класса Host.

hostname_update: {
    enabled: false
}
Раздел/Параметр Описание

hostname_update.enabled

Автоматическое обновление имени и свойств на объекте класса Host при смене имени хоста.

  • true – Включить автообновление.

  • false – Выключить автообновление.

По умолчанию – false

Kafka

В этом разделе задаются настройки подключения к брокеру Kafka.

"kafka" : {
    "host" : "localhost",
    "port" : 9092,
    "requestTimeout" : 30000,
    "fetch_latest" : false,
    "logLevel" : 2
}

Помимо перечисленных здесь параметров, возможно также использовать дополнительные параметры подключения.

Раздел/Параметр Описание

kafka.brokers

Пул адресов для подключения при использовании Kafka Cluster.

"kafka" : {
   ...
   "brokers": [
      "192.168.1.10:9092",
      "192.168.1.11:9092"
   ],
   ...
}
При указании данного параметра система игнорирует параметры kafka.host и kafka.port.
При использовании Kafka Cluster необходимо дополнительно настроить конфигурационный файл агента.

kafka.fetch_latest

Данный параметр определяет правило обработки сообщений, поступивших в Kafka при выключенной системе:

  • false - обработать накопленные данные,

  • true - игнорировать накопленные данные.

По умолчанию - false.

kafka.host

Адрес брокера Kafka.

По умолчанию - "localhost".

kafka.logLevel

Уровень логирования Kafka;

  • 0 - NOTHING,

  • 1 - ERROR,

  • 2 - WARN,

  • 4 - INFO,

  • 5 - DEBUG.

По умолчанию - 2 - WARN.

kafka.port

Порт брокера Kafka.

По умолчанию - 9092.

kafka.
requestTimeout

Время на ожидание ответа от брокера (в миллисекундах).

По умолчанию - 30000 - 30 секунд.

kafka.ssl

Ключ и сертификат можно указывать как путь к файлу:

"kafka" : {
...
    "ssl": {
        "certFile": "/opt/kafka/for-saymon-server/cert.pem",
        "keyFile": "/opt/kafka/for-saymon-server/key.pem"
    },
...
}

Kafka.sasl

Настройки аутентификации. Параметры зависят от механизма аутентификации, используемом в Kafka.

Пример настроек для механизма PLAIN/SCRAM:

"kafka" : {
...
    "sasl": {
        "mechanism": "plain",
        "username": "user",
        "password": "password"
    },
...
}
Раздел/Параметр Описание

kafka.sasl.mechanism

Механизм аутентификации.

Keycloak

"keycloak": {
    "realm_certificate": "<data of keycloak_realm_certificate>",
    "realm_certificate_file": "/etc/saymon/keycloak_realm_certificate",
    "config_file": "/etc/saymon/keycloak_backend.json"
}
Параметры в примере перечислены в порядке понижения приоритета при одновременном указании. Для работы с Keycloak достаточно указать один из параметров.
Раздел/Параметр Описание

keycloak.config_file

Путь к файлу конфигурации, сгенерированному сервером Keycloak для Backend-клиента.

keycloak.realm_certificate

Данные сертификата (Realm Certificate), которым сервер Keycloak подписывает пользовательские токены.

keycloak.realm_certificate_file

Путь к файлу с Keycloak Realm Certificate.

LDAP

В этом разделе задаются параметры внешнего LDAP-сервера для авторизации пользователей.

"ldap" : {
    "url" : "ldaps://192.168.1.1:636",
    "suffix" : "dc=example,dc=com",
    "login" : "cn=admin,dc=example,dc=com",
    "pass" : "root",
    "allow_self_signed" : true,
    "create_user_for_existing_group_only": true,
    "import_non_existing_groups": false,
    "update_existing_groups": false
}
Раздел/Параметр Описание

ldap.allow_self_signed

Разрешает соединение по LDAPs c сервером, на котором установлен самоподписанный SSL-сертификат;

  • false - соединение запрещено,

  • true - соединение разрешено.

По умолчанию - false - соединение запрещено.

ldap.create_user_for_existing_group_only

Ограничивает авторизацию новых LDAP-пользователей только теми пользователями, у которых имя группы на LDAP-сервере совпадает с именем существующей (созданной ранее) группы в Центральном Пульте;

  • false - разрешена авторизация всех новых LDAP-пользователей,

  • true - разрешена авторизация только тех новых LDAP-пользователей, для которых заготовлены группы в Центральном пульте.

По умолчанию - false - разрешена авторизация всех новых LDAP-пользователей.

На LDAP-пользователей, у которых уже есть учётная запись, применение данного параметра не распространяется.

ldap.group_name_attribute

Атрибут, в котором хранятся имена групп пользователей.

Указывается, если необходимо использовать нестандартный атрибут.

Стандартный атрибут - "cn".

ldap.import_non_existing_groups

Разрешает автоматическое создание групп, в которых пользователь состоит на LDAP-сервере, но которых нет в Центральном Пульте;

  • false - при авторизации LDAP-пользователя в Центральном Пульте не создаются новые группы;

  • true - при авторизации LDAP-пользователя создаются все его группы в Центральном Пульте, пользователь автоматически добавляется в свои группы.

По умолчанию - false - при авторизации LDAP-пользователей в Центральном Пульте не создаются новые группы.

ldap.login

Логин администратора LDAP.

ldap.login_attribute_name

Атрибут, в котором хранятся логины пользователей для входа в систему.

Указывается, если необходимо использовать нестандартный атрибут.

Стандартный атрибут - "name".

ldap.pass

Пароль администратора LDAP.

ldap.suffix

Корневой элемент (как правило, доменное имя организации).

ldap.update_existing_groups

Разрешает обновлять группы пользователей, созданные в Центральном Пульте, до LDAP-групп при импорте групп пользователя из LDAP и совпадении имен групп;

  • false - при входе LDAP-пользователей обновления групп не происходит.

  • true - при входе LDAP-пользователя его группы в Центральном Пульте, совпадающие с группами в LDAP, обновляются до LDAP-групп.

По умолчанию - false - при входе LDAP-пользователей обновления групп не происходит.

Для обновленной группы отключается возможность смены имени и добавляется источник - LDAP.

ldap.url

Адрес LDAP-сервера. Поддерживаются протоколы LDAP и LDAPs.

Monitoring

В этом разделе задаются настройки пользовательских сенсоров мониторинга.

"monitoring": {
    "custom_tasks_path": "/opt/saymon-agent/custom_tasks"
}
Раздел/Параметр Описание

monitoring.custom_tasks_path

Полный путь до папки с файлами пользовательских проверок.

MQTT

В этом разделе задаются настройки подключения к MQTT-брокеру.

"mqtt" : {
    "broker" : "mqtt://username:password@localhost:1883"
}
Раздел/Параметр Описание

mqtt.broker

Адрес и порт брокера.

По умолчанию - "mqtt://localhost:1883".

Для аутентификации по имени пользователя и паролю нужно указать пользовательские данные перед адресом сервера.

OpenTSDB

В этом разделе задаются параметры доступа к OpenTSDB.

"OpenTSDB" : {
    "enabled" : true,
    "host" : "localhost",
    "port" : 4242,
    "timeout" : 15000
}
Раздел/Параметр Описание

openTsdb.enabled

Запись исторических данных в OpenTSDB;

  • false - запись выключена,

  • true - запись включена.

По умолчанию - true - запись включена.

openTsdb.host

Адрес хоста с OpenTSDB.

По умолчанию - "localhost".

openTsdb.port

Порт OpenTSDB.

По умолчанию - 4242.

openTsdb.timeout

Время на ожидание ответа от OpenTSDB (в миллисекундах).

По умолчанию - 15000 - 15 секунд.

Push_notification

В этом разделе задаются параметры push-уведомлений в мобильном приложении. Для работы с ними используется Firebase Cloud Messaging (FCM).

"Push_notification" : {
    "disabled" : true,
    "key_path" : "/etc/saymon/saymon-mobile-firebase-adminsdk.json",
    "on_state_change" : true,
    "timeout" : 0,
    "url" : "https://saymon-mobile.firebaseio.com"
}
Раздел/Параметр Описание

push_notification.disabled

Выключает уведомления;

  • true - уведомления выключены,

  • false - уведомления включены.

По умолчанию - true - уведомления выключены.

push_notification.key_path

Путь к ключу авторизации сервера Центрального Пульта на сервере Firebase.

По умолчанию - "/etc/saymon/saymon-mobile-firebase-adminsdk.json".

push_notification.on_state_change

Включает отправку уведомления при изменении состояний на случай другого источника уведомлений - MQTT-сообщений;

  • true - отправка включена,

  • false - отправка выключена.

По умолчанию - true - отправка включена.

push_notification.timeout

Время, через которое каждому пользователю отправляется уведомление (в миллисекундах).

По умолчанию - 0 - задержки нет.

push_notification.url

URL, полученный пользователем от Firebase, для принятия содержимого уведомлений с сервера.

По умолчанию - "https://saymon-mobile.firebaseio.com".

Resource_server

В этом разделе задаются параметры, связанные с хранением файлов, загруженных в Центральный Пульт.

"Resource_server" : {
    "debug" : false,
    "file_storage_dir" : "/var/saymon/resources",
    "ip_address" : "127.0.0.1",
    "port" : 8092
}
Раздел/Параметр Описание

resource_server.debug

Включает debug-режим для логирования в файл /var/log/saymon/saymon-server.log;

  • false - режим выключен,

  • true - режим включен.

По умолчанию - false - режим выключен.

resource_server.file_storage_dir

Путь к директории для хранения документов, прикрепляемых к объектам.

По умолчанию - "/var/saymon/resources".

resource_server.ip_address

Адрес Resource-сервера.

По умолчанию - "127.0.0.1".

resource_server.port

Порт Resource-сервера.

По умолчанию - 8092.

Rest_server

В этом разделе задаются параметры REST-сервера.

"Rest_server" : {
    "base_url" : "/api",
    "colorize_log" : false,
    "debug" : false,
    "document_download_url" : "http://localhost/node/api/docs",
    "ip_address" : "127.0.0.1",
    "keepAliveTimeout" : 5000,
    "num_workers" : 1,
    "port" : 8090,
    "public_url" : "http://mycompany.com/index.html",
    "session_ttl" : 3600000,
    "snmp_mib_url" : "http://192.168.1.189:5550",
    "update_download_url" : "http://localhost/node/api/agents/update"
}
Раздел/Параметр Описание

rest_server.base_url

Путь к API.

По умолчанию - "/api".

rest_server.colorize_log

Включает цветную раскраску лога;

  • false - раскраска выключена,

  • true - раскраска включена.

По умолчанию - false - раскраска выключена.

rest_server.debug

Включает debug-режим для логирования в файл /var/log/saymon/saymon-server.log;

  • false - режим выключен,

  • true - режим включен.

По умолчанию - false - режим выключен.

rest_server.document_download_url

URL к файлам, сохраненным в $document_storage_dir.

По умолчанию - "http://localhost/node/api/docs".

rest_server.ip_address

Адрес хоста для запуска REST-сервера.

По умолчанию - "127.0.0.1".

rest_server.keepAliveTimeout

Время ожидания сервером следующего запроса до разрыва текущего соединения (в миллисекундах).

По умолчанию - 5000 - 5 секунд.

rest_server.num_workers

Число процессов для загрузки данных.

По умолчанию - 1.

rest_server.port

Порт REST-сервера.

По умолчанию - 8090.

rest_server.public_url

Адрес для доступа к web-интерфейсу из уведомлений.

rest_server.session_ttl

Время, по истечении которого происходит автоматическое завершение сессии при неактивности пользователя (в миллисекундах).

По умолчанию - 3600000 - 1 час.

rest_server.snmp_mib_url

Адрес сервера трансляции SNMP OID в текстовый формат.

rest_server.update_download_url

Путь к файлу для обновления агента.

По умолчанию - "http://localhost/node/api/agents/update".

Rest_server.limits

В этом подразделе задаются ограничения на число запросов к API.

"limits" : [
    {
        "__comment": "администратора не ограничиваем",
        "user": "5048c849d7b6e40593dfee71"
    },
    {
        "__comment": "группу дежурной смены не ограничиваем",
        "group": "60e591928196105ec9c74636"
    },
    {
        "__comment": "запросы на states и classes не ограничиваем",
        "uri": ["/states", "/classes"]
    },
    {
        "__comment": "ограничиваем запросы на объекты",
        "uri": ["/objects"],
        "rate": "100/minute"
    },
    {
        "__comment": "ограничиваем авторизовавшихся пользователей с 127.0.0.1",
        "user": true,
        "ip": '127.0.0.1',
        "rate": "120/minute"
    },
    {
        "__comment": "ограничения для неавторизованных пользователей",
        "user": false,
        "rate": "10/minute"
    }
]

По умолчанию ограничения не накладываются.

Для каждого запроса поиск правил осуществляется сверху вниз. Применяется только одно правило.
Раздел/Параметр Описание

rest_server.limits.group

Группы пользователей, для которых устанавливается ограничение;

  • string|string[] - ID группы или групп, к которым применяется правило.

Примеры:

"limits": [
    {
        "group": "60e562277936944ebf158282",
        ...
    }
]
"limits": [
    {
        "group": [
            "60e562277936944ebf158282",
            "616406e1a3db5948cd815438"
        ],
        ...
    }
]

rest_server.limits.ip

IP-адреса, для которых устанавливается ограничение;

  • true - cвой лимит для каждого IP-адреса;

  • string|string[] - IP-адрес или список адресов, к которым применяется правило.

Примеры:

"limits": [
    {
        "ip": true,
        ...
    }
]
"limits": [
    {
        "ip": "127.0.0.1",
        ...
    }
]
"limits": [
    {
        "ip": [ "127.0.0.1", "192.168.1.2" ],
        ...
    }
]

rest_server.limits.rate

Количество запросов в единицу времени. Если не указан, то ограничение не накладывается.

Задаётся в формате количество_запросов/единица_измерения_времени.

Возможные единицы измерения времени:

  • y - год,

  • Q - квартал,

  • M - месяц,

  • w - неделя,

  • d - день,

  • h - час,

  • m/minute - минута,

  • s - секунда,

  • ms - миллисекунда.

Пример:

"limits": [
    {
        "rate": 100/minute,
        ...
    }
]

rest_server.limits.uri

REST-методы, к которым устанавливается ограничение;

  • true - свой лимит для каждого метода;

  • string|string[] - метод или список методов, к которым применяется правило.

В качестве пути могут быть заданы любые API без приставки /node/api, например, "/time".

Примеры:

"limits": [
    {
        "uri": true,
        ...
    }
]
"limits": [
    {
        "uri": "/ping",
        ...
    }
]
"limits": [
    {
        "uri": [
            "/ping",
            "/node/api/objects/:id/stat"
        ],
    ...
    }
]

rest_server.limits.user

Пользователи, для которых устанавливается ограничение;

  • true - свой лимит для каждого авторизованного пользователя;

  • false - лимит по IP-адресу для каждого авторизованного пользователя;

  • string|string[] - ID пользователя или пользователей, к которым применяется правило.

Примеры:

"limits": [
    {
        "user": true,
        ...
    }
]
"limits": [
    {
        "user": false,
        ...
    }
]
"limits": [
    {
        "user": "6048c849d7b6e40593dfee71",
        ...
    }
]
"limits": [
    {
        "user": [
            "57ff6853fa6db3a63d16d07b",
            "6048c849d7b6e40593dfee71"
        ],
    ...
    }
]

Server

В этом разделе задаются общие параметры сервера.

Раздел/Параметр Описание

server.agent_registration_parent_id

ID объекта, в котором появляются агенты при саморегистрации.

По умолчанию - "1".

server.analytics_enabled

Включает аналитику значений метрик в процесс обработки данных;

  • false - аналитика выключена,

  • true - аналитика включена.

По умолчанию - false - аналитика выключена.

server.analytics_processes

Количество логических ядер, выделяемых для обработки аналитики временных рядов.

По умолчанию используются все доступные ядра.

server.colorize_log

Включает цветную раскраску лога;

  • false - раскраска выключена,

  • true - раскраска включена.

По умолчанию - false - раскраска выключена.

server.comet_ping_interval

Временной интервал между отправками comet-сервером сообщений (в миллисекундах).

По умолчанию - 5000 - 5 секунд.

server.comet_ping_timeout

Время ожидания сообщения от comet-сервера (в миллисекундах).

По умолчанию - 12000 - 12 секунд.

server.comet_port

Порт для соединения.

По умолчанию - 8091.

server.comet_secure

Включает SSL-соединение;

  • false - соединение выключено,

  • true - соединение включено.

По умолчанию - false - соединение выключено.

server.comet_ssl_certificate

Путь к сертификату.

server.comet_ssl_key

Путь к ключу.

server.conditional_incidents_enabled

Включает функционал генерации аварий;

  • false - функционал выключен,

  • true - функционал включен.

По умолчанию - false - функционал выключен.

server.conditional_incidents_script

Применяется только при включенном функционале генерации аварий:
....
server.conditional_incidents_enabled = true
....

server.debug

Включает debug-режим для логирования в файл /var/log/saymon/saymon-server.log;

  • false - режим выключен,

  • true - режим включен.

По умолчанию - false - режим выключен.

server.default_result_timeout

Время, через которое срабатывает условие Нет данных от объекта с момента создания объекта или получения последних данных (в миллисекундах).

По умолчанию - 120000 - 2 минуты.

server.default_state_id

Состояние объекта по умолчанию.

По умолчанию - 7 - NO DATA.

server.discovery_parent_id

ID объекта, в котором появляются найденные агентами сетевые устройства.

По умолчанию - "1".

server.event_log_max_bytes

Объем Журнала Событий в MongoDB, при достижении которого происходит ротация данных (в байтах).

По умолчанию - "1 G" - 1 гигабайт.

server.history_temporary_storage_period

Интервал времени для буферизации метрик, по истечении которого все данные из Redis записываются в OpenTSDB (в миллисекундах).

Применяется, только если history_update_period равен 0.

server.history_update_period

Интервал записи исторических данных (в миллисекундах).

0 - немедленная запись пришедших значений.

По умолчанию - 60000 - 1 минута.

server.history_write_length

Ограничение количества точек в одном запросе к OpenTSDB.

При указании этого параметра данные в базу записываются по частям.

Функционал полезен при превышении размера записываемых за один раз данных. Рекомендуемое значение в таком случае - 100000.

По умолчанию ограничения нет, запись данных в OpenTSDB происходит без разбиения на части.

server.incident_timeout

Время перехода аварии из списка активных аварий в список исторических аварий после погашения аварии (в миллисекундах).

По умолчанию - 120000 - 2 минуты.

server.notification_buffering_period

Период ожидания для сбора сообщений о смене состояний объектов и отправки группового уведомления (в миллисекундах).

По умолчанию - 0 - буферизация отключена.

server.retain_expired_stat

Включает хранение последних полученных данных после их устаревания;

  • false - хранение выключено,

  • true - хранение включено.

По умолчанию - false - хранение выключено.

server.script_trigger_timeout

Максимальное время выполнения триггера или операции (в миллисекундах).

По умолчанию - 30000 - 30 секунд.

server.self_object_id

ID объекта, используемого для самомониторинга.

server.sms_script

Путь до скрипта, отправляющего SMS-уведомления.

server.stat_local_timestamp_field_name

Имя поля, где передается время, с которым нужно сохранять данные в OpenTSDB.

По умолчанию - "localTimestamp".

server.stat_scan_period

Период проверки актуальности пришедших данных (в миллисекундах).

По умолчанию - 3000 - 3 секунды.

server.use_stat_timestamp

Сохраняет временную метку (поле timestamp) из данных агента;

  • false - значение поля timestamp из данных агента заменяется на временную метку сервера,

  • true - используется значение поля timestamp из данных агента, оно не перезаписывается временем сервера.

По умолчанию - false - временная метка из данных агента перезаписывается временем сервера.

server.voice_call_script

Путь до скрипта, осуществляющего голосовой вызов.

Server.email

В этом подразделе задаются параметры доступа к почтовому серверу:

"email" :{
    "disabled" : false,
    "fields" : {
        "from" : "saymon@saas.saymon.info"
    },
    "max_json_length": 1000,
    "transport" : {
        "auth" {
            "user" : "saymon@saas.saymon.info",
            "pass" : "P@ssw0rd"
        },
        "host" : "smtp.gmail.com",
        "port" : 465,
        "secure" : true
    },
}
Раздел/Параметр Описание

server.email.disabled

Выключает отправку почтовых уведомлений;

  • true - отправка выключена,

  • false - отправка включена.

По умолчанию - true - отправка выключена.

server.email.max_json_length

Ограничение размера письма с уведомлением (в символах).

По умолчанию - 1000 - 1000 символов.

server.email.fields

Данные об отправителе уведомлений.

server.email.fields.from

Почтовый адрес отправителя.

server.email.transport

Данные почтового сервера.

server.email.transport.host

Адрес почтового сервера.

server.email.transport.port

Порт почтового сервера.

server.email.transport.secure

Включает использование TLS при подключении к серверу;

  • false - использоване TLS выключено,

  • true - использоване TLS включено.

Значение по умолчанию зависит от порта.

server.email.transport.service

Встроенный в коннектор набор служб.

При наличии задаёт host, port, secure автоматически.

По умолчаниию - "Gmail".

server.email.transport.auth

Данные для аутентификации пользователя.

server.email.transport.auth.pass

Пароль пользователя.

server.email.transport.auth.user

Логин пользователя.

Server.user

В этом подразделе задаются параметры пользователей:

"user" : {
    "auth_enabled": "true",
    "new_user_access": "all",
    "template": {
        "permissions": ["manage-objects", "view-section-stat"],
        "objectPermissions": {
            "include": [],
            "exclude": ["5fb643ddf277b96c8401119b", "5f8dc28407e86603bfe281f8"]
        }
    },
    "usersRoot": "5800d9aaac7bf0f90d3d520e"
}
Раздел/Параметр Описание

server.user.auth_enabled

Включает самостоятельную регистрацию для пользователей;

  • false - регистрация выключена,

  • true - регистрация включена.

По умолчанию - false - регистрация выключена.

server.user.lang_default

Язык пользователей по умолчанию;

  • "en" - английский,

  • "it" - итальянский,

  • "ru" - русский.

По умолчанию - "en" - английский.

server.user.new_user_access

Права доступа к объектам для нового пользователя;

  • "all" - есть доступ ко всем объектам,

  • "not" - нет доступа ни к одному объекту.

По умолчанию - "all" - доступ ко всем объектам.

server.user.usersRoot

Идентификатор корневого объекта для создаваемых новым пользователем объектов.

По умолчанию - "1".

server.user.template

Шаблон прав нового пользователя.

Данные параметры применяются только для пользователей, регистрирующихся самостоятельно.

server.user.template.permissions

Список прав на операции, доступных пользователю по умолчанию.

server.user.template.objectPermissions

Права пользователя на доступ к объектам.

server.user.template.objectPermissions.
include

Список идентификаторов объектов, к которым пользователю по умолчанию доступ разрешён.

server.user.template.objectPermissions.
exclude

Список идентификаторов объектов, к которым пользователю по умолчанию доступ запрещён.

SNMP

В этом разделе задаются параметры обработки SNMP-трапов.

"snmp": {
    "filter": "/users/admin/tmp/snmp-filter.js"
}
Раздел/Параметр Описание

snmp.filter

Путь к файлу с функцией фильтрации входящих SNMP Trap.

Если функция возвращает значение false, сообщение отбрасывается.

Приведённый ниже пример блокирует трапы, которые содержат любую из строк, указанных в массиве filters:

Пример функции фильтрации
module.exports = function(message, rawMessage) {
    rawMessage = String(rawMessage);
    //console.log(message, rawMessage);
    let filters = [ 'HLR Call Processing Message',
        'AIR Rejected - No EPS Subscription',
        'GPRS SIBB Processing Exception',
        'AuC Call Processing Message',
        'Received notification from CLIM',
        'AuC Event Log Clean Up',
        'SOFT 0006'
    ];
    return !filters.some((filter) => rawMessage.includes(filter));
}

В данном примере блокируется трап с enterpriseOid = '.1.3.6.1.4.1.169.10.1.1' И genericTrap = 6 И specificTrap = 5:

Пример функции фильтрации
module.exports = function(message, rawMessage) {
    return message.payload.enterpriseOid != '.1.3.6.1.4.1.169.10.1.1' && message.payload.genericTrap != 6 && message.payload.specificTrap != 5;
}

Wetty

В этом разделе задаются параметры логирования истории взаимодействия пользователей с системой через терминал Wetty.

История каждой пользовательской сессии сохраняется в отдельный файл.

Формат имени файла: YYYY-MM-DD_HH_MM_SS_PROTOCOL_IP_USERNAME.log, например 2023-01-12_11-56-17_ssh_127.0.0.1_admin.log.

Если используется версия Центрального Пульта ниже 3.12.86, при переходе на новую версию необходимо:

  1. Внести изменения в файл /etc/nginx/sites-available/saymon:

    location ~ /wetty/(.*)
    {
      # take path and query after wetty/ and append it to proxy_pass
      proxy_pass http://127.0.0.1:3001/wetty/$1?$query_string;
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";
    }
  2. Перезапустить nginx:

    service nginx reload
"wetty" : {
    "log_dir" : "/tmp",
    "raw_mode": true
}
Раздел/Параметр Описание

wetty.log_dir

Путь к папке для хранения log-файлов.

wetty.raw_mode

Включает режим записи логов с управляющими ANSI-символами;

  • true - логи записываются с управляющими ANSI-символами;

  • false - логи записываются без управляющих ANSI-символов.

По умолчанию - true - логи записываются с ANSI-символами.

Zabbix

В этом разделе задаются параметры для импорта данных из системы Zabbix.

"zabbix" : [
    {
        "url" : "http://192.168.1.215/zabbix/api_jsonrpc.php",
        "user" : "saymon",
        "password" : "saymon_user_password",
        "parent_id" : "58b586d5c3a2f96642e25537",
        "debug": true,
        "polling_period": 30000,
        "classes" : {
            "4" : "CPU",
            "619503be0ffb595aebe22222" : "Memory|General"
        }
    }
]
Раздел/Параметр Описание

zabbix.classes

Массив соответствий идентификаторов классов и имён обнаруженных объектов. Объектам с указанными именами будут при создании присвоены соответствующие классы.

zabbix.debug

Включает вывод параметров и результатов запросов в лог;

  • false - вывод выключен,

  • true - вывод включен.

По умолчанию - false - вывод выключен.

zabbix.parent_id

ID объекта, используемого в качестве родителя для объектов, импортируемых из Zabbix.

zabbix.password

Пароль пользователя Zabbix с правами на чтение хостов или групп хостов, данные о которых необходимо импортировать.

zabbix.polling_period

Период обновления данных (в миллисекундах).

По умолчанию - 120000 - 2 минуты.

zabbix.url

Адрес файла api_jsonrpc.php требуемой инсталляции Zabbix.

zabbix.user

Имя пользователя Zabbix с правами на чтение хостов или групп хостов, данные о которых необходимо импортировать.

Zabbix.request_options

В этом подразделе можно задать изменения опций для запроса хостов, триггеров и данных.

"request_options": {
    "hosts": {
        "filter": {
            ...
        }
    },
    "triggers": {
        "filter": {
            ...
        }
    },
    "data": {
        "filter": {
            ...
        }
    }
}
Раздел/Параметр Описание

zabbix.request_options.hosts

Параметры для запроса хостов.

zabbix.request_options.hosts.filter

Поля фильтров для запроса хостов.

Все возможные поля фильтров hosts представлены в документации по Zabbix API.

zabbix.request_options.trigers

Параметры для запроса триггеров.

zabbix.request_options.trigers.filter

Поля фильтров для запроса триггеров.

Все возможные поля фильтров triggers представлены в документации по Zabbix API.

zabbix.request_options.data

Параметры для запроса данных.

zabbix.request_options.data.filter

Поля фильтров для запроса данных.

Все возможные поля фильтров data представлены в документации по Zabbix API.