Opensuse 12 Установить netxms-агент

Started by TOLeg, October 08, 2019, 10:19:38 AM

Previous topic - Next topic

TOLeg

Доброго времени!
Дико извиняюсь за данный вопрос, но прошу не судить начинающего линуксовода.
Изучив проблемы настройки агента в CentOS "https://www.netxms.org/forum/oe-oo/kak-taot-netxms-agent-a-centos-7/" столкнулся с аналогичными трудностями при настройке на Opensuse 12 Tumbleweed. Там в ответах сказано, что нужно распаковать в правильное место, можно уточнить в какое? Испробовав все доступные каталоги /tmp, /opt, /usr/local, /Download, при выполении команды ./configure --with-agent  под рутом получаю отказ в доступе.
Можно получить пошаговое руководство по установке агентов на Linux машинках без интернета.



Filipp Sudanov

Есть два пути - собирать из исходников или скачать уже собранные бинарники.
В документации по NetXMS описан первый путь, давайте по нему и пойдем https://www.netxms.org/documentation/adminguide/installation.html#id9

Скачиваем архив с исходниками - https://www.netxms.org/download/releases/3.0/netxms-3.0.2305.tar.gz
Разархивируем в любую директорию - когда мы соберем бинарники, исходники можно стереть, так что не важно где они находятся
Для ./configure и make рут не нужен - эти операции происходят в нашей временной директории, не затрагивая системные директории

Если столкнетесь с ошибкой, процитируйте полностью текст ошибки.

TOLeg

Разобрался с первой проблемой - по поводу отсутствия прав. Дел было в том, что архив я распаковывал 7z на windows машине и через WinSCP копировал на linuz машинку. Проблема решилась, распаковкой архива на Linux машинке.
Новое:
1) После распаковки и выполнения ./configure --with-agent, после команды make и make install получаю следующее сообщение - bash: make: command not found...
2) п.7. инструкции Run agent: /usr/local/bin/nxagentd -d выдает ошибку No such file or directory





Filipp Sudanov

make: command not found... означает, что в системе не установлен пакет make, который (но не только он) требуется для компиляции. Пакеты - это способ устанавливать (и автоматически обновлять) софт под линуксом. В линуксах есть программы, которые называются пакетными менеджерами, в OpenSUSE это zypper (в debian/ubuntu apt и т.д.). У пакетом есть зависимости, когда мы хотим установить какой-нибудь один пакет, то могут установиться и другие пакеты.

1) ставим пакеты, нужные для компиляции
zypper install libtool libcurl-devel libopenssl-devel gcc-c++ libssh-devel mosquitto-devel

2) под Tumbleweed нет пакета libpcre32, его придется собирать вручную
wget https://ftp.pcre.org/pub/pcre/pcre-8.43.zip
unzip pcre-8.43.zip
cd pcre-8.43/
./configure --enable-pcre32
make
make install
cd ..


3) Если все хорошо на предыдущем шаге, то можно собирать netxms:
wget https://www.netxms.org/download/releases/3.0/netxms-3.0.2305.tar.gz
tar zxvf netxms-3.0.2305.tar.gz
cd netxms-3.0.2305/
./configure --with-agent
make
make install


На результаты команды ./configure нужно смотреть. Она должна дойти до момента, когда напишет
---------------------------------------------------------------------
                         Configure results
---------------------------------------------------------------------

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

Если все удалось, то появится файл /usr/local/bin/nxagentd. Если его запустить, например, с ключом -v, он напишет свою версию.

Для работы агента нужен конфиг, в папке contrib есть образец, копируем его в /etc
cp contrib/nxagentd.conf-dist /etc/nxagentd.conf
В конфиге как минимум нужно указать IP адрес сервера и место для лог файла

Для того, чтоб агент запускался автоматом при старте системы, нужно прописать startup script. В папке contrib есть такие скрипты.
cp contrib/startup/systemd/nxagentd.service /etc/systemd/system/
systemctl daemon-reload
systemctl enable nxagentd
systemctl start nxagentd
systemctl status nxagentd


Посколько в OpenSUSE есть файрвол, то нужно открыть порт агента:
firewall-cmd --permanent --zone=public --add-port=4700/tcp
firewall-cmd --reload




TOLeg

