Обновление агентов

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

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

Примечания для обновлений конкретных версий можно найти на странице Примечания для обновления агента.

Windows

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

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

Для обновления существующего агента на версию до 5.0.0 следует удалить существующего агента и установить новую версию в эту же папку. При удалении агента остаются папки conf, log и storage.

macOS

Агент для macOS распространяется в виде установочного скрипта. Для обновления агента нужно получить скрипт для новой версии агента и запустить его на нужном устройстве:

$wget https://downloads.cpult.ru/agent/v5.1.1/saymon-agent-5.1.1-macos-aarch64-installer.sh
$sh saymon-agent-5.1.1-macos-aarch64-installer.sh
Для каждой архитектуры системы существует свой установочный скрипт. При установке и обновлении скриптом неподходящей архитектуры агент будет перезаписан, но сервис не запустится. Исправить некорректную установку можно обновив агент скриптом для нужной архитектуры.
Looks like SAYMON Agent has been already installed in /opt/saymon-agent directory.
Do you want to update application with respect to current configurations? [y/N]
y
Unpacking the distribution archive... OK
SAYMON Agent will be updated.
Copy resources from package into /opt/saymon-agent.update
Copy resources from previous installation into /opt/saymon-agent.update
'/opt/saymon-agent/storage' -> '/opt/saymon-agent.update/storage'
'/opt/saymon-agent/storage/registration.json' -> '/opt/saymon-agent.update/storage/registration.json'
'/opt/saymon-agent/conf/agent.properties' -> '/opt/saymon-agent.update/conf/agent.properties'
'/opt/saymon-agent/conf/logback-daemon.xml' -> '/opt/saymon-agent.update/conf/logback-daemon.xml'
'/opt/saymon-agent/conf/logback.xml' -> '/opt/saymon-agent.update/conf/logback.xml'
'/opt/saymon-agent/conf/logback-daemon-debug.xml' -> '/opt/saymon-agent.update/conf/logback-daemon-debug.xml'
Swap /opt/saymon-agent -> /opt/saymon-agent.backup
Swap /opt/saymon-agent.update -> /opt/saymon-agent
Restart SAYMON Agent service.
SAYMON Agent update completed.

Linux

Пакетный менеджер

Для обновления агента, установленного через пакетные менеджеры нужно получить пакет с новой версией агента для своего пакетного менеджера (.deb для систем Debian/Ubuntu и .rpm для Red Hat/Fedora) и установить его на нужном устройстве:

  • deb

  • rpm

$sudo dpkg -i saymon-agent_5.1.1-cd6973ea_amd64.deb
$dnf install saymon-agent-5.1.1-cd6973ea.x86_64.rpm

При успешном обновлении пакетов, в консоль выведутся следующие сообщения:

  • deb

  • rpm

(Reading database ... 37680 files and directories currently installed.)
Preparing to unpack saymon-agent_5.1.1-cd6973ea_amd64.deb ...
Stop service
Removed "/etc/systemd/system/multi-user.target.wants/saymon-agent.service".
Backup the configuration files
saymon:x:996:
saymon:x:999:996::/opt/saymon-agent:/sbin/nologin
Unpacking saymon-agent (5.1.1-cd6973ea) over (5.1.1-cd6973ea) ...
Setting up saymon-agent (5.1.1-cd6973ea) ...
You can configure /opt/saymon-agent/conf/agent.properties
Backup directory /opt/saymon-agent.backup found. Also you can restore the configuration from there.
And restart the service
sudo systemctl restart saymon-agent
Start the service
Created symlink /etc/systemd/system/multi-user.target.wants/saymon-agent.service → /etc/systemd/system/saymon-agent.service.
Last metadata expiration check: 0:00:05 ago on Thu 01 Aug 2024 05:13:15 PM MSK.
Dependencies resolved.
==============================================================================================================================================================================
 Package                                   Architecture                        Version                                        Repository                                 Size
==============================================================================================================================================================================
Installing:
 saymon-agent                              x86_64                              5.1.1-cd6973ea                                 @commandline                               90 M

Transaction Summary
==============================================================================================================================================================================
Install  1 Package

