Retifff's Blog

Мой ИТ блог

Обновление NetXMS 2.2 до версии 3.1

Posted by Retifff на 13.01.2020

На мой взгляд, NetXMS в версии 3.1 уже достаточно стабилен, много багов поправлено, можно обновляться.

Из существенных улучшений по сравнению со 2-й версией, лично мне понравилось объединение политик и шаблонов, очень удобно стало, имхо, для шаблонов с проверкой срока действия сертификатов, к примеру. Можно добавить в политику шаблона строки с ExternalParameter и не делать это вручную или отдельной политикой.

КДПВ:

Обновление NetXMS на Windows Server

Обновление сервера NetXMS на Windows выполняется довольно просто. Для начала, нужно остановить все службы NetXMS, причем лучше это делать в таком порядке:

  1. NetXMS WebUI
  2. NetXMS Core
  3. NetXMS Agent

Запускать, соответственно, в обратном порядке. Можно из консоли services.msc, можно из Powershell-а, например так:

Или так, если короче:

Stop-Service nxWebUI,NetXMSCore,NetXMSAgentdW32

После этого нужно выполнить команду nxdbmgr check и убедиться, что все проверки пройдены:

У меня всё ок, поэтому можно приступать к собственно установке. Скачиваем с https://www.netxms.org/download/ из раздела Server Binaries для платформы Windows (x64) пакет сервера NetXMS, на момент написания статьи это netxms-3.1.300-x64.exe. Можно запустить его и пройти по шагам инсталлятора, но проще всего, чтобы сохранить все текущие настройки, обновить с помощью команды:

netxms-3.1.300-x64.exe /SILENT

Так и сделаем. Инсталлятор сам обновит NetXMS. После установки, нужно убедиться, что запущены службы NetXMS:

Get-Service netxms*,nx*

Мы видим, что службы NetXMS Agent и NetXMS Core уже запустились сами. Если нет, нужно обновить базу NetXMS с помощью команды nxdbmgr upgrade и заново запустить эти службы.

А вот служба NetXMS WebUI , как мы видим, не запущена. Ну это и понятно, так как мы её ещё не обновляли. Скачиваем дистрибутив веб-консоли с сайта NetXMS (на момент написания статьи это netxms-webui-3.1.300-x64.exe) и запускаем его. Собственно, ничего особенного в установке нет, но, если помните, при установке веб-консоли версии 2.2.16 я оставлял порт по умолчанию 8080. Это оказалось не очень удобно, так что я решил его изменить на 80-й порт, чтобы в адресе веб-консоли цифры не фигурировали. Для этого, на третьем шаге инсталляции, порт просто меняем на 80-й:

и заканчиваем установку. Собственно всё, обновление NetXMS закончено. Можно проверить, стартовала ли служба веб-консоли. Ещё раз запускаем команду:

Get-Service netxms*,nx*

Как видим, сейчас всё нормально, все службы стартовали, можно заходить в веб-консоль, причем по нормальному адресу, без адреса порта:

http://netxms.corp.testcompany.ru/nxmc

В конце адреса слеш не надо указывать, такой вот странный нюанс для NetXMS на Windows.

Заходим в Management Console (если используете консоль не на самом сервере, не забудьте её тоже обновить):

Видим, что NetXMS обновился, появились новые вкладки, исчезли Policy и вылезли предупреждения, типа такого:

Status of DCI 844 (NetXMS Agent: sqlite-hosts) changed to UNSUPPORTED

Судя по всему, это следствие перехода на 3-ю версию, некоторые счетчики стали не поддерживаемыми. Я просто сделал Resolve, после этого таких алармов больше не было.

Обновление NetXMS на Ubuntu Server

Обновление NetXMS на Ubuntu Server так же не представляет проблемы. Сначала можно посмотреть, что установлено сейчас:

apt list --installed | grep netxms

У меня это выглядит как-то так:

[user@netxms ~]$apt list --installed | grep netxms

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

netxms-agent/bionic,now 2.2.16-1 amd64 [installed,upgradable to: 3.1.261-2]
netxms-base/bionic,now 2.2.16-1 amd64 [installed,upgradable to: 3.1.261-2]
netxms-dbdrv-mysql/bionic,now 2.2.16-1 amd64 [installed,upgradable to: 3.1.261-2]
netxms-dbdrv-sqlite3/bionic,now 2.2.16-1 amd64 [installed,upgradable to: 3.1.261-2]
netxms-release/now 1.2 all [installed,local]
netxms-server/bionic,now 2.2.16-1 amd64 [installed,upgradable to: 3.1.261-2]

Всё правильно, установлен NetXMS версии 2.2.16. Для обновления можно просто запустить команду:

apt-get update && apt-get upgrade

