NetXMS Support Forum

Russian Support => Общие вопросы => Topic started by: VolanD on September 22, 2014, 06:12:14 AM

Title: Вопрос по возможностям NetXMS
Post by: VolanD on September 22, 2014, 06:12:14 AM
Добрый день!

Вчера поставил netxms на виртуалку, решил посмотреть что это за зверь такой. Вроде все нравится, но не нашел некоторых вещей, может они и есть и я не туда смотрю, поэтому хочу спросить тут:
1) При добавлении cisco-роутера появляются его интерфейсы и даже модули появляются. Но как посмотреть графики загрузки эти интерфейсов? Или их нужно добавлять руками? Еще вопрос про смену индексов на циске, т.е. получается netxms не опрашивает таблицу интерфейсов периодически? А если у инт-са сменится ИП или появится новый интерфейс?

2) Можно ли с консоли управления запустить какую-нить команду относительно хоста и увидеть результат ее выполнения. Например, запустить пинг с ИПом узла и увидеть результат.

3) Можно ли собирать данные с скрипта, который запускает сам сервер относительно этого объекта и выводить их на график. Есть оборудование, на него нет возможности поставить агента, а по SNMP оно некоторые данные не отдает. Можно написать скрипт который будет вытаскивать эти данные, но как их скормить серверу?
Title: Re: Вопрос по возможностям NetXMS
Post by: Victor Kirhenshtein on September 22, 2014, 01:10:49 PM
Quote from: VolanD on September 22, 2014, 06:12:14 AM
1) При добавлении cisco-роутера появляются его интерфейсы и даже модули появляются. Но как посмотреть графики загрузки эти интерфейсов? Или их нужно добавлять руками? Еще вопрос про смену индексов на циске, т.е. получается netxms не опрашивает таблицу интерфейсов периодически? А если у инт-са сменится ИП или появится новый интерфейс?

Конфигурация интерфейсов опрашивается во время configuration poll, по умолчанию раз в час. При необходимости можно сделать configuration poll принудительно, через меню Poll -> Configuration на ноде. Единственно, NetXMS сервер лучше работает если индексы не меняются, поэтому при возможности стоит зафиксировать их на роутере (snmp-server ifindex persist).
Данные по трафику на интерфейсах автоматически не собираются, можно добавить для любого интерфейса через меню на объекте интерфейса "Create data collection items". Если хочется настроить автоматический сбор данных со всех доступных интерфейсов, можно сделать это через instance discovery - на форуме были примеры.


Quote from: VolanD on September 22, 2014, 06:12:14 AM
2) Можно ли с консоли управления запустить какую-нить команду относительно хоста и увидеть результат ее выполнения. Например, запустить пинг с ИПом узла и увидеть результат.

Можно, это называется "object tools". Надо сделать новый tool (через Configuration -> Object Tools в главном меню) типа "execute local command", в команде написать например

ping %OBJECT_IP_ADDR%

и включить опцию "command generates output". После этого можно выбирать команду в меню Tools на ноде и видеть результат в консоли.

Quote from: VolanD on September 22, 2014, 06:12:14 AM
3) Можно ли собирать данные с скрипта, который запускает сам сервер относительно этого объекта и выводить их на график. Есть оборудование, на него нет возможности поставить агента, а по SNMP оно некоторые данные не отдает. Можно написать скрипт который будет вытаскивать эти данные, но как их скормить серверу?

Можно. Надо сделать  ExternalParameter для скрипта на агенте, работающем на сервере мониторинга. После этого добавить параметр с источником "NetXMS agent" на ноде роутера, указать имя из ExternalParameter, и указать ноду сервера как "proxy node". Надо будет либо добавить ноду роутера в список trusted nodes у ноды сервера, либо выставить конфигурационный параметр CheckTrustedNodes в 0.
Title: Re: Вопрос по возможностям NetXMS
Post by: hzdrus on December 19, 2014, 04:35:45 PM
Quote from: Victor Kirhenshtein on September 22, 2014, 01:10:49 PM
Данные по трафику на интерфейсах автоматически не собираются, можно добавить для любого интерфейса через меню на объекте интерфейса "Create data collection items". Если хочется настроить автоматический сбор данных со всех доступных интерфейсов, можно сделать это через instance discovery - на форуме были примеры.

Вчера поставил NetXMS, все бы хорошо, однако есть одно серьезное неудобство по сравнению с Zenoss: автоматически не делает интерфейсы графиков. Я поискал в форуме "instance discovery интерфейс", в результатах выдает только этот тред.

Можно ли поподробнее, как это сделать самым легким методом? Требуются графики по трафику, pps и ошибкам.

Было бы очень круто, если бы можно было просто нажать на интерфейс и там получить закладочку с графиками. Аналогичным образом работают большинство других NMS систем, с которыми я сталкивался.
Title: Re: Вопрос по возможностям NetXMS
Post by: hsvt on December 26, 2014, 03:07:44 PM
QuoteМожно, это называется "object tools". Надо сделать новый tool (через Configuration -> Object Tools в главном меню) типа "execute local command", в команде написать например