Total size: 90 M
Installed size: 186 M
Is this ok [y/N]: y
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                      1/1
  Running scriptlet: saymon-agent-5.1.1-cd6973ea.x86_64                                                                                                                   1/1
saymon:x:988:
saymon:x:990:988::/opt/saymon-agent:/sbin/nologin
Legacy detected. Will be purged for compatibility.
removed '/opt/saymon-agent/systemd/saymon-agent.service'
removed directory '/opt/saymon-agent/systemd'
...
removed '/opt/saymon-agent/saymon-agent.jar'

  Installing       : saymon-agent-5.1.1-cd6973ea.x86_64                                                                                                                   1/1
warning: /opt/saymon-agent/conf/agent.properties created as /opt/saymon-agent/conf/agent.properties.rpmnew
warning: /opt/saymon-agent/conf/logback.xml created as /opt/saymon-agent/conf/logback.xml.rpmnew

  Running scriptlet: saymon-agent-5.1.1-cd6973ea.x86_64                                                                                                                   1/1
Restore configuration.
You can configure /opt/saymon-agent/conf/agent.properties
Backup directory /opt/saymon-agent.backup found. Also you can restore the configuration from there.
And restart the service
sudo systemctl restart saymon-agent
Start the service


Installed:
  saymon-agent-5.1.1-cd6973ea.x86_64

Complete!

Установочный скрипт

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

$wget https://downloads.cpult.ru/agent/v5.1.1/saymon-agent-5.1.1-linux-x64-installer.sh
$sh saymon-agent-5.1.1-linux-x64-installer.sh

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

Для каждой архитектуры системы существует свой установочный скрипт. При установке и обновлении скриптом неподходящей архитектуры агент будет перезаписан, но сервис не запустится. Исправить некорректную установку можно обновив агент скриптом для нужной архитектуры.
Looks like SAYMON Agent has been already installed in /opt/saymon-agent directory.
Do you want to update application with respect to current configurations? [y/N]
y
Unpacking the distribution archive... OK
SAYMON Agent will be updated.
Copy resources from package into /opt/saymon-agent.update
Copy resources from previous installation into /opt/saymon-agent.update
'/opt/saymon-agent/storage' -> '/opt/saymon-agent.update/storage'
'/opt/saymon-agent/storage/registration.json' -> '/opt/saymon-agent.update/storage/registration.json'
'/opt/saymon-agent/conf/agent.properties' -> '/opt/saymon-agent.update/conf/agent.properties'
'/opt/saymon-agent/conf/logback-daemon.xml' -> '/opt/saymon-agent.update/conf/logback-daemon.xml'
'/opt/saymon-agent/conf/logback.xml' -> '/opt/saymon-agent.update/conf/logback.xml'
'/opt/saymon-agent/conf/logback-daemon-debug.xml' -> '/opt/saymon-agent.update/conf/logback-daemon-debug.xml'
Swap /opt/saymon-agent -> /opt/saymon-agent.backup
Swap /opt/saymon-agent.update -> /opt/saymon-agent
Systemd detected.
SAYMON Agent systemd service installed and enabled.
Restart SAYMON Agent service.
SAYMON Agent update completed.

Обновление через web-интерфейс

Через web-интерфейс можно обновлять только агентов одной major-версии. Например, можно обновить агента версии 5.1.1 до агента версии 5.5.0, а агента версии 4.4.71 до версии 5.0.0 – нет.

Установленные и зарегистрированные в системы агенты можно обновлять через web-интерфейс. Для этого, каждый выпуск агента имеет специальный архив обновления. Обычно, этот архив имеет название следующего вида:

saymon-agent-x.x.x-update.zip

Для обновления агента через web-интерфейс нужно выполнить следующие шаги:

  1. Открыть родительский объект агента в стандартном виде.

  2. Навести курсор на объект, представляющий зарегистрированного в системе агента.

    agent object
  3. Нажать на кнопку , чтобы перейти к окну настройки агента:

    agent config
  4. Нажать на кнопку Загрузить обновление объекта.

  5. Выбрать архив с обновлением.

    Распаковывать архив перед загрузкой не нужно.

После успешной загрузки обновления кнопка Загрузить обновление объекта заменится на кнопку Обновление успешно загружено.