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 - 2c2i

#1
Судя по всему когда на агентах исполняются какие-то длинные проверки при опросе DCI, поток поллера на сервере блокируется и ждет ответа от этого агента. В итоге чтобы всё работало нормально нужно добавлять сотни, а то и тысячи потоков поллера - https://www.netxms.org/forum/general-support/performance-issues-with-netxms/ тут например пользователи запустили 4000(!) потоков для нормальной работы.

Неплохо бы на каждый тип(agent/snmp/ping) сделать один поток поллера который бы общался с нодами в неблокирующемся режиме, асинхронно - это будет гораздо эффективнее и быстрее работать при большом количестве нод
#2
Было бы удобно в object details видеть дополнительные табы Last logs, Last events, Last SNMP traps(если SNMP включен), Last Alarms с соответствующими логами событий для выбраной ноды. Сейчас для поиска этих данных нужно строить фильтр и искать их в общих логах. Особенно удобно, если бы новые события  динамически отображались -  как в инструментах Monitor.
#3
Не хватает мониторинга адресов в subnet
1) Генерация alarm если в subnet появился хост который начал отвечать на ARP/ICMP. Неплохо бы иметь возможность включать такой режим внутри объекта subnet.
2) Подсветка в Subnet->Object details-> Address Map имен нод для каждого адреса. Для адреса который отвечает на ARP/ICMP - подсвечивать ячейку другим цветом.

Таким образом можно решить такие задачи:
1) Иметь возможность понять что появился новый хост, который забыли добавить в мониторинг. Network Discoverу не всегда подходит, тк не всегда нужно автоматически добавлять ноды
2) Иметь возможность быстро увидеть что IP адрес занят хостом которого нет в Netxms. Сейчас мы используем Address Map для быстрого поиска свободного адреса и было бы удобно точно знать что netxms проверил с помощью arp/icmp что адрес действительно свободен.

#4
Общие вопросы / 2.0.6 deb packages
September 09, 2016, 04:00:06 PM
2.0.6 версия вышла, но пакетов нет. По крайней мере в репозитории deb http://packages.netxms.org/debian jessie main
#5
Во многих линукс системах выделение текста мышкой автоматически помещает выделенное в буфер обмена. Возникают проблемы с таким поведением при работе nxmc.

Открываем Properties любой ноды, и получаем автоматическое выделение текста "type filter text" в фильтре. Соответственно этот текст сразу переписывает буфер обмена.
Можно ли сделать чтобы текст не выделялся, а хинт "type filter text" отображался не как дефолтное значение в поле(например как <input placeholder="строка"> в html)
#6
Общие вопросы / Segfault
August 22, 2016, 11:35:50 AM
netxmsd[21029]: segfault at 7f1adc000000 ip 00007f1b28192194 sp 00007f1aea722918 error 4 in libc-2.19.so[7f1b28100000+1a2000]

бектрейс:
bt full
#0  __memcpy_sse2_unaligned () at ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S:116
No locals.
#1  0x00007f1b2a46c412 in memcpy (__len=100728864, __src=0x7f1ada898cc0, __dest=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/string3.h:51
No locals.
#2  nx_memdup (data=0x7f1ada898cc0, size=100728864) at tools.cpp:268
        newData = <optimized out>
#3  0x00007f1b2a4582f0 in NXCPMessage::NXCPMessage (this=0x7f1b1b8e46d0, msg=0x7f1ada898cb0, version=<optimized out>) at message.cpp:145
        i = <optimized out>
#4  0x00007f1b2a45a0ae in AbstractMessageReceiver::getMessageFromBuffer (this=this@entry=0x7f1aea722a70, protocolError=protocolError@entry=0x7f1aea7229e7) at msgrecv.cpp:76
        msgSize = 0
        msg = 0x0
#5  0x00007f1b2a45a19b in AbstractMessageReceiver::readMessage (this=this@entry=0x7f1aea722a70, timeout=timeout@entry=900000, result=result@entry=0x7f1aea722a4c) at msgrecv.cpp:117
        bytes = <optimized out>
        msg = <optimized out>
        protocolError = false