ping %OBJECT_IP_ADDR%

и включить опцию "command generates output". После этого можно выбирать команду в меню Tools на ноде и видеть результат в консоли.

А вы можете подсказать как сделать "object tools" для snmp set команды, например выключить нужный порт на коммутаторе, добавить VLAN или что нибудь еще.

Set Port Status Enable/Disable
:: Command ::
snmpset -v2c -c private 192.168.0.1 1.3.6.1.4.1.171.11.63.6.2.2.2.1.3

1 other (1)
2 disabled (2)
3 enabled (3)


Title: Re: Вопрос по возможностям NetXMS
Post by: Victor Kirhenshtein on December 27, 2014, 11:38:31 AM
Сейчас SNMP set tool сделать нельзя. Как вариант - сделать через local command - запускать snmpset на адрес ноды.
Title: Re: Вопрос по возможностям NetXMS
Post by: hsvt on April 08, 2015, 07:18:30 PM
Quote from: Victor Kirhenshtein on December 27, 2014, 11:38:31 AM
Сейчас SNMP set tool сделать нельзя. Как вариант - сделать через local command - запускать snmpset на адрес ноды.

local command подразумевает наличие net-snmp утилит на рабочей станции?

А можно ли как то запускать snmpset команды с самого сервера NetXMS ? Во общем в какую сторону функционала мне нужно смотреть чтобы управлять коммутатором по snmpset скриптам и вывести их в Commands node?

Object tools - action, server command (nxsnmpset?), SNMP Table ?
Title: Re: Вопрос по возможностям NetXMS
Post by: Victor Kirhenshtein on April 08, 2015, 11:01:24 PM
Да, nxsnmpset как server command будет то что требуется.
Title: Re: Вопрос по возможностям NetXMS
Post by: hsvt on April 19, 2015, 01:39:20 AM
Quote from: Victor Kirhenshtein on April 08, 2015, 11:01:24 PM
Да, nxsnmpset как server command будет то что требуется.

С одним параметром разобрался, спасибо. А вот по поводу enable\disable портов\интерфейсов есть какой нибудь макрос наподобии %a только чтобы указывался нужный порт? Не указывать же кучу (oid - номер порта) object tools для всех необходимых портов. Или же чтобы при выполнении nxsnmpset было всплывающее окно (наподобие как сейчас сделано confirmation) и там уже вводить имя или номер нужного интерфейса для включения или выключения. Кто нибудь реализовал подобное ?
Title: Re: Вопрос по возможностям NetXMS
Post by: Victor Kirhenshtein on April 28, 2015, 09:59:01 PM
Пока нет такой возможности. Я добавил как feature request: https://dev.raden.solutions/issues/814 (https://dev.raden.solutions/issues/814)
Title: Re: Вопрос по возможностям NetXMS
Post by: hsvt on May 05, 2015, 12:34:06 PM
Quote from: Victor Kirhenshtein on April 28, 2015, 09:59:01 PM
Пока нет такой возможности. Я добавил как feature request: https://dev.raden.solutions/issues/814 (https://dev.raden.solutions/issues/814)

Большое спасибо, что было бы то что нужно!
Title: Re: Вопрос по возможностям NetXMS
Post by: hsvt on November 13, 2015, 06:41:32 PM
При просмотре графиков через Line Chart за большой период (Present last 5 day, week, etc) Сама консоль ощутимо "лагает" и долго отдаёт данные... то есть надпись Get DCI values for history graph 0% может висеть довольно долго, затем когда данные получены - навигация мышкой для выделения активной области так же очень замедленная.

В качестве БД mysql 5.5.44.

Quote from: Victor Kirhenshtein on April 28, 2015, 09:59:01 PM
Пока нет такой возможности. Я добавил как feature request: https://dev.raden.solutions/issues/814 (https://dev.raden.solutions/issues/814)

Есть какие то изменения в этом плане ? Как можно сделать object tool для конкретного интерфейса с маскросом типа %i ? Например по snmp выключить порт, или выполнить команду на нём же.
Title: Re: Вопрос по возможностям NetXMS
Post by: Victor Kirhenshtein on November 17, 2015, 03:24:42 PM
814 сделано - теперь в object tool есть input fields - можно определить поля ввода, при запуске консоль спросит для них значения. В команде можно использовать макрос %(field) для подстановки введенного значения.
Title: Re: Вопрос по возможностям NetXMS
Post by: hsvt on November 18, 2015, 12:12:46 PM
Quote from: Victor Kirhenshtein on November 17, 2015, 03:24:42 PM
814 сделано - теперь в object tool есть input fields - можно определить поля ввода, при запуске консоль спросит для них значения. В команде можно использовать макрос %(field) для подстановки введенного значения.

