Вопрос по возможностям NetXMS
-
@victor said in Вопрос по возможностям NetXMS:
Данные по трафику на интерфейсах автоматически не собираются, можно добавить для любого интерфейса через меню на объекте интерфейса "Create data collection items". Если хочется настроить автоматический сбор данных со всех доступных интерфейсов, можно сделать это через instance discovery - на форуме были примеры.
Вчера поставил NetXMS, все бы хорошо, однако есть одно серьезное неудобство по сравнению с Zenoss: автоматически не делает интерфейсы графиков. Я поискал в форуме "instance discovery интерфейс", в результатах выдает только этот тред.
Можно ли поподробнее, как это сделать самым легким методом? Требуются графики по трафику, pps и ошибкам.
Было бы очень круто, если бы можно было просто нажать на интерфейс и там получить закладочку с графиками. Аналогичным образом работают большинство других NMS систем, с которыми я сталкивался.
-
Можно, это называется "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) -
Сейчас SNMP set tool сделать нельзя. Как вариант - сделать через local command - запускать snmpset на адрес ноды.
-
@victor said in Вопрос по возможностям NetXMS:
Сейчас SNMP set tool сделать нельзя. Как вариант - сделать через local command - запускать snmpset на адрес ноды.
local command подразумевает наличие net-snmp утилит на рабочей станции?
А можно ли как то запускать snmpset команды с самого сервера NetXMS ? Во общем в какую сторону функционала мне нужно смотреть чтобы управлять коммутатором по snmpset скриптам и вывести их в Commands node?
Object tools - action, server command (nxsnmpset?), SNMP Table ?
-
Да, nxsnmpset как server command будет то что требуется.
-
@victor said in Вопрос по возможностям NetXMS:
Да, nxsnmpset как server command будет то что требуется.
С одним параметром разобрался, спасибо. А вот по поводу enable\disable портов\интерфейсов есть какой нибудь макрос наподобии %a только чтобы указывался нужный порт? Не указывать же кучу (oid - номер порта) object tools для всех необходимых портов. Или же чтобы при выполнении nxsnmpset было всплывающее окно (наподобие как сейчас сделано confirmation) и там уже вводить имя или номер нужного интерфейса для включения или выключения. Кто нибудь реализовал подобное ?
-
Пока нет такой возможности. Я добавил как feature request: https://dev.raden.solutions/issues/814
-
@victor said in Вопрос по возможностям NetXMS:
Пока нет такой возможности. Я добавил как feature request: https://dev.raden.solutions/issues/814
Большое спасибо, что было бы то что нужно!
-
При просмотре графиков через Line Chart за большой период (Present last 5 day, week, etc) Сама консоль ощутимо "лагает" и долго отдаёт данные... то есть надпись
Get DCI values for history graph 0%может висеть довольно долго, затем когда данные получены - навигация мышкой для выделения активной области так же очень замедленная.В качестве БД mysql 5.5.44.
@victor said in Вопрос по возможностям NetXMS:
Пока нет такой возможности. Я добавил как feature request: https://dev.raden.solutions/issues/814
Есть какие то изменения в этом плане ? Как можно сделать object tool для конкретного интерфейса с маскросом типа %i ? Например по snmp выключить порт, или выполнить команду на нём же.
-
814 сделано - теперь в object tool есть input fields - можно определить поля ввода, при запуске консоль спросит для них значения. В команде можно использовать макрос %(field) для подстановки введенного значения.
-
@victor said in Вопрос по возможностям NetXMS:
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 на свой коммутатор, чтобы не было общего списка у каждой ноды. -
Для диапазона портов надо будет написать скрипт, который пройдет по нему в цикле и сделает несколько SNMP SET. Скрипт может быть и внутренний (NXSL) - есть функция SNMPSet в NXSL.
С фильтрами все несколько нелогично - SNMP OID это шаблон, можно использовать * и ? - но сам OID только один. System OS работает только для агентов - проверяется значение platform name. И это список регулярных выражений, разделенных запятыми.
Еще можно использовать шаблоны - есть опция проверять что определенный шаблон наложен на ноду.
-
@victor said in Вопрос по возможностям NetXMS:
Для диапазона портов надо будет написать скрипт, который пройдет по нему в цикле и сделает несколько SNMP SET. Скрипт может быть и внутренний (NXSL) - есть функция SNMPSet в NXSL.
С фильтрами все несколько нелогично - SNMP OID это шаблон, можно использовать * и ? - но сам OID только один. System OS работает только для агентов - проверяется значение platform name. И это список регулярных выражений, разделенных запятыми.
Еще можно использовать шаблоны - есть опция проверять что определенный шаблон наложен на ноду.
Спасибо, буду пробовать учиться... Что имеется в виду под "и внутренний скрипт" а какие они еще бывают ? Вы имеете в виду Object tool - type internal ?
В обще где нужно писать сам скрипт, в Script Library и применять его потом в контекстном меню ноды ? Можете немного подтолкнуть меня на правильный путь

This 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.
-
В данном случае я ошибся - нельзя сделать object tool с типом "server script" - только action такой бывает. Так что скрипт придется делать внешний, либо использовать костыли - сделать скрипт в библиотеке и запускать его командой nxadm (nxamd -c "exec <script>").
Руками через execute server script тоже можно конечно, но это не совсем то - параметров там ен передашь, и т.д.
-
@victor said in Вопрос по возможностям NetXMS:
В данном случае я ошибся - нельзя сделать object tool с типом "server script" - только action такой бывает. Так что скрипт придется делать внешний, либо использовать костыли - сделать скрипт в библиотеке и запускать его командой nxadm (nxamd -c "exec <script>").
Руками через execute server script тоже можно конечно, но это не совсем то - параметров там ен передашь, и т.д.
Правильно ли я понял - делаю внешний и object tool type - server command с указанием (bash\python\perl\php) скрипта ? Если костыль с nxadm - то только из консоли?
-
nxadm тоже можно указать как server command. Делаем скрипт в библиотеке и команду вида
nxadm -c "exec MyScript %i"
запустится скрипт из библиотеки и в качестве параметра ему передадут ID ноды.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login