Настройка конфигурации агента

Конфигурация агента настраивается в файле rpoint.conf.

Файл конфигурации rpoint.conf создается автоматически при установке агента и хранится в подкаталоге etc каталога установки.

Пути хранения файла конфигурации по умолчанию:

  • для ОС Linux: /opt/rvision/agent/etc/;

  • для ОС Windows: C:\Program Files (x86)\RVision\Agent\etc\;

  • для macOS: /Library/R-Vision/agent/etc/.

Структура файла конфигурации

Файл конфигурации rpoint.conf содержит следующие настройки:

  • log — настройки логирования.

  • nats — настройки подключения к локальному NATS-серверу.

  • nats_server — параметры запуска локального NATS-сервера.

  • inventory — настройки сбора инвентарной информации.

  • messages_sender — настройки модуля отправки сообщений.

  • go_memory_limit — ограничение на потребление ОЗУ брокером сообщений NATS.

  • restart_nats_on_isolation — признак перезапуска модуля nats-server при изменении настроек изоляции.

  • isolation_monitoring_interval — интервал проверки изоляции.

Пример содержимого файла конфигурации rpoint.conf
{
  "log": {
    "file_path": "logs/rpoint.log",
    "level": "info",
    "rotation_size": 10485760,
    "target_file_name": "rpoint_%N.log",
    "max_messages_queue_size": 10000
  },
  "nats": {
    "local": {
      "connection": {
        "url": "tls://127.0.0.1:4111"
      }
    }
  },
  "nats_server": {
    "host": "127.0.0.1",
    "port": 4111,
    "jetstream": {
      "store_dir": "./nats",
      "max_memory_store": 1073741824,
      "max_file_store": 10737418240
    },
    "leafnodes": {
        "remotes": [
            {
              "url": "nats://worker01.rpoint.local:32000",
              "deny_exports": [
                "$KV.local-configs.>",
                "local-module-rpc.>",
                "local-ep-to-manager.>",
                "local.>",
                "local-scanner-commands.>"
              ],
              "deny_imports": [
                "$KV.local-configs.>",
                "local-module-rpc.>",
                "local-ep-to-manager.>",
                "events.scanner.events.v2.EvoScannerHostResultsEvent",
                "e.ib.>",
                "ep-to-agents.>",
                "local-scanner-commands.>",
                "events.vm.events.v1.VmScannerHostCommandResultEvent"
              ]
            }
        ]
    },
    "log_file": "logs/nats.log",
    "log_size_limit": 10485760,
    "logfile_max_num": 10
  },
  "inventory": {
    "monitoring_interval": 86400
  },
  "messages_sender": [
    {
      "name": "ib_events",
      "read_stream": "local-ib-events",
      "read_subject": "local.e.ib.>",
      "max_bytes": 100000000,
      "should_log_ack": false,
      "max_parallel_messages": 10
    },
    {
      "name": "audit_events",
      "read_stream": "local-agent-audit",
      "read_subject": "local.events.siem.audit.v1.SystemAuditEvent",
      "max_bytes": 50000000,
      "should_log_ack": false,
      "ack_timeout": 3000,
      "headers": {
        "Nats-Expected-Stream": "events-siem-audit-system-audit"
      },
      "max_parallel_messages": 10
    }
  ],
  "go_memory_limit": "1GiB",
  "restart_nats_on_isolation": true,
  "isolation_monitoring_interval": 1.0
}

Секция log

В данной секции задаются настройки логирования.

Рекомендуется оставлять данную секцию без изменений.
Параметр Описание

file_path

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

level

Уровень логирования. Доступные значения:

  • fatal — записи о критических ошибках в работе ПО, приводящих к аварийному завершению работы.

  • error — записи уровня fatal, а также ошибки, нарушающие работу функционала.

  • warning — записи уровня error, а также предупреждения, не приводящие к нарушению работы функционала, но требующие внимания.

  • info — записи уровня warning, а также информационные сообщения о штатной работе ПО.

  • debug — записи уровня info, а также отладочная информация для разработчиков.

  • trace — записи уровня debug, а также наиболее подробная отладочная информация для разработчиков.

