Привет.
Перерыл всё, может и плохо, но есть вопросы:
Обнаружение элементов отключено. EnableAgentRegistration = 1
1. установил агент на ПК с указанием адреса сервера, но ПК в списке не появился. Конечно, если руками добавлять, то всё хорошо. Но как сделать что они автоматом появлялись в случае установки агента на ПК и указания адреса сервера?
2. Как построить отчет по даунтайму ПК в сети за промежуток времени? Нужно к примеру отобразить какие ПК как долго за последние 3 дня были выключены, общее время, что б по нему сортировать.
3. Как сделать уведомление, к примеру на почту если ПК недоступен 3 часа, не сразу, а именно через 3 часа уведомить и если уже прошло 2е суток, а он так и недоступен?
4. Что нужно в скрипте написать, что б при запуске через АГЕНТа на ПК запустить приложение и как копировать файлы??
Очень радует система, но не всё пока ясно, есть опыт работы с другими, и вот нужно подобные инструменты получить. Заранее СПАСИБО.
Добрый день здесь ответы только на 2 из 4.
1. Чтобы зарегистрировать агент на сервере можно использовать ключик -r <адресс сервера> при первом старте агента. Вот описание в документации вариантов: https://www.netxms.org/documentation/adminguide/agent-management.html#agent-registry
4.1. Если я правельно поняла, то нужно запускать в ручную команду на агентских нодах. Для этого в Object Tools можно сделать инструмент с типом "Local command", там прописать команду. Дальше этот иструмент появится в меню ноды под пунктом Tools.
4.2. Чтобы копировать файлы добавьте в конфигурацию агента загрузку субагента filemgr и доступные пути для работы с файловой системой. Пример конфигурации тут: https://www.netxms.org/documentation/adminguide/subagents.html#filemgr на несколько нод конфигурацию можно наложить с помошью тэмплэйта(template), дальше работу с файлами можно проводить с помошью File Manager View описание тут: https://www.netxms.org/documentation/adminguide/file-management.html#file-management-label
Quote from: Tatjana Dubrovica on March 11, 2015, 10:51:46 AM
1. Чтобы зарегистрировать агент на сервере можно использовать ключик -r <адресс сервера> при первом старте агента. Вот описание в документации вариантов: https://www.netxms.org/documentation/adminguide/agent-management.html#agent-registry
Большое спасибо. А можно ли, что бы эти ноды появлялись помимо сети ещё и в Инфраструктурных сервисах в определенном разделе или вне его? что бы было проще находить новые ноды?
Есть несколько возможностей.
Первая это написать скрипт для Automatic Bind Rules. Это вкладка в свойствах контейнера. Первый пример который нашла тут: https://www.netxms.org/forum/configuration/automatic-bind-rules-addrinsubnet/msg13357/#msg13357 В скрипт подаётся переменная $node если скрипт возвращает true то нода добавляется в контейнер. Проверка происходит во время configuration poll для каждой ноды.
Вторая возможность это в EPP сделать правило по которому на SYS_NODE_ADDED эвент будет запускаться скрипт который будет биндить ноду к нужному контейнеру.
Полезные ссылки:
https://www.netxms.org/documentation/adminguide/event-processing.html#event-processing-policy
https://wiki.netxms.org/wiki/NXSL:BindObject
Супер. Сделал фильтры и всё пошло.
На контейнер установил галку автоматик бинд и прописал
return AddrInSubnet($node->ipAddr,"192.168.0.0","255.255.0.0") ||
AddrInSubnet($node->ipAddr,"10.10.0.0","255.255.0.0");
Или если нужно, что бы в группе автоматом появлялись машины с виндовс то
return $node->isAgent && ($node->platformName like "windows-*");
НО...
А как сделать алерты типа SYS_Container_DOWN
для ноды есть, а мне нужно, когда несколько устройств в группе перестают работать
А в эвент конфигураторе нет SYS_Container_DOWN
Почитайте про condition
Как данные в него можно подавать контейнер. И дальше в скрипте проверять что необходимо пройдясь по детям объекта.
https://www.netxms.org/documentation/adminguide/objects.html#condition
https://wiki.netxms.org/wiki/NXSL:GetObjectChildren
На всякий случай если ещё не знаете - эвенты можно самому создавать, а не только использовать существующие.
отличный ответ, я применю его для групп НОДов по другим типам
Но я нашел решение переделав Container в Cluster и скорректировав обработку тригеров
Я создал свои эвенты, по ним можно работать из эвент процессинг полиси, но как сами эвенеты будут отрабатывать по контейнерам? скриптами?
Ошиблась в функциональности condition, туда как данные подаються объекты DCI. Но для вашей задачи действительно оптимальнее использовать Кластер. Если все нодны в кластере станут down, то будет сгенерён эвент SYS_CLUSTER_DOWN.
Эвент может быть сгенерён при нарушении трешхолда, кондишена, в скрипте, при SNMP Trap или во внутренних заранее заданных местах генерации. На контейнер нельза повесить скрипт или эвент.
Привет. Спасибо за помощь.
Я в конфиге агента прописал строку
ActionShellExec = StartCMD:C:\Windows\system32\cmd.exe $1 пробовал и кавычки "$1" и много вариантов
и пробую передавая в CMD запустить калькулятор, к примеру на ПК
в Обжект Тулз создаю Актион и пишу
StartCMD calc.exe
но оно пишет ошибку коммуникаций... который день голову ломаю
к примеру прописал ActionShellExec = StartCMD:C:\Windows\system32\cmd.exe /C dir И оно отображает католог
но пишу $1 и хочу передать D:\ и оно престаёт работать :( жуууть
Да. Нашли такую ошибку. В следующем релизе будет исправлено. Ошибка заключалась в том что переменные не подставлялись если опция "generates output" включена.
Агент должен быть запущен под той же пользовательской сессией, под которой хочется запустить калькулятор. GUI приложения нельзя запускать, если агент запускается как сервис.
Quote from: Tatjana Dubrovica on March 20, 2015, 06:03:22 PM
Да. Нашли такую ошибку. В следующем релизе будет исправлено. Ошибка заключалась в том что переменные не подставлялись если опция "generates output" включена.
Спасибо.
А как сделать, что бы какой-то кластер не создавал ошибку в определенное время? К примеру офис на выходные может не работать и его мониторить нужно, если всё выключено то именно в эти дни и в это время алерт создавать не нужно
Здесь есть обсуждение этого вопроса с примером скрипта:
https://www.netxms.org/forum/configuration/notification-about-event-only-during-defined-period-of-time/msg16051/#msg16051
Тоесть написать Filtering Script в EPP фильтре который будет оценивать не только что правельный эвент пришёл но и что в правельное время и только тогда создавать аларм.
https://www.netxms.org/documentation/adminguide/event-processing.html#event-processing-policy
Quote from: Tatjana Dubrovica on March 22, 2015, 01:34:54 PM
Здесь есть обсуждение этого вопроса с примером скрипта:
https://www.netxms.org/forum/configuration/notification-about-event-only-during-defined-period-of-time/msg16051/#msg16051
Тоесть написать Filtering Script в EPP фильтре который будет оценивать не только что правельный эвент пришёл но и что в правельное время и только тогда создавать аларм.
https://www.netxms.org/documentation/adminguide/event-processing.html#event-processing-policy
Привет. Это в эвент процесинге, это понятно, если нужно, что бы это не срабатывало именно по определенному кластеру в опеределенное время.
Или к примеру, как сделать, что бы этот один кластер по ночам не мониторился вообще
+
а еще есть вопрос:
есть
Я собираю данные с принтера через SNMP
он в одном выдаёт сколько он этим картриджем напечатать, а в другом выдаёт сколько использовано
как сделать ещё один, что бы он выдавал % оставшегося, т.е. произвести вычисления между значениям?
В аттаче темплейт для принтера, который должен поддерживать большинство вариантов
Quote from: Alex Kirhenshtein on March 25, 2015, 04:11:55 PM
В аттаче темплейт для принтера, который должен поддерживать большинство вариантов
Спасибо.
Я так понимаю, что агенты опрашивает только сервер. А как можно сделать, что бы сам АГЕНТ обращался на сервер по расписанию, и сообщал о состоянии, к примеру если он за NATом?
Если в новых версиях ничего не поменялось - никак.
Либо проброс портов использовать, либо ВПН (у меня последенее везде).
Отправлять данные на сервер в принудительном режиме можно только через push (nxapush, nxpush), но только для тех DCI, у которых установлен источник - push.
Quote from: kozlov_ao on April 02, 2015, 11:25:11 AM
Если в новых версиях ничего не поменялось - никак.
Либо проброс портов использовать, либо ВПН (у меня последенее везде).
Отправлять данные на сервер в принудительном режиме можно только через push (nxapush, nxpush), но только для тех DCI, у которых установлен источник - push.
Я просто искал и не нашел, а ведь Андроид клиент по этой схеме работает, он передаёт сам на сервер, думал и на ПК агенты это умеют как-то
Неа. Это принципиально разные вещи.
Quote from: Tatjana Dubrovica on March 22, 2015, 01:34:54 PM
Здесь есть обсуждение этого вопроса с примером скрипта:
https://www.netxms.org/forum/configuration/notification-about-event-only-during-defined-period-of-time/msg16051/#msg16051
Тоесть написать Filtering Script в EPP фильтре который будет оценивать не только что правельный эвент пришёл но и что в правельное время и только тогда создавать аларм.
https://www.netxms.org/documentation/adminguide/event-processing.html#event-processing-policy
Привет. Спасибо за наВОДку. но всё оказывается сложнее.
К примеру офис начинает работу в 10. Если в 23 часа всё выключают, то происходит евент, по которому не будет формироваться алерт, т.к. стоит фильтр, не отрабатывать его с 23 до 10. Но если в 10 так ничего и не заработало, а должно, то никакого эвента и кончено алерта уже не будет.
Как сделать, что бы статус оборудования повторно опрашивался в 10:00 и формировался эвент, а вследствии и алерт. Или к примеру что бы именно оборудование в этот период с 23 до 10 не мониторился, а в 10 начинал анализ и если не работает то уведомлял.
На этот случай есть Advanced Schedule: https://wiki.netxms.org/wiki/UM:Data_Collection#Polling_Interval
Quote from: kozlov_ao on April 03, 2015, 12:23:36 PM
На этот случай есть Advanced Schedule: https://wiki.netxms.org/wiki/UM:Data_Collection#Polling_Interval
Спасибо. Но оно действует на сбор данных, а пинги делаются через интерфейс подключенный к ноде, на котором такое не сделать
Я сделал ручное расписание для сбора данных ПИНГ, собирает время ответа. каждый три минуты с 10 до 23 */3 10-23 * * *
Но когда оборудование выключается сборщик становится просто ЕРРОР а сама нода остается в норме. Это кончено если анализ интерфейса выключить, а иначе, если вы выключать, расписание не работает и сразу статус критикал получается. Или единственное решение тут, для сигналиазции делать трешхолд? если пиги анализатора не доходят. Но как то это костыльно получается. Может есть более просто решение и расписание можно как поставить на интерфейс?
Калькулятор расписания крон нашел тут: http://cron.nmonitoring.com/cron-generator.html
... что сделал
на интерфейсе в пулинг установил Экспектед стейт - ИГНОРИНГ, что бы если пинги пропадали, то не было алерта
или просто в эвентах этот контейнер исключить из генерации уведомления
Сделал метрику
PingTime от внутреннего источника
Мониторинг связи с 10 до 23
в ней указал настраиваемое расписание а в настаиваемом расписании указал */3 10-23 * * *
проверять каждые 3 минуты с 10 до 23 ежедневно
далее в пороговых значениях указал
Ошибка опроса 1 содержит 1
и создал событие SYS_NODE_NOT_PING которое и обрабатываю как событие