Retifff's Blog

Мой ИТ блог

Установка агента NetXMS на Synology

Posted by Retifff на 24.09.2019

Вообще, NAS-ы типа Synology вполне себе можно мониторить по SNMP, но, если есть возможность поставить полноценного агента мониторинга и получать более подробную информацию, то почему бы и нет? Тем более, что некоторые вещи, такие как свободное место на дисках, по SNMP получить нельзя. Ну может и можно, но я такой возможности не нашел. Поэтому, приступим.

Установка агента NetXMS на Synology похожа на установку на CentOS, но со своими нюансами.

Сначала на Synology заходим в панель управления DiskStation Manager (DSM) > Advanced Mode > Terminal & SNMP. Ставим галку Enable SSH service и жмем Apply.

Теперь к Synology можно подключаться по SSH, так как DSM — это в основе своей Linux, только переделанный для целей NAS.

Подключаемся через putty, с логином и паролем администратора Synology.

Скачиваем дистрибутив агента NetXMS для Linux:

wget https://netxms.org/download/releases/2.2/2.2.16/nxagent-2.2.16-linux-x86_64.tar.gz

Внутри архива уже имеется структура каталогов /opt/*, есть смысл её использовать, поэтому распаковываем его в корень файловой системы:

sudo tar zxvf nxagent-2.2.16-linux-x86_64.tar.gz -C /

Архив распаковывается в каталог /opt/netxms/. Сам бинарник агента лежит по следующему пути: /opt/netxms/bin/nxagentd. Файла конфигурации у нас нет, поэтому нужно его создать. Создаем командой:

sudo touch /etc/nxagentd.conf

Файл создан, теперь надо его отредактировать и прописать нужные параметры. Nano в DSM отсутствует, придется использовать vim. Если вдруг раньше не имели с ним дела, лучше заранее спросите у гугла, «как выйти из vim». Вводим:

sudo vim /etc/nxagentd.conf

и там пишем следующее:

# Log File
LogFile=/var/log/nxagentd

# IP white list, can contain multiple records separated by comma.
# CIDR notation supported for subnets.
MasterServers = netxms.corp.testcompany.ru
ListenPort = 44700
SubAgent = netsvc.nsm
SubAgent = dbquery.nsm
SubAgent = filemgr.nsm
SubAgent = ping.nsm
SubAgent = portcheck.nsm

Так как в параметре MasterServers указывается DNS-имя сервера NetXMS, есть смысл убедиться, что с synology это имя разрешается в IP-адрес сервера netxms.

В параметре ListenPort я изменил порт, который слушает агент, со стандартного 4700 на 44700, потому что на Synology присутствует служба Apple AFP (по крайней мере у меня), занимающая этот порт.

Сохраняем, выходим из vim. Попробуем выполнить тестовый запуск:

sudo /opt/netxms/bin/nxagentd -d

Хоть и с ошибками, но агент запускается. Проверяем, что процесс запущен:

ps aux | grep nxagentd
root     14063  0.7  0.3 426176  7096 ?        Ssl  14:44   0:00 /opt/netxms/bin/nxagentd -d
admin    14085  0.0  0.0  23128   964 pts/9    S+   14:44   0:00 grep --color=auto nxagentd

Процесс присутствует. Еще можно проверить, что слушается порт 44700:

sudo netstat -apn | grep nxagentd
tcp        0      0 0.0.0.0:44700           0.0.0.0:*               LISTEN      14063/nxagentd
tcp6       0      0 :::44700                :::*                    LISTEN      14063/nxagentd
unix  2      [ ACC ]     STREAM     LISTENING     123196815 14063/nxagentd       /tmp/.nxagentd.push

Всё в порядке. Теперь идем в консоль сервера NetXMS, там находим (или создаем, если она не была обнаружена) нашу ноду Synology, добавляем в нужный контейнер, если нужно. Дальше, заходим в свойства ноды, Communications > Agent и там прописываем TCP Port 44700 вместо порта по умолчанию.

Теперь нужно сделать так, чтобы агент запускался при старте Synology, при её перезагрузке. Сначала убиваем процесс nxagentd, чтобы он не мешался при запуске агента через планировщик и убеждаемся, что процесс убит:

sudo killall nxagentd
ps aux | grep nxagentd
admin    14778  0.0  0.0  23128   964 pts/9    S+   14:50   0:00 grep --color=auto nxagentd

Идем в панель управления DSM, Task Scheduler и создаем новое задание Create > Triggered Task > User-defined script, выбрав загрузку (Boot-up) в качестве триггера (Event):

На вкладке Task Settings в поле User-defined script задаем строку запуска агента NetXMS:

/opt/netxms/bin/nxagentd -d

Еще можно создать задачу ручного запуска агента, вдруг понадобится, чтобы не лезть для этого в shell или тем более не перегружать устройство. Создается аналогично, Create > Scheduled Task > User-defined script. На вкладке General просто название:

На вкладке Schedule расписание, там можно оставить все как есть, нам оно все равно не нужно будет, так скрипт для ручного запуска. Не забудьте снять галку в него потом в планировщике в колонке Enabled.

На вкладке Task Settings в поле User-defined script задаем строку запуска агента NetXMS:

Готово. Можно запустить это задание и проверить, так как процесс мы убили и агент пока не работает.

В принципе по агенту всё, по счетчикам Synology не особенно отличается от других Linux.

P.S. Статья подготовлена по результатам общения с Radiohead, спасибо ему )

комментария 2 to “Установка агента NetXMS на Synology”

  1. Radiohead said

    «Ну может и можно, но я такой возможности не нашел.»

    Можно-можно)

    .3 raidStatus Integer Normal(1)* It shows the RAID status right
    now

    .4 raidFreeSize Counter64 — The free size of volume / disk
    group

    .5 raidTotalSize Counter64 — The total size of volume / disk
    group

    У Synology вообще достаточно навороченные MIB-ы

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

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

Логотип WordPress.com

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

Google photo

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

Фотография Twitter

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

Фотография Facebook

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

Connecting to %s

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