Конфигурация сервера
Конфигурация сервера системы выполняется в файле /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
сache
В этом разделе задаются настройки сервера Redis.
"cache": {
"host": "127.0.0.1",
"port": 6379
}
сache.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
Дополнительные параметры подключения к кластеру.
Подробнее можно узнать в документации ioredis.
custom_scripts
В этом разделе задаются настройки пользовательских скриптов, выполняющихся при создании и удалении объектов.
"custom_scripts": {
"entity_triggers_path": "/opt/saymon-extensions/entity-triggers-path"
}
db
В этом разделе задаются настройки подключения к базе данных для хранения объектной модели. В качестве базы данных используется MongoDB.
"db" : {
"mongodb": {
"url": "mongodb://localhost:27017/saymon?w=1"
}
}
db.mongodb.url
Адрес сервера MongoDB и дополнительные параметры подключения.
По умолчанию – "mongodb://localhost: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
.
encrypt
"encrypt": {
"db": true,
"server_config": true,
"tags": [
"<<",
">>"
],
"prefix": "crypt"
}
encrypt.db
Включает шифрование полей в базе данных.
-
true – Включить шифрование.
-
false – Выключить шифрование.
По умолчанию – false
encrypt.server_config
Включает шифрование полей в конфигурационном файле сервера
-
true – Включить шифрование.
-
false – Выключить шифрование.
По умолчанию – false
encrypt.tags
Тег для обозначения зашифрованного поля или поля, которое необходимо зашифровать. Подробнее о формате зашифрованного поля можно узнать в разделе Формат зашифрованных параметров.
По умолчанию – ["<<",">>"]
encrypt.prefix
Префикс, обозначающий, что поле зашифровано. Подробнее о формате зашифрованного поля можно узнать в разделе Формат зашифрованных параметров.
По умолчанию – crypt
extensions
В этом разделе задаются параметры пользовательских расширений Центрального Пульта.
"extensions": {
"path": "/opt/saymon-extensions"
}
hostname_update
В этом разделе задаются настройки автоматического обновления информации автоматически зарегистрированных объектов класса Host
.
hostname_update: {
enabled: 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.logLevel
Уровень логирования Kafka;
-
0 – NOTHING,
-
1 – ERROR,
-
2 – WARN,
-
4 – INFO,
-
5 – DEBUG.
По умолчанию – 2
– WARN.
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"
},
...
}
keycloak
В этом разделе задаются параметры для взаимодействия с сервером 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-клиента.
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.update_existing_groups
Разрешает обновлять группы пользователей, созданные в Центральном Пульте, до LDAP-групп при импорте групп пользователя из LDAP и совпадении имен групп;
-
false – при входе LDAP-пользователей обновления групп не происходит.
-
true – при входе LDAP-пользователя его группы в Центральном Пульте, совпадающие с группами в LDAP, обновляются до LDAP-групп.
По умолчанию – false
– при входе LDAP-пользователей обновления групп не происходит.
Для обновленной группы отключается возможность смены имени и добавляется источник – LDAP.
logdb
В этом разделе задаются настройки базы данных для записей журнала безопасности.
Этот раздел требуется для включения интерфейса журнала безопасности. Этот раздел не задан по умолчанию. |
"logdb": {
"url": "mongodb://localhost:27017/logs",
"collection": "securityLogs"
}
monitoring
В этом разделе задаются настройки пользовательских сенсоров мониторинга.
"monitoring": {
"custom_tasks_path": "/opt/saymon-agent/custom_tasks"
}
mqtt
В этом разделе задаются настройки подключения к MQTT-брокеру.
"mqtt" : {
"broker" : "mqtt://username:password@localhost:1883"
}
openTsdb
tsdb_extensions
В этом разделе задаются параметры конфигураций дополнительных баз временных рядов.
"tsdb_extensions": [
{
"name": "influx",
"enabled": true,
"config": {}
"path": <path to DB client file>
}
],
tsdb_extensions.name
Имя дополнительной базы временных рядов;
Поддерживаемые значения:
-
influx
– InfluxDB -
victoria
– VictoriaMetrics
tsdb_extensions.enabled
Запись исторических данных в дополнительную базу временных рядов;
-
false
– запись выключена, -
true
– запись включена.
По умолчанию – true
– запись включена.
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
– отправка включена.
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"
.
rest_server
В этом разделе задаются параметры REST-сервера.
"Rest_server" : {
"base_url" : "/api",
"body_limit": "100kb",
"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.body_limit
Ограничение на размер тела запроса к REST серверу.
Этот параметр можно задавать количеством байт, или строкой формата <размер><единица измерения>
(например "10kb" или "5mb").
При превышении этого ограничения при запросе через Web-интерфейс, пользователю будет показано уведомление "Объект запроса слишком велик".
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.keepAliveTimeout
Время ожидания сервером следующего запроса до разрыва текущего соединения (в миллисекундах).
По умолчанию – 5000
– 5 секунд.
rest_server.session_ttl
Время, по истечении которого происходит автоматическое завершение сессии при неактивности пользователя (в миллисекундах).
По умолчанию – 3600000
– 1 час.
rest_server.update_download_url
Путь к файлу для обновления агента.
По умолчанию – "http://localhost/node/api/agents/update"
.
rest_server.limits
В этом подразделе задаются ограничения на число запросов к REST 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.block_by_ip
Заблокировать пользователя по IP при определённом количестве неудачных попыток входа.
Если пользователь заблокирован, то при входе ему будет показана следующая ошибка:
Ошибка! (38) Cлишком много неудачных попыток входа в систему, повторите попытку через несколько секунд
По умолчанию этот раздел не определён, функция отключена.
"block_by_ip": {
"enabled": true,
"attempts": 3,
"block_period": 30000
}
server.colorize_log
Включает цветную раскраску лога;
-
false – раскраска выключена,
-
true – раскраска включена.
По умолчанию – false
– раскраска выключена.
server.comet_ping_interval
Временной интервал между отправками Comet-сервером сообщений (в миллисекундах).
По умолчанию – 5000
– 5 секунд.
server.comet_ping_timeout
Время ожидания сообщения от Comet-сервера (в миллисекундах).
По умолчанию – 12000
– 12 секунд.
server.comet_secure
Включает SSL-соединение;
-
false – соединение выключено,
-
true – соединение включено.
По умолчанию – false
– соединение выключено.
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.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.self_monitoring_period
Период между процессами самоконтроля сервера.
По умолчанию – 2 минуты.
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.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.transport.secure
Включает использование TLS при подключении к серверу;
-
false – использоване TLS выключено,
-
true – использоване TLS включено.
Значение по умолчанию зависит от порта.
server.email.transport.service
Встроенный в коннектор набор служб.
При наличии задаёт host, port, secure автоматически.
По умолчаниию – "Gmail".
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_attempts
Настройки блокировки пользователя при неудачной попытке входа.
При определённом количестве неудачных попыток входа, указанном в параметре attempts
пользователь блокируется. Все запросы от этого пользователя возвращают код 429 Too Many Requests
.
При успешном логине или через определённое количество времени, указанное в параметре block_period
, количество неудачных попыток входа сбрасывается. Если пользователь уже был заблокирован, то он будет разблокирован через время, указанное в block_period
.
"user" : {
...
"auth_attempts": {
"enabled": true,
"attempts": 3,
"block_period": 60000
},
...
}
server.user.auth_attempts.enabled
Включает функцию блокировки пользователя при неудачных попытках входа.
-
false – блокировка выключена,
-
true – блокировка включена.
По умолчанию – true
– блокировка включена.
server.user.auth_attempts.attempts
Количество неудачных попыток, которое приведёт блокировке.
По умолчанию – 3
.
server.user.auth_attempts.block_period
Период сброса ключа неудачных попыток входа в миллисекундах.
Если пользователь уже был заблокирован за неудачные попытки входа, то он будет разблокирован через период, указанный в этом параметре.
По умолчанию – 300000
.
server.user.auth_enabled
Включает самостоятельную регистрацию и возможность удалить собственную учётную запись для пользователей;
-
false – регистрация и удаление выключены,
-
true – регистрация и удаление включены.
По умолчанию – false
– регистрация и удаление выключены.
server.user.auth_token_enabled
Включает аутентификацию с помощью токена API.
-
false – аутентификация по токену выключена,
-
true – аутентификация по токену включена.
По умолчанию – true
– аутентификация по токену включена.
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
Права пользователя на доступ к объектам.
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;
}
state_history_log
"state_history_log": {
"max_time_range_interval": 30
}
state_history_log.max_time_range_interval
Определяет максимальное значение временного интервала, которое может указать пользователь при запросе отчёта с указанием параметров, которые замедляют фильтрацию истории состояний (classId
, tagId
, entityName
). Указывается в днях.
Если указать значение 0 , то пользователь не будет ограничен в выборе временного диапазона, но это может привести к долгой обработке запросов при большом количестве объектов.
|
По умолчанию – 90
дней.
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, при переходе на новую версию необходимо:
|
"wetty" : {
"log_dir" : "/tmp",
"raw_mode": true
}
zabbix
В этом разделе задаются параметры для импорта данных из системы Zabbix.
По умолючанию сервер использует систему подключения к Zabbix 6.0. Для использования Zabbix 5.x, нужно выставить параметр zabbix5 в true .
|
"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.user
Имя пользователя Zabbix с правами на чтение хостов или групп хостов, данные о которых необходимо импортировать.
zabbix.zabbix5
Использовать систему подлючения для Zabbix 5.x.
-
true
– сервер использует систему для Zabbix 5.x, -
false
– сервер использует систему для Zabbix 6.0.
По умолчанию – false – Используется система подключения для Zabbix 6.0.
В версиях Центрального пульта старше 3.14.89 этот параметр не требуется, так как в них нет поддержки Zabbix 6.0. |
zabbix.request_options
В этом подразделе можно задать изменения опций для запроса хостов, триггеров и данных.
"request_options": {
"hosts": {
"filter": {
...
}
},
"triggers": {
"filter": {
...
}
},
"data": {
"filter": {
...
}
}
}
При интеграции Центрального пульта версии 3.14.89 и выше с Zabbix 6.0 дополнительно можно задать изменения опций для тегов:
"request_options": {
...
"tags" [
{
"tag" : "ZBXHEALTH"
}
],
...
}
zabbix.request_options.hosts.filter
Поля фильтров для запроса хостов.
Все возможные поля фильтров hosts представлены в документации по Zabbix API.
zabbix.request_options.triggers.filter
Поля фильтров для запроса триггеров.
Все возможные поля фильтров triggers представлены в документации по Zabbix API.
zabbix.request_options.data.filter
Поля фильтров для запроса данных.
Все возможные поля фильтров data представлены в документации по Zabbix API.