Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - l_d

#1
День добрый!
Возникла такая задача, никак не пойму как к ней подступиться.
Исходные данные:
Есть несколько гипервизоров на Hyper-V - Windows 2008/12R2 сервера.
На них есть большое кол-во ~30-40 виртуальных машин
Необходимо:
Надо мониторить сетевой входящий\исходящий трафик с каждого виртуального адаптера, т.е. с каждой машины.
Руками натыкивать эти счетчики долго и муторно + ВМ иногда переезжают в одного хоста на другой через LiveMigration, т.е. каждый раз переносить счетчики туда сюда не очень удобно, к тому же можно забыть.
Хотелось бы понять, как сделать Instance Discovery для данного типа счетчиков, да еще что бы в итоге на вкладке Performance получать сдвоенный график (скриншот приложен).
Как я пробовал сделать:
Я делал нечто похожее для свободного места на дисках.
Счетчик брал с NetXMS агента:
FileSystem.Free({instance})
С настройками Instance Discovery:
Method - Agent List
List name - FileSystem.MountPoints
Script:   if ($1 ~= ":")
                 value = AgentReadParameter($node, "FileSystem.Total(" . $1 . ")");
                 return (value != null) && (value > 0);

Но с этими счетчиками Hyper-V я ведь получаю данные не от агента,а от Windows Performance Counters, какие там должны быть прописаны параметры List name и тд, не пойму где вообще брать эту информацию..
Доп.хотелка
И еще хотелка, но не обязательная.
Hyper-V все инстансы возвращает в виде <Имя машины><длииииииииинннныыыыйй GUID>, и если я в вкладке Performance просто буду вставлять в имя переменную {instance}, то там будет далеко за границы экрана название вылезать, можно ли его править как то с помощью RegExp или еще как..
#2
День добрый!
Получаю данные с виндовой машины через:
System.Update.LastInstallTime
Получаю в ответ,как я понял, данные в Unix формате вида:
1494862124
Нашел тут, на англоязычном форуме, что надо их конвертировать командой:
return strftime("%d.%m.%Y %H:%M:%S", $1);
Результат довольно странный, если я вбиваю это число в диалог Test, то все работает хорошо, но на вкладке Last values я вижу стабильный 0 в графе с полученными данными.
Отключаю скрипт трансформации - получаю большое число
Включаю скрипт - получаю "0"
Делаю Тест трансформации - все хорошо.
Что я делаю не так? Скриншоты прилагаю, на последнем скришоте первая строка с включенной трансформацией, последняя с выключенной.
#3
День добрый!
Есть необходимость мониторить сервер 1С. Он запускает для работы 2-6 процессов с именем rphost.exe.
Если я пытаюсь мониторить количество занимаемой ими памяти через Process.WkSet(rphost.exe) то все работает вроде нормально, вижу общую занимаемую ими память(примерно прикинул, вроде сходится все), но когда пытаюсь посмотреть загрузку процессора через \Процесс(rphost)\% загруженности процессора ожидаемо получаю данные только по одному(видимо у кого PID меньше) процессу, знаю, что это вроде ограничение самой Windows и ее счетчиков производительности. Нет ли аналога этого счетчика в агенте NetXMS? Либо какого-то лайфхака как мониторить общую загрузку CPU этими процессами?