Настройка АктивногоШлюза (для хранения дампов памяти)

Материал из Документация Ключ-АСТРОМ

Применение Ключ-АСТРОМ / Профилирование и оптимизация / Дампы памяти / Настройка АктивногоШлюза (для хранения дампов памяти)

Когда в вашем приложении происходят утечки памяти или высокая частота смены объектов, важно, чтобы вы получали дампы памяти, чтобы можно было проанализировать эти проблемы. В производственных средах это часто становится проблемой, когда вы не можете войти в среду и у вас нет других средств для запуска дампов памяти. Ключ-АСТРОМ позволяет вам как запускать, так и безопасно загружать дампы памяти в инструмент анализа по вашему выбору. Чтобы включить дампы памяти, вам необходимо настроить АктивныйШлюз, как описано ниже.

Если вы настроите АктивныйШлюз для сбора дампов памяти, а затем перезапустите службу АктивногоШлюза, все экземпляры ЕдиногоАгента автоматически переподключатся и распознают, что АктивныйШлюз теперь может хранить дампы памяти. С этого момента, всякий раз, когда дамп памяти успешно запускается, дамп будет автоматически загружаться на правильный АктивныйШлюз. После безопасного сохранения на АктивномШлюзе, ЕдиныйАгент удаляет локальный файл из своего хранилища. Обратите внимание, что ЕдиныйАгент автоматически удаляет дамп памяти на исходном хосте через один час.

Активировать функцию дампа

Создайте раздел [collector] в файле custom.properties (если он еще не существует). Укажите свойство DumpSupported в этом разделе и установите значение true.

[collector]

DumpSupported = true

Укажите выделенный каталог дампа (необязательный)

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

Чтобы использовать пользовательский путь, укажите путь в файле свойств и создайте каталог с соответствующими разрешениями:

Создайте раздел [dump] в custom.properties(если он еще не существует) и затем укажите свойство dumpDir в этом разделе. Например:

[dump]

dumpDir = dump

Свойство dumpDir может содержать относительный путь, например, dumpDir = mydir. В этом случае каталог будет подкаталогом расположения по умолчанию. Это может быть также абсолютный путь, например, dumpDir = C:\data\memory-dumps.

Создайте каталог, если он еще не существует, и убедитесь, что у него есть права доступа для пользователя, запускающего службу АктивногоШлюза. Это по умолчанию dtuserag для Linux и Local Service для Windows:

  • Системы Linux: Read, Write, и Execute
  • Системы Windows: Read, Write, и Modify

Пример разрешений для каталога дампа в Windows

183.png

Использование /temp или /tmp под управлением Linux

Из-за возможной автоматической очистки мы рекомендуем вам не использовать каталоги Linux /temp, /tmp или их подкаталоги для установки АктивногоЩлюза или хранения каких-либо данных, созданных или используемых АктивнымШлюзом.

Укажите параметры для управления файлами дампа (необязательный)

Также в разделе [dump] можно указать следующие свойства:

Свойство Значение по умолчанию Описание
dumpDir dump Допустимый путь к каталогу хранения, используемому для хранения дампа
maxSizeGb 100 Квота хранения в ГБ. Если она будет переполнена, самые старые дампы перезаписываются до тех пор, пока не будет достаточно места для хранения нового дампа.
maxAgeDays 7 Максимальный срок хранения дампа памяти в днях, после которого дамп будет автоматически перезаписан
maxConcurrentUploads 5 Максимальное количество одновременных загрузок дампов из ЕдиногоАгента
downloadUrl не установлено Пользовательский URL для загрузки. Это особенно полезно, если АктивныйШлюз находится за балансировщиком нагрузки для управления трафиком конечного пользователя или если АктивныйШлюз определяет только IP-адрес, а пользователю требуется FQDN. Обратите внимание, что балансировщик нагрузки не должен размещаться между АктивнымШлюзом и ЕдинымАгентом, так как это может нарушить функциональность дампа памяти. URL должен содержать правильную схему и порт.

Перезапустить АктивныйШлюз

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

Пример содержимого файла custom.properties

[collector]

DumpSupported = true

[dump]

# relative to collector root dir or absolute path

dumpDir = dump

# maximum size in GB for stored memory dump

maxSizeGb = 100

# maximum age in days for keeping stored memory dumps

maxAgeDays = 7

# maximum number of concurrent file uploads supported

maxConcurrentUploads = 5