News:

We really need your input in this questionnaire

Main Menu
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

Messages - Filipp Sudanov

#556
General Support / Re: NetXMS 4.4.1 server failed
October 02, 2023, 11:24:38 AM
QuoteI have problem too. My enveropment:
Docker, Ubuntu 18.04, PG 12.5, NetXMS 4.4.2
Do you have netxms-server-dbg package installed on your system? If not, please install it and make the backtrace again.
#557
Please check server log - one possible issue is that server is crashing on client connection. Please check server log.

If this is the case, try stopping server via systemd:
systemctl stop netxmsd

and running it in foreground:
netxmsd -D 6

in this mode server will be running on debug level 6 and will output it's log to the terminal. Please share last log lines prior to the crash and repeat this 2 times.
#558
Я попробовал сделать скрипт, который автоматом берет скорость интерфейса и считает лимит отсечки в 120% от скорости. Строчки trace(0, ...  пишут отладочные сообщения в лог сервера, для нормальной работы их нужно убрать.

Скрипт годится только для тех DCI, которые создавались механизмом instance discovery - у них тогда заполнен атрибут instance. Скрипт ищет интерфейс под нодой, имя которого совпадает с instance, это будет работать для агентских метрик, для snmp instance будет индексом интерфейса и в 6-й строчке вместо i->name нужно использовать i->ifIndex

В целом получилось сложно, лучше наверное дождаться когда разработчики добавят эту обработку в код.

trace(0, $dci->name . ", $1: " . $1);
lastValue = GetDCIValue($node, $dci->id);
trace(0, "lastValue: " . lastValue);
speed = 0;
for (i: $node->interfaces) {
  if (i->name == $dci->instance) speed = i->speed;
}
trace(0, "speed: " . speed);
if (lastValue == null or speed == 0) return $1 * 8; // could not do much
upperLimit = int64(speed / 8L * 1.2); // in bytes
trace(0, "upperLimit: " . upperLimit);
if ($1 > upperLimit) return lastValue;
trace(0, "returning $1*8: " . $1 * 8);
return $1 * 8;

Если интерфейс продолжает существовать и счетчики трафика на нем не меняются, то скрипт должен корректно отдавать значение 0.
#559
Если это старая консоль, то там в десктопной версии был баг, после смены языка ее нужно полность закрыть и открыть снова. Возможно даже дважды.

В новой консоли локализация пока не сделана, так что она только английская
#560
Map improvements are currently in development, expected to be included to 5.0 in a few months.
#561
Проблема такого скрипта - не получится пропустить сбор значения - теоретически это можно сделать командой abort, но при этом не сохранится raw значение и вычисление дельты пойдет от последнего собранного raw значения.
Так что лучшее, что сейчас может делать такой скрипт - возвращать еще раз последнее собранное значение - если нужно, сделаю пример.

Отображение с Mbps работает в last values. В history его не сделали еще, в 5.0 наверное будет.
#562
Уточнил у разработчиков - да, это сейчас оно действительно так работает. Дело в том, что переполнение счетчика может означать две вещи:
а) действительно на интерфейсе прошло столько байт, что считчик дошел до максимума и перешел через 0
б) счетчики на устройстве сбросились на 0 (рестарт устройства и т.д.)

В более старых версиях обработка шла исходя из первого случая - всегда выполнялось вычисление с unsigned числами. Проблема в том, что для ситуаций б) это давало высокий пик на графике, т.к. получалось очень большое число. Поэтому алгоритм поменяли, что если собираемое число уменьшилось, то преобразованное значение становится 0.

Это переделаем, вот тикет https://track.radensolutions.com/issue/NX-2461

На сейчас можно вместо counter32 выбрать unsigned integer, но тогда нужно скриптом защищаться от ситуации б) - проверять что значение не слишком большое.
#563
General Support / Re: nxaevent with object id
September 25, 2023, 03:02:40 PM
Yes, currently this is as you described. I've created an issue in our bug tracker, you can follow it to see when it will be fixed:
https://track.radensolutions.com/issue/NX-2460
#564
Yes, currently error is treated as true, which is not good. Will be changed to false in next release.
#565
Yes, that's exactly how it works. If at some point server would be able to get info about interfaces from agent, this interface will be recreated with proper name.
#566
Data type "Counter 32-bit" должен обрабатывать переход на 0 автоматически. Можно посмотреть в history по этому DCI - там будет колонка raw value. Покажите скриншот history в месте где raw value проходит через 0.

Возможно проблема в трансформационном скрипте - возможно за минуту набегает столько, что при умножении на 8 получается число большее, чем 32-битный integer. Для проверки можно сделать такой трансформационный скрипт (8L заставит выполнять 64-битную арифметику):

return (($1 *  8UL ) / 1024) / 1024;"

Но вообще вручную делить для получения мегабит уже не нужно - можно в свойствах DCI поставить Units "b/s" и Use multipliers "Default" или "Yes". Значение будет хранится в битах в сек и переводится при отображении. Если нужно чтоб всегда отображалось в Mbps, на закладке other options поставить Multiplier degree "Fixed to M".

#567
Can you show a screenshot how these "unknown" name and description look like?
Is it so for all interfaces that are being created or for some (agent, snmp, with specific name?)
What if you try a simpler regex, without alternatives, would it change anything?

#568
How much time does it take since agent restart to consume all the sessions?

In out-of-the-box template for the agent there are metrics
Agent.ActiveConnections
Agent.AcceptedConnections

please show graphs for these for the time since agent start till the sessions run out
#569
General Support / Re: Receive SNMP v3 trap at NetXMS
September 20, 2023, 04:53:19 PM
Great, thanks for update
#570
I've just tried on newest version and it seems to be working fine. Pls upgrade to 4.4.2 and recheck