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

#1
General Support / PushDCIData struggles
August 24, 2025, 09:47:57 AM
There seem to be very little info or examples of this...  I'm trying to update some tables and I can't seem to find any solution after trying everything I can think of.   Does anyone have a working example?

    testTable = new Table();
    testTable.addColumn("GUID");
    testTable.addRow();
    testTable.set(0, 0, node.guid);
   
    result = PushDCIData(node, dciId, testTable);
#2
I'm logged into a client remotely (via remote session to another computer), and I have a client running on my local machine.  I'm logged in as the same user account.  

The DCI's are different between the two.  I have tried closing and restarting... I created a test, which appeared in both.  And I can delete the test item from the other machine (the one other than where I created it) and it disappears on both.    I'm not even sure how this could happen.  

#3
Not sure if this has been requested before, but the Dial Gauge is pretty rigid in its configuration with regards to color and values.  

You can only have three color zones, and the color zones have to be, yellow, green, red in that order.   That assumes that something on the left/bottom is bad, something in the top/middle is good, and something far to the right is really bad.   This works fine for things like pressure, RPMs, etc but does not work very well for things like battery voltages where "8" could be just as bad as "15" for a 12V battery where both values need to be in the red.  A battery dial gauge really should be red, orange, green, orange, red.   (or possibly red, orange, green, red)

I think it would be much more useful to allow us to specify the number of color zones, and in which order.  This could be done with a table, kind of like how we can add multiple Dashboard Elements.  You click Add, specify the minimum and maximum values for the range you are creating, and then choose the color.   The item at the top would be the left/bottom color zone on the gauge.  The next item/range would be the next color zone on the gauge, etc  As a sanity check, you could require that the second color zone HAS to start from where the previous zone ends by pre-populating and graying out the field so it cant be changed.  This way, you couldn't overlap the end of color zone 1 with a value of like 11, and then start color zone 2 at 10.     I thought about having the ability to reorder these, but then I think you'd have to give up the sanity check...and that's probably not necessary anyhow since you can adjust the values and colors on each to match your needs.

#4
I'm not sure what the intended action is when this happens. 

I created a Custom Attribute at the Infrastructure Services Container with no value, and made it inheritable.  
I then set a value on a node (about 3 containers down). 

When I delete the Custom Attribute at the Infrastructure Services Container level, the VALUE of custom attribute on the node is deleted, but the Custom Attribute itself is still there.  

I would have expected:
A)  Deleting a custom attribute would remove it and the value from all child objects.
or
B)  Deleting a custom attribute would remove it from all child objects that have not been defined with a different value.

I would prefer  "B"..... If a custom attribute is removed, I would appreciate it, if it did not delete all values on child objects which are different than the value being deleted (i.e. if something is defined or has a override at a child object DONT delete it).    This could easily wipe out hundreds or thousands of custom defined values which could be nearly impossible to repair.  

But the current behavior I saw (I tested it a few times, a few different ways) was completely unexpected and not what I assume the intention was/is. 

As a side note feature request, there are a number of things in NetXMS which it will catastrophically let you do without warning.   More than once I have accidentally chosen a "delete" option on something, thinking I was removing it from a template, container, etc only to have NetXMS completely deleted the Node.  I realize this is ultimately my fault :-) but sometimes those late 3-4am nights get the best of me and I click without completely processing what is about to happen haha. 

Thanks!
#5
I'm receiving errors when compiling these two related Ubiquiti MIB files.  I did have to correct some issues in the UI-AF-60 MIB downloaded from Ubiquiti to get this far, but I still receive errors (which, seem to be superficial since I see the definitions in the MIB Walk).  Since it seems to work ok, it's not a huge issue other than the fact that the error messages annoy me hahaha, but I thought I'd report it anyhow in case this is part of a larger problem... i.e. my guess is that the NetXMS MIB Compiler is compiling these in the incorrect order or something. 

Or, maybe I'm completely wrong :-)

#6
Feature Requests / Merging / Combining DCI's
August 04, 2025, 05:51:57 AM
Templates are GREAT, but, occasionally we realize after the fact there is a "better" way to build something, or we have a new use case that requires us to split DCI's defined in templates into new templates.  
Currently, we can keep historic data by removing the template, but not removing the DCIs however this isn't really ideal since the graphs are wrong anyhow.  
I was thinking it would be pretty nice if a template would automatically merge two DCI's based on identical matching names and other fields.   This could be enabled or disabled somehow in the configuration, just in case someone didn't want this behavior.     I think the DCI's would need to match identically, 100%... as would be the case when you copy or move DCI's between templates. 
If something doesn't match, then they wouldn't merge and a new one would be created.   If that happened accidentally, say for instance if you copied a DCI to a new template and then changed the name and then applied it.... then you could fix this by manually merging the DCI's (after you fixed the name change on the old one), by multi-selecting the two of them, right clicking, and then going to "Actions > Merge" or something like that.  

