Skip to content

Support

5.1k Topics 22.0k Posts

Questions about installing, configuring and using NetXMS.

  • Server Configuration - restart

    3
    0 Votes
    3 Posts
    20k Views
    L
    hi victor, thank you for your reply. Best Regards, Lindeamon
  • NetXMS Agent Parameter List not populated

    2
    0 Votes
    2 Posts
    17k Views
    V
    Hi, it seems that agent is not responding to the server on that machine. Please check what IP addresses are listed as MasterServers in nxagentd.conf. If you have multiple interfaces on management server make sure you list them all. Also check what is set as "primary host name" in communication properties for that node. Best regards, Victor
  • 0 Votes
    4 Posts
    24k Views
    V
    Hi, yes, if script returns false instance will be deleted. Currently there is no way to stop instance discovery by aborting filter script. There is feature request for adding "grace period" for instances being deleted: https://dev.raden.solutions/issues/976. I think implementing it should solve your problem. Best regards, Victor
  • NetXMS searching for DCI on wrong nodes

    4
    0 Votes
    4 Posts
    27k Views
    V
    Hi, do you have source node set for this DCI? Part of agent database that you show - is it from correct node or from node where this DCI should not be? Best regards, Victor
  • Sharing tool source to upgrade MikroTik device

    1
    0 Votes
    1 Posts
    18k Views
    I
    Hello. Code in attachment. First tool, forgive me coding and security patterns:) This was created for test, and served very well, but it is away from being complete solution(propably need more condition checking, let's say on TODO). Use at own risk. Save attachment on NetXMS server, make it "+x". Create tool (server command) with name of script and %a as parameter. Command produces output and need allowed output about 3 minutes(depends on connection speed and etc.). Put npk with ROS nearby(adjust path) ---edit I've uploaded code with flaw(my mistake, saved file between version with hardcoded things and file capable of using all passed arguments), need to edit nearby $mtpass variable. Correct upload when i finish newer version. Beside this typo it is working. upgrade-mipsbe.sh
  • Downgrade from 2.1-M1

    3
    0 Votes
    3 Posts
    27k Views
    L
    Hello Alex, thank you for your response. Regards, Lindeamon
  • Multiple DCIs Missing

    4
    0 Votes
    4 Posts
    27k Views
    R
    Hello Victor, my answers: Im running NETXMS 2.0.6 on Debian 8 (64bits): :~$ nxdbmgr -v NetXMS Database Manager Version 2.0.6 Build 8073 (UNKNOWN) (UNICODE) ~$ hostnamectl   Static hostname: NETXMS-DEV         Icon name: computer-vm           Chassis: vm         Machine ID: 0e2abe4338484ea5a790cd88bb82b757           Boot ID: 3cfe0309bc734c1d82bf6f6f6732d42c     Virtualization: vmware   Operating System: Debian GNU/Linux 8 (jessie)             Kernel: Linux 3.16.0-4-amd64       Architecture: x86-64 Are collected from SNMP agents (DCIs come from template, and have instantiated and transformation configuration) On Template DCI,  the agent cache mode is "default", and "DefaultAgentCacheMode" have value 2 and restart=yes (I have not change any of these parameters). Regards.
  • 0 Votes
    3 Posts
    25k Views
    V
    Hi, currently agent send traps only to servers listen as master servers - which is probably wrong. I cannot remember what was behind this decision. I can change it in next release. Best regards, Victor
  • Inconsistent database due to deleted objects

    2
    0 Votes
    2 Posts
    21k Views
    V
    Hi, server supposed to handle deletion correctly and do not leave unparented objects. This is a known bug and it will be fixed eventually. There is also a registered issue for improving database check (https://dev.raden.solutions/issues/1335) - will be fixed during 2.1 development. You can leave it as is for now - references to non-existent objects are not read from database so the only consequence are errors being reported on server startup. Best regards, Victor
  • Send SMS messages with an english vendor

    8
    0 Votes
    8 Posts
    41k Views
    A
    Awesome! It works Thanks a lot for the help!
  • Script to unlock database and relaunch netXMS if it crashes?

    3
    0 Votes
    3 Posts
    24k Views
    A
    i have a simple script to run nxdbmgr check and "nxdbmgr check -f" is doing the job. I am using ubuntu as a host. Best regards, Adrian
  • Update SQL when thresshold is activated

    3
    0 Votes
    3 Posts
    22k Views
    M
    By request here is more in detail Under event configuration i have setup events named Alarm for all the severity levels the message is what you see in the alarm browser. Event policy is set to execute xmpp and action snd_alert on these events The action then runs command on the node via the agent and what the action sends to the node agent is returned by the script snd_alert snd_script: body = "snd_alert"; if ($event->parameters[2] == "SQLServer:General Statistics: Processes blocked") { body .= " sql_locked"; if ((localtime()->hour == 13) && (localtime()->min < 15)) { body .= " delivery_journal"; } } if ($event->parameters[2] == "SQL Deadlock") { body .= " sql_deadlock"; } if ($event->parameters[2] == "MD5 hash check for unchanged file") { body .= " breadcrumb_files"; } return body; In the agent configuration is: ActionShellExec=snd_alert:/alert_sound/alert.sh $1 $2 Scenario: On the DCI named SQL Deadlock there is a threshold that triggers if the polled value is greater then 3. This triggers the Alarm Major severity The policy on Alarm Major triggers the action snd_alert The action snd_alert runs script snd_alert The script has statement for SQL Deadlock and the return string will be "snd_alert sql_deadlock" The first value is the action to run on the node agent "snd_alert" the second value is the first parameter The agent will then run: "/alert_sound/alert.sh sql_deadlock" For me this runs a wave file named sql_deadlock on the dashboard TV and inserts the event in a local db You can add more parameters by adding $3 $4 etc on the action and returning more values via the script. Helpful links https://wiki.netxms.org/wiki/Main_Page https://wiki.netxms.org/wiki/Scripting_Guide [image: event policy.png] [image: event conf.png] [image: action.png] [image: threshold.png]
  • Write acknownledge to push (R/W) variable on node

    1
    0 Votes
    1 Posts
    18k Views
    C
    Hi Guys, At first, NETXMS application is excellent solution for SNMP management. I have used this application for two week and I'm think that this SNMP manager it is great choice. I have two question First problem is pushing value to target node when user select acknowledge on specific alarm on the list. One of node specific parameters as described as "activeAlertlsAcknowledged" and it has read/write access. How I can recognize action of user Acknowledge and make some script to activate write(push) value to this specific node parameters? . Second problem is how create repeated sound for alarms which will be terminated after user select a Acknowledge state of target alarm. Please if someone have any idea how to resolve these requirements and make script for these action please help me. Thanks, Tomislav
  • OSX Installation Guide

    5
    0 Votes
    5 Posts
    40k Views
    M
    Victor Looks like it is enabled, even though message said not: NetXMS Server Version 2.0.3 Build 8066 (UNKNOWN) (NON-UNICODE) NXCP: 3.47.1.4 (AES-256, Blowfish-256, IDEA, 3DES, AES-128, Blowfish-128) Thanks
  • 4500X Cisco Switch

    8
    0 Votes
    8 Posts
    56k Views
    W
    It was an IOS version issue. After upgrade it's gone.
  • NetXMS crashes, out of sockets

    1
    0 Votes
    1 Posts
    17k Views
    B
    Our server have been unstable since upgrading to 2.0.x branch. We have been getting more nodes at same time, so problem could exist on older versions too.. Server Setup: OS: Ubuntu 14.04.05-LTS (ESXi) CPU: 4x E5-2690 @ 2.90GHz Mem: 8GB Server stats: Total number of objects:    10490 Number of monitored nodes:  3737 Number of collectable DCIs:  33514 Server config: PollerThreadPoolBaseSize: 300 PollerThreadPoolMaxSize: 800 NumberOfDataCollectors: 800 Been talking on Telegram about this, and this night one of our NOC had some time to do debug and found this: -- Quote -- It seems that Netxms doesn't handle more than 1024 sockets very well and crashes if an attempt to retransmit data when the send buffers are full on a fd equal to or larger than 1024. _opt_netxms206_bin_netxmsd.0.crash (gdb) bt #0 0x00007ff8ffe79c37 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 #1 0x00007ff8ffe7d028 in __GI_abort () at abort.c:89 #2 0x00007ff8ffeb62a4 in __libc_message (do_abort=do_abort@entry=2, fmt=fmt@entry=0x7ff8fffc2113 "*** %s ***: %s terminated\n") at ../sysdeps/posix/libc_fatal.c:175 #3 0x00007ff8fff4dbbc in __GI___fortify_fail (msg=<optimized out>, msg@entry=0x7ff8fffc20aa "buffer overflow detected") at fortify_fail.c:38 #4 0x00007ff8fff4ca90 in __GI___chk_fail () at chk_fail.c:28 #5 0x00007ff8fff4db07 in __fdelt_chk (d=<optimized out>) at fdelt_chk.c:25 #6 0x00007ff9004603bb in SendEx (hSocket=1149, data=data@entry=0x7ff8b226e580, len=1016, flags=flags@entry=0, mutex=0x7ff8b4172160) at tools.cpp:1084 #7 0x00007ff90097dd1f in ClientSession::sendMessage (this=0x7ff8b418a910, msg=<optimized out>) at session.cpp:1588 #8 0x00007ff900980060 in ClientSession::sendAllObjects (this=this@entry=0x7ff8b418a910, pRequest=pRequest@entry=0x7ff8b02cbcf0) at session.cpp:2294 #9 0x00007ff90099f08d in ClientSession::processingThread (this=0x7ff8b418a910) at session.cpp:798 #10 0x00007ff90099f219 in ClientSession::processingThreadStarter (pArg=<optimized out>) at session.cpp:215 #11 0x00007ff900210184 in start_thread (arg=0x7ff7c5359700) at pthread_create.c:312 #12 0x00007ff8fff3d37d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 2016-11-12_22-34 (gdb) bt #0 0x00007f47494aac37 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 #1 0x00007f47494ae028 in __GI_abort () at abort.c:89 #2 0x00007f47494e72a4 in __libc_message (do_abort=do_abort@entry=2, fmt=fmt@entry=0x7f47495f3113 "*** %s ***: %s terminated\n") at ../sysdeps/posix/libc_fatal.c:175 #3 0x00007f474957ebbc in __GI___fortify_fail (msg=<optimized out>, msg@entry=0x7f47495f30aa "buffer overflow detected") at fortify_fail.c:38 #4 0x00007f474957da90 in __GI___chk_fail () at chk_fail.c:28 #5 0x00007f474957eb07 in __fdelt_chk (d=<optimized out>) at fdelt_chk.c:25 #6 0x00007f4749a913bb in SendEx (hSocket=1180, data=data@entry=0x7f470036ab00, len=424, flags=flags@entry=0, mutex=0x7f470c262ff0) at tools.cpp:1084 #7 0x00007f4749faed1f in ClientSession::sendMessage (this=0x7f470c17dce0, msg=<optimized out>) at session.cpp:1588 #8 0x00007f4749faf0a5 in ClientSession::updateThread (this=0x7f470c17dce0) at session.cpp:658 #9 0x00007f4749faf2b9 in ClientSession::updateThreadStarter (pArg=<optimized out>) at session.cpp:224 #10 0x00007f4749841184 in start_thread (arg=0x7f4627cc1700) at pthread_create.c:312 #11 0x00007f474956e37d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 2016-11-12_22-46.crash (gdb) bt #0 0x00007f77edd68c37 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 #1 0x00007f77edd6c028 in __GI_abort () at abort.c:89 #2 0x00007f77edda52a4 in __libc_message (do_abort=do_abort@entry=2, fmt=fmt@entry=0x7f77edeb1113 "*** %s ***: %s terminated\n") at ../sysdeps/posix/libc_fatal.c:175 #3 0x00007f77ede3cbbc in __GI___fortify_fail (msg=<optimized out>, msg@entry=0x7f77edeb10aa "buffer overflow detected") at fortify_fail.c:38 #4 0x00007f77ede3ba90 in __GI___chk_fail () at chk_fail.c:28 #5 0x00007f77ede3cb07 in __fdelt_chk (d=<optimized out>) at fdelt_chk.c:25 #6 0x00007f77ee34f3bb in SendEx (hSocket=1125, data=data@entry=0x7f77980f3380, len=424, flags=flags@entry=0, mutex=0x7f77a004f3e0) at tools.cpp:1084 #7 0x00007f77ee86cd1f in ClientSession::sendMessage (this=0x7f77a0239b70, msg=<optimized out>) at session.cpp:1588 #8 0x00007f77ee86d0a5 in ClientSession::updateThread (this=0x7f77a0239b70) at session.cpp:658 #9 0x00007f77ee86d2b9 in ClientSession::updateThreadStarter (pArg=<optimized out>) at session.cpp:224 #10 0x00007f77ee0ff184 in start_thread (arg=0x7f76c3891700) at pthread_create.c:312 #11 0x00007f77ede2c37d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 excerpt of SendEx(SOCKET hSocket, const void *data, size_t len, int flags, MUTEX mutex) in tools.cpp: do { retry: #ifdef MSG_NOSIGNAL nRet = send(hSocket, ((char *)data) + (len - nLeft), nLeft, flags | MSG_NOSIGNAL); #else nRet = send(hSocket, ((char *)data) + (len - nLeft), nLeft, flags); #endif if (nRet <= 0) { if ((WSAGetLastError() == WSAEWOULDBLOCK) #ifndef _WIN32 || (errno == EAGAIN) #endif ) { // Wait until socket becomes available for writing struct timeval tv; fd_set wfds; tv.tv_sec = 60; tv.tv_usec = 0; FD_ZERO(&wfds); FD_SET(hSocket, &wfds); nRet = select(SELECT_NFDS(hSocket + 1), NULL, &wfds, NULL, &tv); if ((nRet > 0) || ((nRet == -1) && (errno == EINTR))) goto retry; } break; } nLeft -= nRet; } while (nLeft > 0); line 1084 is FD_SET(hSocket, &wfds); To quote "man select":       An  fd_set is a fixed size buffer.  Executing FD_CLR() or FD_SET() with       a value of fd that is negative or is equal to or larger than FD_SETSIZE       will result in undefined behavior. hSocket is 1149, 1180 and 1125 in our crashdumps. FD_SETSIZE on Linux is 1024:     /usr/include/sys/select.h:#define  FD_SETSIZE      __FD_SETSIZE     /usr/include/bits/typesizes.h:#define  __FD_SETSIZE        1024 Also consider the conditions for a crash. send() must fail with WSAEWOULDBLOCK, meaning that the send buffers are full. This can happen if the network is saturated or if the other side simply doesn't acknowledge the received data. Only then and iif the socket fd is equal to or larger than 1024 would lead to this crash. This would explain the inconsistent behaviour and perceived correlation with external factors.
  • Find MAC/IP - where does it search?

    3
    4
    0 Votes
    3 Posts
    43k Views
    T
    It seems this is a bit different. NetXMS searches in the topology it learn from FDBs, etc., but it doesnt search actual interfaces of objects. So when you search for a MAC address that is the MAC address of an interface of a switch, its not found. Attaching a .gif of non-working example. Its actually similiar to this ticket: https://dev.raden.solutions/issues/784 [image: 2016-11-11_15-18-42.gif]
  • same threshold on multiple dci

    5
    0 Votes
    5 Posts
    43k Views
    M
    Found another problem in that it is loops newest value first so the check from oldvalue is wrong. Is there any method for reversing arrays? Experimenting with for loop with array size, though just reversing array using foreach would be nice
  • Collect data from output generated by bash shell script execution

    2
    0 Votes
    2 Posts
    25k Views
    D
    https://www.netxms.org/documentation/adminguide/agent-management.html?highlight=externalparametersprovider#externalparametersprovider HTH, Grzegorz.
  • Version Version 2.1-M1 in Debian jessie main repo downgrade DB schema

    6
    0 Votes
    6 Posts
    45k Views
    L
    It seems back to work now. OK, I'll update to 2.1M1 Thanks. Bye