#6  0x00007f1b2b60a890 in MobileDeviceSession::readThread (this=this@entry=0x7f1b103c5a90) at mdsession.cpp:170
        result = MSGRECV_COMM_FAILURE
        msg = <optimized out>
        szBuffer = L'\000' <repeats 86 times>, "\x2a45d9f1缛\000\000\000\000\x10080120缛\x2a45da99缛", '\000' <repeats 18 times>, "\x33decc00\x4d53c26d\000\000\000\000\000\000\x103c5a90缛\xea722cd0缚\021\000\xea723700缚\x2b609347缛", '\000' <repeats 90 times>...
        receiver = {<AbstractMessageReceiver> = {_vptr.AbstractMessageReceiver = 0x7f1b2a689790 <vtable for SocketMessageReceiver+16>, m_buffer = 0x7f1ada898cb0 "\022\001",
            m_decryptionBuffer = 0x0, m_encryptionContext = 0x0, m_initialSize = 4096, m_size = 4096, m_maxSize = 65536, m_dataSize = 47, m_bytesToSkip = 0}, m_socket = 54}
        rawMsg = <optimized out>
        msg = <optimized out>
#7  0x00007f1b2b60ac19 in MobileDeviceSession::readThreadStarter (pArg=0x7f1b103c5a90) at mdsession.cpp:56
No locals.
#8  0x00007f1b293320a4 in start_thread (arg=0x7f1aea723700) at pthread_create.c:309
        __res = <optimized out>
        pd = 0x7f1aea723700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139753579230976, -1209311544205124044, 0, 139754209953328, 17, 139753579230976, 1225679945345261108, 1225537549754555956},
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#9  0x00007f1b281e887d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
No locals.

#7
В каждом из логов, поле с датой создания записи называется по своему -  в одном месте Created, в другом - Timestamp, в третьем - Time.

Было бы очень приятно однобразие названий - например при настройке сортировкми было бы гораздо проще быстро найти нужное поле.
#8
Общие вопросы / Agent status Unreachable
August 07, 2016, 07:09:09 PM
Сервер версии 2.0.5, nxmc - тоже 2.0.5

У всех нод, на которых установлены агенты( разных версий) в поле Agent status(Object Details-> Overview) отображается Unreachable. При этом в DCI AgentStatus - 0(то есть норма). При рестарте агента на ноде, в Ивент логе видна генерация SYS_AGENT_UNREACHABLE и затем SYS_AGENT_OK. Иными словами всё выглядит как баг в GUI.
#9
Нельзя ли сделать в UI чтобы на панели объектов по нажатию крестика фильтр не скрывался, а только очищался? На картинке я подчеркнул крестик о котором речь. Мне кажется что такое поведение было бы значительнее более удобно.
#10
C целью упрощения дебага было бы полезно иметь возможность сериализовать  ивент например в json. В таком виде его можно будет целиком залогировать функцией trace.
#11
Не хватает возможности для $event получить доступ к source_id. Это было бы очень удобно для event filtering script в EPP.

#12
Если создать DCI у которого Description='Process {instance}' то в процессе Instance Discovery процедуры создадутся DCI вида 'Process P1' ,'Process P2' и тд. Однако если Description='{instance}' (то есть кроме плейсхолдера больше ничего нету) то создадутся  '{instance}' ,'{instance}'  и тд. То есть если Description содержит только  {instance}, то этот плейхолдер не подменяется в процессе Instance Discovery
#13
Общие вопросы / Netxms 2.0.2 deb packages
February 03, 2016, 12:34:39 AM
А где взять пакеты для debian с версией 2.0.2? В репозитории что-то не могу найти.
#14
Общие вопросы / netxms 2.0-RC2-2 segfault
December 17, 2015, 12:46:14 PM
Сервер упал при подключении nxmc консоли(уже несколько раз замечал такое)