rotation_size

Размер файла в байтах, по достижении которого выполняется ротация логов. Задается, если требуется ротация по размеру файла.

Не может задаваться одновременно с параметром time_rotation.

time_rotation

Период ротации логов. Задается, если требуется ротация по времени.

Указывается в формате JSON-объекта со следующими полями:

  • hours — часы;

  • minutes — минуты;

  • seconds — секунды.

Не может задаваться одновременно с параметром rotation_size.

target_file_name

Шаблон имени файла после ротации логов.

Если в параметре задан шаблон, содержащий символы %N, то вместо этих символов в каждом файле логов будет добавлен порядковый номер ротации. Например, для шаблона rpoint_%N.log итоговые файлы будут иметь названия rpoint_1.log, rpoint_2.log, rpoint_3.log.

max_messages_queue_size

Максимальное количество сообщений логов, которые будут сохранены в кэше при сбое работы процесса rpoint-launcher.

Пример секции log
"log": {
  "file_path": "logs/rpoint.log",
  "level": "info",
  "rotation_size": 10485760,
  "target_file_name": "rpoint_%N.log",
  "max_messages_queue_size": 10000
}

Секция nats

В данной секции задаются настройки подключения агента к локальному NATS-серверу для обмена сообщениями с менеджером агентов.

Параметр Описание

local

Конфигурация подключения к локальному NATS-серверу.

Указывается в формате JSON-объекта connection с полем url.

В поле url задается URL-адрес локального NATS-сервера в формате tls://127.0.0.1:<port>. Здесь:

  • <port> — порт подключения к серверу.

    Порт должен совпадать со значением port в параметре nats_server.

Пример секции nats
"nats": {
  "local": {
    "connection": {
      "url": "tls://127.0.0.1:4111"
    }
  }
}

Секция nats_server

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

Параметр Описание

host

IP-адрес или полное доменное имя (FQDN) локального NATS-сервера.

Не меняйте значение данного параметра.

port

Порт локального NATS-сервера.

Значение должно совпадать с портом, указанным в значении local в параметре nats.

jetstream

Параметры хранения данных брокера сообщений NATS JetStream:

  • store_dir — путь к папке, в которой хранятся данные.

  • max_memory_store — максимальный объем занимаемой памяти в байтах.

  • max_file_store — максимальный объем файла на дисковом пространстве в байтах.

Не меняйте значение данного параметра.

leafnodes

Настройки шлюзов для подключения.

Указываются в виде JSON-объекта remotes с массивом следующих полей:

  • url — URL-адрес для подключения к шлюзу.

    Для каждого шлюза без TLS-шифрования в поле url указывается URL-адрес в формате nats://<addr>:<port>.

    Для каждого шлюза с TLS-шифрованием адрес указывается в формате tls://<addr>:<port>.

    Здесь:

    • <addr> — адрес подключения к шлюзу.

    • <port> — порт подключения к шлюзу.

    Подробности о подключении агентов к шлюзам приведены в разделах Подключение агента к кластеру и Настройка шифрования между агентом и шлюзом.

  • deny_exports — стримы, запрещенные к экспорту из центрального пространства. Не меняйте значение данного параметра.

  • deny_imports — стримы, запрещенные к импорту в центральное пространство. Не меняйте значение данного параметра.

log_file

Путь к файлу с логами NATS.

Не меняйте значение данного параметра.

log_size_limit

Максимальный размер файла с логами NATS в байтах. При достижении данного размера будет создан новый файл.

logfile_max_num

Максимальное количество файлов с логами NATS. При достижении данного количества будет произведена ротация логов.