Merging DCI's manually through the menu would do the same thing as the automatic method; it would check to ensure 100% of the configuration fields were the same, and then move the oldest set of data into the newer DCI.   A warning prompt for Yes/No and brief explanation of what will happen wouldn't be a bad idea either.  
Just for simplicity, you could only merge 2 DCIs at a time.  
I'm sure I could poke around in the database and do this in psql... but I'd rather there be an official NetXMS supported method haha :-) 
#7
General Support / "drill-down" option in Dashboards
July 30, 2025, 07:51:15 AM
In NetXMS dashboards elements, there is a field to choose "drill-down object"

I have attempted to use another dashboard as a "drill-down object" however, nothing happens when I click on the gauge.

How is it used, and what (if any) requirements are there to get it to work?

Maybe I am not understanding, but I assumed by adding another dashboard object as the "drill-down" on a gauge, I would be able to open another dashboard with more detail.  

Having said that, I also cant seem to get the Object Tools buttons to work either (the same tool works fine from the Node's Tools > Connect > menu )  So, maybe my dashboard click (or double-click) functionality is broken or not working.  

NetXMS 5.2.4 

Thanks! 
#8
I have a new 5.2.4 install, and I was just trying to get some of the initial stuff set up.  I was building some dashboards, and one of the DCI's polling from SNMP was giving me a value that needed to be /10  (It's a voltage, and the data polled from SNMP is like 578, when the voltage should be 57.8).    So, I go to the template to add the transform, and I cant get it to work (even though the test works fine).  I mess with it for a while, and then by chance I notice in the logs that there is an error every time I "start data recalculation" on the node's DCI.    I'm not 100% sure what I'm reading, but it seems that there is a column missing. 

Database query failed (Query: SELECT date_part(\u0027epoch\u0027,idata_timestamp)::int,raw_value FROM idata_sc_30 WHERE node_id\u003d245 AND item_id\u003d1094 ORDER BY idata_timestamp; Error: 42703 ERROR: column \"node_id\" does not exist\nLINE 1: ..._timestamp)::int,raw_value FROM idata_sc_30 WHERE node_id\u003d24...\n ^)"

I figured it was something that I was doing, but then I also noticed that 5.2.3 listed "#140 (SQL errors after converting database to TimescaleDB)" ...and this was installed as a TimescaleDB...  So, I'm thinking that maybe this is jut another, or unfixed bug in 5.2.4.   It was a new install of 5.2.4 though, so no conversions, or upgrades. 

Not sure if anyone can confirm, or point me in the right direction?   

EDIT:  I forgot to mention, that nxdbmgr check passes with no errors. 

Thanks!
#9
NetXMS seems to be an incredible tool, with a LOT of flexibility, configurability, compatibility, and features. 

However, the one area I have found that seems to be most lacking and almost unusable, is in the GeoLocation Maps.  Some of the immediate issues that I would have expected, but don't seem to be present:
1) dragging the map to move around
2) scroll wheel for zoom in and zoom out
3) multiple zoom level layers
4) automatic placement of objects based on the location properties of the object
5) no map layer configurability (hiding points of interest, showing satellite vs map view, etc)

I really need a different style of map/background, because many of the rural areas we work in do not have well defined roads or structures (I cant even find my locations in the default geolocation map in NetXMS, because they just show up as single color tan when zooming in).  I typically have to use satellite views for proper placement (or GPS coordinates).

My initial plan "fix" for #5 was to attempt to create my own background layer.  In my search for a way to do this, I found a third party product (I will not link here, in case it violates forum rules, PM me for details), which allows you to download tiles from thousands of map sources, and customize those maps by hiding elements, changing/customizing colors and layers, and generating single file images from those customized tiles. 

This product does save/output in various configurable formats of map/x/y/z.jpg So it should be relatively easy to adapt.

The problem I ran into was that, due to the large areas I need to reference, the images I created (even JPG) were multi-GB files which the NetXMS client doesn't seem to handle well.  The client would lock up, crash, or be unresponsive.

I continued my testing with a very small 1km square area to prevent the client issues with large backgrounds.

Additionally, due to #3 above, and not having zoom level layers, when using the zoom function in the NetXMS Client the images would of course become incredibly grainy and distorted and unreadable. They just looked really really bad. 

While using the third party product (which is a inexpensive one time license fee), I noticed that it was also able (with certain configuration choices) to generate an HTML file with a fully functional offline map, with all of my customizations and zoom levels.  It also allowed you to drag the map with the mouse, use the scroll wheel etc.   I then noticed that there were a few versions of this created, and I would assume using products which are open source/free to use. 
One folder is listed as "googleapi" and is likely version 3.8.2   I haven't verified the source for this, but I assume it's a google product.
Another folder is Leaflet, free to use and distributed under the BSD-2 Clause license.
Another folder is Openlayers, free to use and distributed under the BSD-2 Clause license.

Any of these three look like AMAZING options and improvements over the existing, and when paired with the third party product would allow for nearly complete map customization. 

Ultimately to use these (especially with zoom levels), #4 would need to be fixed.  With thousands of objects, it's not possible to manually place everything and then re-place them every time a map change occurs.  I have to say that this was actually very very surprising to me, as I assumed the location property of an object was specifically FOR mapping. 

Additionally, because of the above, there is no ability to have mapping for mobile/moving objects like vehicles or semi-mobile assets such as trailers, tanks, heavy equipment, etc. 

I am not sure if I can use the HTML file from the third party product as a map background.  I believe I would be limited to a single zoom level, since NetXMS wouldn't be able to handle the location/coordinate changes of the objects as I zoom in and out, but this would give me a start. 

I did see that there is an option for running my own OMS, however this almost seems like overkill since I can apparently do so much of what I need in a client-side folder using HTML and JavaScript libraries. 

I believe I read/heard that there are major mapping improvements coming in 5.x so I'm not sure if some of this is already in the works but I am struggling with a basically unusable map in it's current state. 

Thank you for your consideration!
#10
Is this not a valid subnet for Network Discovery?
(It seems to want to change it to a /24)

https://ibb.co/D41q05K
#11
I'm not sure if I'm doing something wrong, or if things are just broken; I'm not having much luck with mapping.

I created a map with the background set to Geographic Map.  I then set the GPS coordinates.  However, the map displayed is something totally different:
https://ibb.co/dbVqwM7

I guess that is problem #1.


My second problem, is that objects don't display based on the location set in the object properties. (although if the problem #1 above is broken, then this problem #2 is never going to look right). 

Shouldn't objects appear on the Geo-location Map based on the location set in their properties?

My third issue is that (I assumed) setting a location (or location details like city, district, zip code, etc)  on a container would push those values down to lower level objects, including location/GPS details.  If all objects in a container are at the same location then wouldn't setting the values at a higher level cause them to be set automatically on the lower level object?
#12
I've been able to figure out how to poll a lot of information from SNMP, but as I'm trying to dump this into dashboards, I'm receiving the following error:

Cannot read measurement unit information: Illegal repetition near index 28
.1.3.6.1.4.1.41112.1.4.7.1.3.{instance}

Some google searching reveals that the java implementation of regex requires \\ before the { however with various attempts/changes and more searching, I'm not finding anything that works and doesn't break what I already have working :-)

Since I don't quite know what I'm doing, I'm not sure if this is an issue with the script in Instance Discovery, or if there is a bug of some sort when building dashboards, that doesn't like an SNMP OID that references {instance}. 
#13
General Support / "Dashboard" Tab for Node
June 08, 2023, 06:02:44 AM
I see where dashboards can be created globally, but I'm not seeing similar functionality for a Node.   The "Overview" sort of serves this function, but as best I can tell, the Overview tab is not editable, and doesn't display graphs, and you can't rearrange anything that is on it in a way that would best display information (to us). 

I've tried to put data that I've polled via SNMP into the Performance tab, but I think the Performance tab only shows graphs?? (I was able to display txt/string values in a Dashboard via a gauge). 

I guess I was thinking that I could build dashboards within a template (or reference a dashboard that I had created as a template) and then have that dashboard available for each Node. 

Or, is there a way to automatically generate Dashboards for every Node, and then filter and group Dashboards?

Sorry I'm very new at this so my thoughts may not be clear or correct on any of this, and sadly, my scripting/programming skills are pretty limited unless I see examples or something similar (or two similar examples I can mash together).

Thanks!