Core was generated by `/usr/bin/netxmsd -d'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  __GI___pthread_mutex_lock (mutex=0x7ffd50a17be0) at ../nptl/pthread_mutex_lock.c:66
66      ../nptl/pthread_mutex_lock.c: No such file or directory.
(gdb) bt
#0  __GI___pthread_mutex_lock (mutex=0x7ffd50a17be0) at ../nptl/pthread_mutex_lock.c:66
#1  0x00007ffdc17030e5 in AccessList::getUserRights(unsigned int, unsigned int*) () from /usr/lib/x86_64-linux-gnu/libnxcore.so.2
#2  0x00007ffdc1754d0a in NetObj::getUserRights(unsigned int) () from /usr/lib/x86_64-linux-gnu/libnxcore.so.2
#3  0x00007ffdc1754da8 in NetObj::checkAccessRights(unsigned int, unsigned int) () from /usr/lib/x86_64-linux-gnu/libnxcore.so.2
#4  0x00007ffdc178a0eb in ClientSession::sendAllObjects(NXCPMessage*) () from /usr/lib/x86_64-linux-gnu/libnxcore.so.2
#5  0x00007ffdc17a9b32 in ClientSession::processingThread() () from /usr/lib/x86_64-linux-gnu/libnxcore.so.2
#6  0x00007ffdc17a9f59 in ClientSession::processingThreadStarter(void*) () from /usr/lib/x86_64-linux-gnu/libnxcore.so.2
#7  0x00007ffdbedd80a4 in start_thread (arg=0x7ffd314d4700) at pthread_create.c:309
#8  0x00007ffdbdef0ccd in __libc_ifunc_impl_list (name=<optimized out>, array=0x7ffd314d4700, max=<optimized out>) at ../sysdeps/x86_64/multiarch/ifunc-impl-list.c:212
#9  0x0000000000000000 in ?? ()



1) корка есть, если нужно могу залить куда-то
2) Актуальна ли проблема в новой версии 2.0-RC2-3 ?
#15
В дереве объектов дублируюся сети. Сначала  сеть 10.0.2.0/24 отображалась два раза, началось это после добавления новой ноды - для неё создалась отдельная сеть, в старую она не попала.
Нужно сказать что старую я переименовал - дописал к object name название влана, соответственно я подумал что это всё и сломало и удалил обе сети. Через некоторое время появились новые 5 одинаковых сетей, ноды  распределились по ним случайным образом.

Как это исправить?
#16
Net.Interface.BytesIn64() похоже не поддерживается для Linux ( как и написано в https://wiki.netxms.org/wiki/Agent_Parameters_Compatibility_Matrix)

Однако если ядро 64разрядное, то счетчики 64битные.

root@border0:~# ifconfig eth1
eth1      Link encap:Ethernet  HWaddr 00:15:17:ba:fd:c2 
          inet6 addr: fe80::215:17ff:feba:fdc2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:210009505322 errors:0 dropped:0 overruns:0 frame:0
          TX packets:339558039233 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:78015839084215 (70.9 TiB)  TX bytes:390754645687990 (355.3 TiB)
          Interrupt:16 Memory:fea80000-feaa0000


Неплохо бы поддерживать такие DCI на 64битных системах.
#17
На двух Linux маршрутизаторах, которые выступают BGP бордерами у netxms-agent стабильно течет память.
Через сутки после запуска процесс использует 3Gb ram.
Версия агента - 2.0-RC2-2.

На других 4х роутерах проблемы нет, хотя на них мониторятся теже DCI.
Подскажите в какую сторону копать?
#18
Для коммутатора WS-C4006  netxms не собирает имен интерфейсов ( те что устанавливаются командой set port name 5/10 <description>). Проблема решается костылем в Hook::ConfigurationPoll:

if ($node->snmpOID == ".1.3.6.1.4.1.9.5.46") { // CAT-4006 hack
interfaces = GetNodeInterfaces($node);
transport = CreateSNMPTransport($node);
foreach(i : interfaces) {
base_if_oid = ".1.3.6.1.4.1.9.5.1.4.1.1.4";
// splitting by /
dd=rindex(i->name,"/");
slot=substr(i->name, 1, dd-1);
port= substr(i->name, dd+1);

oid=base_if_oid.".".slot.".".port;

trace(1,"hook: node ".$node->name." oid: ".oid);

ifdescr = SNMPGetValue(transport, oid);
if (ifdescr != null && ifdescr!="") {
RenameObject(i, i->name." (".ifdescr.")");
}
}
}


Быть может возможно сделать для такого девайса особый драйвер чтобы это работало из коробки.
#19
На линукс нодах, на которой есть интерфейсы для которые неприменимо понятие MAC адреса, иногда генерируются евенты SYS_MAC_ADDR_CHANGED.
Интерфейсы для которых повторяется:
туннельные интерфейсы ppp
туннельные интерфейсы tun
E1 интерфейсы драйвера wanpipe(вероятно остальные E1 интерфейсы так же)

Для всех них ни ifconfig ни ip li sh не отображает HWaddr, MAC адреса которые отображает для них netxms судя по всему рандомны.
#20
- переводим ноду в Maintenance mode
- рестартуем netxms демон
- нода снова в обычном режиме, и для нее обрабатываются евенты.