как рекомендует нам мануал, заодно обновив при этом и всю операционную систему. Если вы не хотите это делать, можно обновить лишь сам NetXMS и зависимые компоненты с помощью команды:

sudo apt-get install --only-upgrade netxms-server

Я так и сделаю:

При завершении работы инсталлятор напишет, что всё ок:

Database upgrade succeeded
Processing triggers for libc-bin (2.27-3ubuntu1) ...

Ядро и агент обновлены, можно проверить, стартовали ли сервисы, командами:

systemctl status netxmsd

и

systemctl status nxagentd

Однако, ещё нужно обновить веб-консоль. Скачиваем её:

wget https://www.netxms.org/download/releases/3.1/nxmc-3.1.300.war

Для удобства переименовываем в nxmc.war:

mv nxmc-3.1.300.war nxmc.war

И копируем в каталог webapps tomcat-а:

sudo cp nxmc.war /var/lib/tomcat9/webapps/

Вроде всё, можно проверять? Но тут мне тоже не нравится наличие порта 8080 в адресе, поэтому его можно изменить в конфиге томката. Редактируем его:

sudo nano /etc/tomcat9/server.xml

Ищем секцию:

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />

и меняем в ней 8080 на 80:

Сохраняем конфиг и перезапускаем tomcat:

sudo systemctl restart tomcat9

Всё, веб-консоль теперь будет доступна по такому адресу:

http://netxms.corp.testcompany.ru/nxmc/

Обратите внимание на слеш на конце, без него не откроется. Почему-то такая разница в адресе веб-консоли на Windows и Linux.

Обновление агентов NetXMS на Windows и Linux

Обновлять агентов можно как локально на каждом сервере, так и централизованно из консоли NetXMS. С локальным обновлением всё понятно, рассматривать его не будем, там просто запуск инсталлятора. Централизованное обновление из консоли несколько интересней. Идем в Configuration > Package Manager. Тут меня поджидал сюрприз, потому что после обновления на версию 3.1 он открылся как-то странно, в левой нижней четверти окна:

Чтобы это исправить, нужно в меню Window выполнить Reset Perspective. После этого окно приобретает нормальный вид и вкладка возвращается на своё законное место.

Для установки агентов нужно скачать из архива https://netxms.org/download/releases/3.1/ следующие файлы:

  • nxagent-3.1.297-linux-x86_64.npi
  • nxagent-3.1.297-linux-x86_64.apkg
  • nxagent-3.1.300-x64.npi
  • nxagent-3.1.300-x64.exe

и положить их в один каталог. Что-то типа «Agent Packages». На момент написания статьи, для Linux не было агентов 3.1.300, поэтому есть такая небольшая разница в версиях. Если вы откроете файлы NPI обычным текстовым редактором, то увидите следующее содержимое:

NAME nxagent
PLATFORM windows-x64
VERSION 3.1.300
DESCRIPTION NetXMS Agent for 64-bit Windows
FILE nxagent-3.1.300-x64.exe
NAME nxagent
PLATFORM Linux-x86_64
VERSION 3.1.297
DESCRIPTION NetXMS Agent for Linux
FILE nxagent-3.1.297-linux-x86_64.apkg

Как видите, в этих файлах содержится указание на файл дистрибутива агента (nxagent-3.1.300-x64.exe и nxagent-3.1.297-linux-x86_64.apkg), именно поэтому они должны лежать вместе в одном каталоге.

Чтобы добавить пакеты агентов в Package Manager, нужно нажать на зеленый плюс в правом верхнем углу окна и выбрать «Install new package…». В открывшемся окне выбираем наш файл с расширением NPI. Загруженные агенты выглядят так:

Далее, чтобы обновить агенты на нодах, на выбранном агенте нажимаем правой кнопкой мыши и выбираем «Deploy to managed nodes…». Я начну с Windows-серверов:

После этого немного ждём, пока агент установится на ноды:

Проверяем версию установленного агента:

Всё нормально, агент версии 3.1.300 установился корректно.

А вот с установкой агентов на Linux есть нюанс. Если первоначально агент устанавливался через deb-пакеты, то обновить его из консоли NetXMS не получится, мы получим ошибку. Если же установка производилась из архива, тогда обновление через консоль вполне доступно. Сама процедура ничем не отличается от описанной выше для Windows, c той разницей, что нужно выбрать пакет для Linux.

У меня, правда, после обновления агента на CentOS, сервис агента не стартовал автоматически, пришлось стартовать его вручную. В дальнейшем с ним проблем не было, возможно какой-то временный глюк.

Собственно всё, обновление выполнено успешно.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google photo

Для комментария используется ваша учётная запись Google. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s

 
%d такие блоггеры, как: