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 - Tursiops

#451
Hi,

I couldn't see this being an active Feature Request, but did find an older post (https://www.netxms.org/forum/feature-requests/agent-data-push-%28firewall-friendly%29/) suggesting usage of nxpush for this.
The basic idea being not to have the server poll the agents, but the agents contact the server instead.
This would remove the requirement for port forwards for systems behind a NAT. When you have dozens or even hundreds of different setups like that, it means manually reconfiguring each router/firewall with a port forward. It also means that if the proxy node on site goes down, everything appears to be offline. Having the agents initiate the connection to the server would remove the need for a proxy in a lot of these scenarios (not counting sites with heavy lockdowns on outbound traffic).

The communication could be something the agent initiates but with the connection kept open using keepalives, so the server can push commands down the connection at any time. I guess examples of that kind of connection would be PRTG probes or RMM Agents like Labtech, N-Able or Kaseya.

It would make a roll out easier, more firewall-friendly and allow monitoring of portable nodes moving between networks with private IPs (for example if you want to monitor notebooks which may end up in multiple offices, at home or at an airport) or nodes at a site that has multiple nodes, but none of them being online 24/7.

Are there any plans to implement something like this?
I know the post given above is from 2013 and it didn't sound like there were any.
Maybe not enough users monitoring lots of different firewalled networks? :)

Cheers
#452
General Support / Table from ExternalCommand
February 24, 2016, 06:14:41 AM
Hi,

I've been testing ExternalLists to do Instance Discovery to grab data for items with a lot of instances.
While this works and allows for alerting, it is extremely... untidy... in the Last Values tab.
For example I am monitoring about a dozen different items over 74 instances, which leaves quite a mess in the interface.
A table would work wonders here. I would have no problem passing the relevant data in CSV format either.

But for all I can tell, this is currently not possible?

Thanks
#453
General Support / Re: deleteRow issues
February 18, 2016, 04:49:30 AM
Hi,

Answering my own question here, as it turned out to be a rather obvious bug in my script.
Deleting a row changes the row count, so whenever I delete a row, I also have to decrease "i" again, i.e. run an i--.

The other issue appears to indeed just be some broken SNMP agent producing rubbish data for that particular set that I was testing my code with. Even without any transformation applied, that particular DCI still produces nonsense more often than not - while all other DCIs on the same system work perfectly fine. Unlucky coincidence. :|

Anyway, works as expected now.
#454
General Support / DCI Tables - Columns with null values
February 14, 2016, 11:16:53 PM
Hi,

I've been setting up some physical disk monitoring on DELL systems, which is working fine for the most part - except there are some systems which do not hold all data I'm querying for. Some disks don't provide the year of manufacture, some don't provide a part number. As those systems tend to have all the same disks, the result is that there is no entry at all for that column when queried via SNMP.
When that happens, NetXMS does not show a null value in the DCI table, but instead shows no data in the entire table at all - it is completely empty.
I can query all other fields directly via SNMP just fine, so I know most of the data exists.

Not sure if that's a bug (i.e. it should be showing everything and just display empty fields when it hits null) or something I should be scripting around.
However so far I haven't been very lucky using deleteRow and deleteColumn, nor did my attempts at switching the lack of a result to an empty string via transformation script work out. There's probably some more debugging I can do on that one - but I am not sure if this is expected behaviour to begin with?

Thanks

#455
That worked.
Thanks. :)
#456
General Support / ExternalParameter - Escape Character?
February 12, 2016, 07:51:34 AM
Hi,

I have a command for an ExternalParameter which requires me to use a "$2". NetXMS interprets that as a variable which causes problems.
Not sure what character can be used as escape character for the $ within the Agent Configuration file?
I'm sure it's documented, but I couldn't find it - and my guessing attempts didn't work. Help, please?

Thanks
#457
Ok, got it.

Not having used Tomcat before I didn't really think much about what effect renaming the .war files might have - I renamed nxmc-2.0.1.war to nxmc.war.
For the upgrade I stopped Tomcat, removed that .war file and the /var/lib/tomcat7/webapps/nxmc directory.
Then I downloaded the new nxmc-2.0.2.war file and renamed it to nxmc.war as well, prior to restarting Tomcat.
That's probably where things went wrong - as I found stuff still sitting in /var/lib/tomcat7/work/Catalina/localhost/nxmc. :-[

So I went through the process again, cleaning up that second directory too and it's all working now.

Cheers
#458
 :o I admit I did not see that. Says version 2.0.1 so that'll obviously not work.

Now I just have no idea WHY it still says 2.0.1. I know I removed the old .war file and downloaded the nxmc-2.0.2.war one.
Tomcat was stopped, started, server rebooted...
Does Tomcat have some additional cache somewhere?
#459
Hi,

After upgrading the server to version 2.0.2, followed by deploying the latest web nxmc-2.0.2.war to the local Tomcat server (stopped Tomcat, deleted the old .war and directory, deployed the new one, restarted Tomcat, confirmed it deployed), I can't login via web console anymore. The local management console (also upgraded to 2.0.2) works fine.
The error message is "server uses incompatible communication protocol", which tells me that there must be a wrong version somewhere. But netxmsd -v gives me a NetXMS Server Version 2.0.2 Build 8060 and the .war file is the one currently on the website: nxmc-2.0.2.war. Redeploying did not help. Different browsers and systems: same result.