Пример секции nats_server
"nats_server": {
  "host": "127.0.0.1",
  "port": 4111,
  "jetstream": {
    "store_dir": "./nats",
    "max_memory_store": 1073741824,
    "max_file_store": 10737418240
  },
  "leafnodes": {
      "remotes": [
          {
            "url": "nats://worker01.rpoint.local:32000",
            "deny_exports": [
              "$KV.local-configs.>",
              "local-module-rpc.>",
              "local-ep-to-manager.>",
              "local.>",
              "local-scanner-commands.>"
            ],
            "deny_imports": [
              "$KV.local-configs.>",
              "local-module-rpc.>",
              "local-ep-to-manager.>",
              "events.scanner.events.v2.EvoScannerHostResultsEvent",
              "e.ib.>",
              "ep-to-agents.>",
              "local-scanner-commands.>",
              "events.vm.events.v1.VmScannerHostCommandResultEvent"
            ]
          }
      ]
  },
  "log_file": "logs/nats.log",
  "log_size_limit": 10485760,
  "logfile_max_num": 10
}

Секция inventory

В данной секции задаются настройки сбора инвентарной информации об агенте.

Рекомендуется оставлять данную секцию без изменений.
Параметр Описание

monitoring_interval

Интервал сбора инвентарной информации в секундах.

Пример секции inventory
"inventory": {
  "monitoring_interval": 86400
}

Секция messages_sender

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

Не меняйте значения параметров в данной секции.

Настройки задаются в виде массива параметров для каждой очереди сообщений. Параметры очереди представлены в таблице ниже.

Параметр Описание

name

Название канала NATS для передачи сообщений.

read_stream

Название потока NATS для чтения и передачи сообщений.

read_subject

Название темы NATS для чтения и передачи сообщений.

max_bytes

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

Если параметр не задан, очередь не ограничена.

should_lock_ack

Признак, нужно ли логировать сообщения для данной очереди.

Следует соблюдать осторожность при активации данного параметра. При большом количестве событий в очереди возможно переполнение логов неинформативными сообщениями.

max_parralel_messages

Максимальное количество сообщений, которое можно отправлять параллельно, для данной очереди.

headers

Заголовки, которые нужно добавлять к сообщению при публикации в стрим.

Заголовки задаются в виде массива параметров Nats-Expected-Stream, где указывается ожидаемый стрим получения.

Пример секции messages_sender
"messages_sender": [
  {
    "name": "ib_events",
    "read_stream": "local-ib-events",
    "read_subject": "local.e.ib.>",
    "max_bytes": 100000000,
    "should_log_ack": false,
    "max_parallel_messages": 10
  },
  {
    "name": "audit_events",
    "read_stream": "local-agent-audit",
    "read_subject": "local.events.siem.audit.v1.SystemAuditEvent",
    "max_bytes": 50000000,
    "should_log_ack": false,
    "ack_timeout": 3000,
    "headers": {
      "Nats-Expected-Stream": "events-siem-audit-system-audit"
    },
    "max_parallel_messages": 10
  }
]

Параметр go_memory_limit

Данный параметр позволяет ограничивать максимальный размер оперативной памяти, потребляемой брокером сообщений NATS. Задаваемое ограничение указывается с единицами измерения.

Рекомендуется оставлять данный параметр без изменений.
Пример параметра go_memory_limit
"go_memory_limit": "1GiB"

В представленном примере задано ограничение на потребление ОЗУ в 1 ГиБ.

Параметр restart_nats_on_isolation

Данный параметр определяет, нужно ли перезапускать модуль nats-server при установке или снятии изоляции хоста.

Параметр рекомендуется включать только в macOS в связи с особенностями работы NATS.
Пример параметра restart_nats_on_isolation
"restart_nats_on_isolation": true,

Параметр isolation_monitoring_interval

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

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

Параметр работает только в macOS.
Пример параметра isolation_monitoring_interval
"isolation_monitoring_interval": 1.0

Была ли полезна эта страница?

Обратная связь