Благодарю за подробнейшее руководство!
Ощибки по пунктам:
1) Отсутствии доступа в интернет перечеркивает все начинания. Нужные пакеты скачиваю из https://rpmfind.net, https://pkgs.org(отсюда не качаются)
При установке требуемых пакетов  возникает ошибка (на примере mosquitto) -
Package /tmp//mosquitto-devel-1.6.7-1.1.ppc64.rpm could not be installed.
Details:
[repo-update|http://download.opensuse.org/update/tumbleweed/] Valid metadata not found at specified URL
History:
- Unknown error reading from 'http://download.opensuse.org/update/tumbleweed/'
- SKIP request: User-requested skipping of a file
- Download (curl) error for 'http://download.opensuse.org/update/tumbleweed/repodata/repomd.xml':
Error code: Connection failed
Error message: Could not resolve host: download.opensuse.org
2) Установка pcre-8.43 выполнена.
3) Установка агента без необходимых библиотек вызывает остановку и предлагает ключи для команды.
Пробывал выполнить установку агента следующей командой ./configure --with-agent --without-curl --disable-ssh --disable-mqtt
Файлы в /usr/local/bin/ создаются, но из-за отсутствия требуемых библиотек, старт агента завершается ошибкой:
usr/local/bin/nxagentd -d
/usr/local/bin/nxagentd: error while loading shared libraries: libappagent-3.0.2305.so: cannot open shared object file: No such file or directory





Filipp Sudanov

1) Вот какой-то древний пост на форуме, там описан способ брать пакеты с одной машины с opensuse, подключенной к интернету и ставить на другую, оффлайновую. https://www.linuxquestions.org/questions/suse-opensuse-60/%5Bopensuse%5D-how-to-manage-packages-in-an-offline-computer-4175435581/
3) Это какой-то глюк с тем, что он не видит библиотеки, которые сам и скомпилил, попробуйте после сборки запустить
ldconfig

Ну и есть еще путь попробовать статически собранный линукс агент https://www.netxms.org/download/

TOLeg

Решил пока SUSE оставить. По инструкции всё чётко работает с deb пакетами.
Установил Debian 10. Скачал netxms-release_1.6_all.deb. Выполнил все по инструкции, но файлов для конфигурации не нашел, может не там искал /usr/local/bin, а может чего-то не хватает?
Результат выполнения второй команды - apt-get install netxms-agent:
Reading package lists...Done
Building dependency tree
Reading state information ... Done
E: Unable to locate package netxms-agent

Дальше, я так понимаю, надо в конфиг файле указать адрес сервера и путь для логов. Но файлов нет.(см выше).
Прошу помощи. Надо принципиально Linux-овую машинку замониторить :)


Filipp Sudanov

Да, на дебиане все должно быть проще, т.к. есть пакеты.

Команда apt-get install netxms-agent не удалась, поэтому и файл конфигурации в системе не появился.

Работает это все следующий образом - sudo dpkg -i netxms-release_1.6_all.deb добавляет в систему репозиторий. Дальше нужно сделать sudo apt-get update, чтоб из этого репозитория скачалась информация о том, какие пакеты он предоставляет. Какой-то из двух шагов не сработал и поэтому apt-get install netxms-agent не знает, откуда брать netxms-agent и не может его поставить. Проверяете вот эти первые два шага.

TOLeg

Выполнил команду - sudo dpkg -I netxms-realese_1.6_all.deb
Результат:
(Reading database ... 130747 files and directories currently installed.)
Prepare to unpack etxms-realese_1.6_all.deb ...
Unpacking netxms-realese (1.6) over (1.6) ...
Setting up netxms-realese (1.6) ...

После выполняю sudo apt-get update и sudo apt-get install netxms-agent
Ошибка осталась:
Reading package lists...Done
Building dependency tree
Reading state information ... Done
E: Unable to locate package netxms-agent

Что делаю не так?

Filipp Sudanov


TOLeg

user01@deb-test:~/Downloads$ sudo apt-get update
Ign:1 cdrom://[Debian GNU/Linux 10.1.0 _Buster_ - Official amd64 DVD Binary-1 20190908-01:09] buster InRelease
Err:2 cdrom://[Debian GNU/Linux 10.1.0 _Buster_ - Official amd64 DVD Binary-1 20190908-01:09] buster Release
  Please use apt-cdrom to make this CD-ROM recognized by APT. apt-get update cannot be used to add new CD-ROMs