Not sure if I'm going crazy or if there is something I am missing?

Thanks
#460
Feature Requests / Re: nxdbmgr check
February 10, 2016, 02:18:06 AM
Done.  :)
#461
Feature Requests / nxdbmgr check
February 09, 2016, 02:07:32 AM
Hi,

We recently had an odd issue where the virtual machine running NetXMS crashed and came up with the time 4 days in the future. While we fixed that, I found that NetXMS does not cope with such an issue in that it stops polling node status and DCIs as the last poll now was four days in the future. The Last Value field also showed as completely empty and even with debugging I could not see why it would not poll at all.
I got this working again by going through the database and updating/deleting entries with such timestamps (e.g. updating the nodes table, deleting data from idata and raw_dci_values and a few other tables).

The feature request would be to have nxdbmgr check for invalid/future timestamps and allow them to be fixed in a safe way.
Polls in the future should probably be deleted as it's impossible to tell when they were really polled, while the timestamps for node down since or last poll could be reset to "now"?

I admit that this shouldn't happen to begin with. But when it does, it can be quite a pain to resolve.

Thanks.
#462
General Support / Re: Configuration of NetXMS
February 08, 2016, 11:40:52 PM
Hi Michael,

Quite a few Windows servers I am monitoring show such "Local Area Connection* <N>" interfaces, which are not active interfaces on the system itself.
I didn't dig too deep into it, but made a guess that these are probably inactive networks that Windows has saved somewhere (e.g. a different network connected during server setup or similar). The only thing in common was the "*" in the name, so I filtered those out using a script in Hook::CreateInterface in the Script Library.
In our case, I did the same for isatap and Teredo (and a few other) interfaces, as we don't need to see those either.

See below for an example using the three interfaces mentioned above:

if ( $1->name ~= "^isatap" ) return false;
if ( $1->name ~= "^Teredo" ) return false;
if ( $1->name ~= "\*" ) return false;
return true;


Cheers
#463
General Support / Re: DCIs, Events and ActionShellExec
February 04, 2016, 01:14:23 PM
I had another search around and it seems what I did should work.
An older post suggested using %a (the node's IP) to trigger the action.
Doesn't work for me either.

Now I am starting to wonder if that is due to the node connecting via a NetXMS Proxy agent? There is no direct connection straight from the server to the node.
And to top it off, I'm using zoning. So just passing an IP will likely not work if I can't pass the zone as well.
What macro should I use that actually triggers the action on the right node? I'm lost on this one.
#464
Feature Requests / Maps, Offline Nodes and Data Sources
February 02, 2016, 11:18:51 PM
Hi,

When a node goes offline, it obviously drops off the Topology and is no longer detected.
As a result those nodes will be removed from Layer 2 and Layer 3 maps.

In a setup with quite a few connected systems (be it including end nodes or only a whole range of switches, gateways, etc.), it would make more sense if the Node Down status would be displayed instead.

I guess this could be done by "caching" the previously known topology to some extent and checking if an interface on a Peer device that is expected to be Up and was connected to the device that's down is also down. Unless something else is suddenly detected on that same link, it would be more sensible to assume an outage than the device just having disappeared from the network.

As an example we had a switch failure which took half a site offline.
We of course received a number of alerts, but a look at the map resulted in only half the network showing. The rest was just gone and thus not suitable for a "quick glance" to detect where things had gone wrong.

Similarly connected end nodes might go offline on a regular basis, e.g. printers or workstations, and then just disappear from the map.
Right now I'd have to create a Custom map that matches the automated one to be able to work the actual status of the network out.

This also ties in with using Data Sources on connectors on those maps. On the automated maps those are semi-useful, as any
downtime on a device will cause the device to drop, the connector and the associated data sources to disappear.

I also found that such data sources used on maps always show the Last Value, even if the value couldn't be queried for a while, leading to potentially stale data on maps. There appears to be no way to make it show something else (be it nothing at all, N/A or some other custom text) if the last update time was longer than a specified period (ideally a custom one).

Guess that's a number of feature requests around maps rolled into one post.

Not sure if anyone else is or would like to use maps in a similar way? :)

Cheers
#465
General Support / DCIs, Events and ActionShellExec
February 02, 2016, 07:21:46 AM
Hi,

I am trying to run an action on a Windows NetXMS agent when a certain condition is triggered.

So far this is what I've done:
- added an ActionShellExec into the agent's configuration file and ran a configuration poll. This action does not require any parameters.
- added an Action that calls the ActionShellExec
- created an Event which I intend to only use for this particular issue
- create an Event Processing Policy which triggers an alarm and executes the above action if the event above is triggered
- added a DCI that can trigger the previously configured Event

Unfortunately this doesn't work as expected. I receive an alarm, but the action itself just doesn't seem to happen.
My guess is that I have the "Remote host" part of the Action wrong. Should that be "%n" (which is what I used - I also tried "%g")?

To see if I stuffed up the Action itself, I added it to the Object Tools and called it on my test system.
The result is that the Action is called and works just fine.

Thanks for any pointers.