Виктор, это прекрасно! Проверил, работает отключение порта. Только с confirmation получается немного не стыковка, после отправки tools он сначала спрашивает подтверждение и макрос %(port) туда не впишешь т.к. еще не известно какой порт будет отключен... ну на это можно и забить, оставить просто confirmation о том, что данное действие выполняется именно на этой ноде. Are you sure you want to disable port on the switch %n ip - (%a) ?

А если например нужно указать диапазон портов типа 1-24, какое может быть решение?

/usr/local/bin/nxsnmpset -c public -v 2c -t INTEGER %a .1.3.6.1.4.1.171.11.105.1.2.3.2.1.4.%(Port).1 2

Но самое важное, о чем хотел спросить - не могу разобраться с Filter в Object tools.

System OS name should match this template что подразумевается под System OS name если у меня коммутатор?

Если использовать Node SNMP OID should match with the following template - здесь вроде бы понятно, вставляешь SNMP Object OID, но опять же не ясно, можно ли тут перечислить нужные OID через запятые или нет. Есть 3 или даже 4 вида коммутаторов с разными SNMP Object OID и нужно как то фильтровать каждый Object Tools на свой коммутатор, чтобы не было общего списка у каждой ноды.
Title: Re: Вопрос по возможностям NetXMS
Post by: Victor Kirhenshtein on November 18, 2015, 02:18:10 PM
Для диапазона портов надо будет написать скрипт, который пройдет по нему в цикле и сделает несколько SNMP SET. Скрипт может быть и внутренний (NXSL) - есть функция SNMPSet (https://wiki.netxms.org/wiki/NXSL:SNMPSet) в NXSL.

С фильтрами все несколько нелогично - SNMP OID это шаблон, можно использовать * и ? - но сам OID только один. System OS работает только для агентов - проверяется значение platform name. И это список регулярных выражений, разделенных запятыми.

Еще можно использовать шаблоны - есть опция проверять что определенный шаблон наложен на ноду.
Title: Re: Вопрос по возможностям NetXMS
Post by: hsvt on November 18, 2015, 05:42:36 PM
Quote from: Victor Kirhenshtein on November 18, 2015, 02:18:10 PM
Для диапазона портов надо будет написать скрипт, который пройдет по нему в цикле и сделает несколько SNMP SET. Скрипт может быть и внутренний (NXSL) - есть функция SNMPSet (https://wiki.netxms.org/wiki/NXSL:SNMPSet) в NXSL.

С фильтрами все несколько нелогично - SNMP OID это шаблон, можно использовать * и ? - но сам OID только один. System OS работает только для агентов - проверяется значение platform name. И это список регулярных выражений, разделенных запятыми.

Еще можно использовать шаблоны - есть опция проверять что определенный шаблон наложен на ноду.

Спасибо, буду пробовать учиться... Что имеется в виду под "и внутренний скрипт" а какие они еще бывают ? Вы имеете в виду Object tool - type internal ?

В обще где нужно писать сам скрипт, в Script Library и применять его потом в контекстном меню ноды ? Можете немного подтолкнуть меня на правильный путь :)

QuoteThis script can be executes as an action from event processing policy, or directly from server debug console via exec command.

Я вот знаю есть системные скрипты, один из которых Configuration я использую.

Hook::StatusPoll
Hook::ConfigurationPoll
Hook::TopologyPoll


Получается скрипт может быть как Action, как системный Hook, так же запущен через exec с консоли и так же запущен в меню ноды, для моей задачи какой вариант подходит ?

С фильтрами я сделал привязку по OID.
Title: Re: Вопрос по возможностям NetXMS
Post by: Victor Kirhenshtein on November 18, 2015, 07:04:11 PM
В данном случае я ошибся - нельзя сделать object tool с типом "server script" - только action такой бывает. Так что скрипт придется делать внешний, либо использовать костыли - сделать скрипт в библиотеке и запускать его командой nxadm  (nxamd -c "exec <script>").

Руками через execute server script тоже можно конечно, но это не совсем то - параметров там ен передашь, и т.д.
Title: Re: Вопрос по возможностям NetXMS
Post by: hsvt on November 20, 2015, 11:27:20 AM
Quote from: Victor Kirhenshtein on November 18, 2015, 07:04:11 PM
В данном случае я ошибся - нельзя сделать object tool с типом "server script" - только action такой бывает. Так что скрипт придется делать внешний, либо использовать костыли - сделать скрипт в библиотеке и запускать его командой nxadm  (nxamd -c "exec <script>").

Руками через execute server script тоже можно конечно, но это не совсем то - параметров там ен передашь, и т.д.

Правильно ли я понял - делаю внешний и object tool type - server command с указанием (bash\python\perl\php) скрипта ? Если костыль с nxadm - то только из консоли?
Title: Re: Вопрос по возможностям NetXMS
Post by: Victor Kirhenshtein on November 30, 2015, 11:26:08 PM
nxadm тоже можно указать как server command. Делаем скрипт в библиотеке и команду вида

nxadm -c "exec MyScript %i"

запустится скрипт из библиотеки и в качестве параметра ему передадут ID ноды.