Err:3 http://packages.netxms.org/debian buster InRelease                       
  Could not resolve 'packages.netxms.org'
Err:4 http://deb.debian.org/debian buster InRelease                           
  Could not resolve 'deb.debian.org'
Err:5 http://security.debian.org/debian-security buster/updates InRelease
  Could not resolve 'security.debian.org'
Reading package lists... Done         
E: The repository 'cdrom://[Debian GNU/Linux 10.1.0 _Buster_ - Official amd64 DVD Binary-1 20190908-01:09] buster Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: Target Packages (contrib/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list:5
W: Target Packages (contrib/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list:5
W: Target Translations (contrib/i18n/Translation-en_US) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list:5
W: Target Translations (contrib/i18n/Translation-en) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list:5
W: Target DEP-11 (contrib/dep11/Components-amd64.yml) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list:5
W: Target DEP-11 (contrib/dep11/Components-all.yml) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list:5
W: Target DEP-11-icons-small (contrib/dep11/icons-48x48.tar) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list:5
W: Target DEP-11-icons (contrib/dep11/icons-64x64.tar) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list:5
W: Target Packages (main/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list:5
W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list:5
W: Target Translations (main/i18n/Translation-en_US) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list:5
W: Target Translations (main/i18n/Translation-en) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list:5
W: Target DEP-11 (main/dep11/Components-amd64.yml) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list:5
W: Target DEP-11 (main/dep11/Components-all.yml) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list:5
W: Target DEP-11-icons-small (main/dep11/icons-48x48.tar) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list:5
W: Target DEP-11-icons (main/dep11/icons-64x64.tar) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list:5

Filipp Sudanov

А, ну да, это же у вас оффлайновая машина, а apt-get update работает в онлайне.
https://packages.netxms.org/debian/pool/buster/main/n/netxms/ - вот тут можно скачать .deb файл агента и поставить его через dpkg -i имя_пакета.deb
Зависимости (другие пакеты, которые требуются для агента) скорее всего найдутся на DVD диске, с которого ставилась система, если нет, то тоже нужно будет скачать .deb файлы этих пакетов и поставить через dpkg -i

TOLeg

Установил все библиотеки, агента,
Результат:
user01@deb-test:~/Downloads$ sudo dpkg -i libpcre32-3_8.39-12_amd64.deb
Selecting previously unselected package libpcre32-3:amd64.
(Reading database ... 146811 files and directories currently installed.)
Preparing to unpack libpcre32-3_8.39-12_amd64.deb ...
Unpacking libpcre32-3:amd64 (2:8.39-12) ...
Setting up libpcre32-3:amd64 (2:8.39-12) ...
Processing triggers for libc-bin (2.28-10) ...
user01@deb-test:~/Downloads$ sudo dpkg -i libssh-4_0.8.7-1_amd64.deb
Selecting previously unselected package libssh-4:amd64.
(Reading database ... 146817 files and directories currently installed.)
Preparing to unpack libssh-4_0.8.7-1_amd64.deb ...
Unpacking libssh-4:amd64 (0.8.7-1) ...
Setting up libssh-4:amd64 (0.8.7-1) ...
Processing triggers for libc-bin (2.28-10) ...
user01@deb-test:~/Downloads$ sudo dpkg -i netxms-base_3.0.2329-1_amd64.deb
(Reading database ... 146825 files and directories currently installed.)
Preparing to unpack netxms-base_3.0.2329-1_amd64.deb ...
Unpacking netxms-base:amd64 (3.0.2329-1) over (3.0.2329-1) ...
Setting up netxms-base:amd64 (3.0.2329-1) ...
Processing triggers for libc-bin (2.28-10) ...
user01@deb-test:~/Downloads$ sudo dpkg -i netxms-dbdrv-sqlite3_3.0.2329-1_amd64.deb
Selecting previously unselected package netxms-dbdrv-sqlite3:amd64.
(Reading database ... 146825 files and directories currently installed.)
Preparing to unpack netxms-dbdrv-sqlite3_3.0.2329-1_amd64.deb ...
Unpacking netxms-dbdrv-sqlite3:amd64 (3.0.2329-1) ...
Setting up netxms-dbdrv-sqlite3:amd64 (3.0.2329-1) ...
user01@deb-test:~/Downloads$ sudo dpkg -i netxms-agent_3.0.2329-1_amd64.deb
(Reading database ... 146831 files and directories currently installed.)
Preparing to unpack netxms-agent_3.0.2329-1_amd64.deb ...
Unpacking netxms-agent:amd64 (3.0.2329-1) over (3.0.2329-1) ...
Setting up netxms-agent:amd64 (3.0.2329-1) ...
Processing triggers for libc-bin (2.28-10) ...
Processing triggers for systemd (241-7~deb10u1) ...
Processing triggers for man-db (2.8.5-2) ...
user01@deb-test:~/Downloads$

указал сервер управления  в /etc/nxagentd.conf и выполнил перезагрузку.
В консоли управления сервер не появился. При опросе из консоли управления ругается на Unable to get interface list from node , Interface "unknown" is no longer exist :
[16.10.2019 17:28:02] **** Poll request sent to server ****
[16.10.2019 17:28:02] Poll request accepted
[16.10.2019 17:28:02] Starting configuration poll for node DEB-TEST
[16.10.2019 17:28:02] Capability reset
[16.10.2019 17:28:02] Checking node's capabilities...
[16.10.2019 17:28:02]    Checking NetXMS agent...
[16.10.2019 17:28:03]    Checking SNMP...
[16.10.2019 17:28:27] Capability check finished
[16.10.2019 17:28:27] Checking interface configuration...
[16.10.2019 17:28:27] Unable to get interface list from node
[16.10.2019 17:28:27]    Interface "unknown" is no longer exist
[16.10.2019 17:28:27] Interface configuration check finished
[16.10.2019 17:28:27] Checking node name
[16.10.2019 17:28:27] Node name is OK
[16.10.2019 17:28:27] Finished configuration poll for node DEB-TEST
[16.10.2019 17:28:27] Node configuration was not changed after poll
[16.10.2019 17:28:27] **** Poll completed successfully ****




TOLeg

Log /var/log/nxagentd
2019.10.16 15:12:27.188 Log file opened (rotation policy 2, max size 4194304)
2019.10.16 15:12:27.189 *D* [                   ] Log rotation policy set to 2 (size=16777216, count=4)
2019.10.16 15:12:27.189 *I* [                   ] Core agent version 3.0-2329-g2d9ace4e99
2019.10.16 15:12:27.189 *I* [                   ] Additional configuration files was loaded from /etc/nxagentd.conf.d
2019.10.16 15:12:27.189 *I* [                   ] Debug level set to 0
2019.10.16 15:12:27.189 *I* [                   ] Data directory: /var/lib/netxms
2019.10.16 15:12:27.190 *I* [                   ] File store: /tmp
2019.10.16 15:12:27.198 *I* [db.driver          ] Database driver "sqlite.ddr" loaded and initialized successfully
2019.10.16 15:12:27.226 *I* [                   ] Agent ID is 55bd05cc-f53e-4106-8aa3-ce959193c3c5
2019.10.16 15:12:27.228 *I* [                   ] Local host name is "deb-test.my.dom"
2019.10.16 15:12:27.228 *I* [                   ] Using system name "deb-test"
2019.10.16 15:12:28.244 *I* [                   ] Subagent "Linux" (linux.nsm) loaded successfully (version 3.0-2329-g2d9ace4e99)
2019.10.16 15:12:29.249 *E* [                   ] Unable to bind IPv4 socket (98 Address already in use)
2019.10.16 15:12:29.250 *E* [                   ] Unable to bind IPv6 socket (98 Address already in use)
2019.10.16 15:12:30.250 *I* [                   ] NetXMS Agent started

Filipp Sudanov

А как вы агента запускали, через
systemctl start nxagentd
или
nxagentd -d
?

При установке из пакетов агент прописывается в systemd и им можно управлять через systemctl. При этом бывает, что он не стартует автоматом при старте системы, тогда нужно сделать systemctl enable nxagentd

Возможно, он у вас запустился дважды - один раз из systemctl, а второй - вручную?