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

#106
General Support / Re: MIB collection
June 01, 2019, 08:23:20 AM
Here is the combination of mibs required for CISCO UCS for DCI polling and trap processing. I have not yet created any templates or trap processing in netxms yes  - I just made sure it complies :)

To understand CISCOs logic regarding their mibs - read their faq.
https://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/9226-mibs-9226.html
#107
How big an issue is this? Let me show you :)

I get traps from CISCO UCS that are 12 lines long. You want to read them line as that is the way CISCO designed them to be read. You also need the varbind dscriptions so as to make sense of what each of the 12 varbinds represents.

The MIB lists each one of those 12 objects - but only as their text objects. The Imports will include the OIDs for the text objects - but NetXMS does not Import either the text names of those objects or the OIDS of the objects. To do so manually is nearly impossible and the much simpler way would be simply to have a trap sent - and then use the trap log browser to find the OIDS.

That still leaves four huge problems.
Problem 1: The text descriptions of the objects need to be entered manually.
Problem 2: I cannot duplicate an existing trap in order to use the already filled out varbind object descriptions.
Problem 3: Even once they are entered, because only the values of the objects are passed across, all that effort to type in the description is wasted as it is not passed through to Event Configuration nor is it made available in Event Processing Policy to be included. I have to manually enter them all over again.
Problem 4: The message field in event processing policy would need to have the text of each of the varbinds entered in full plus the parameter plus a 'n for a new line. Being a field of about 40 characters visible and I would need to input up to 300 characters or even more, Event Processing Policy is simply not designed for that.

Now, as much as I am willing to do the hard yards to add things, the restrictive input regarding traps makes this aspect well past daunting, to the point of simply not practical for traps like these from CISCO.

Given that the OIDs for these traps are not obvious - but that the select option is looking up the textual representation of the mib AND it does know the textual varbind objects from the mib - is it not simply just a matter of having another box - "load varbind objects from mib" and automatically look up the OIDs of those varbinds in the mib and populate the trap table?

This also loads up the OID and text explanation of the object. For example - parameter 3 is %3 with %oidN3 and %oidT3 containg the OID number and text. Pass these through Event Configuration into Event  Processing Policy and Actions Configuration so they can be displayed as intended.

I have attached how it looks in the mib, how it looks in a different NMS from a configuration definition - and how it actually looks when a trap is received in a NMS and what it is supposed to look like.




#108
OK - the formatted view - one line at a time - already exists. All I needed was the \n to trigger a new line.

As for text version of the OID - it may be the comments field for varbind as per the wiki - however I suspect it is the comment for the varbind only and the trap description is not kept anywhere.

https://wiki.netxms.org/wiki/NXSL:SNMP_VarBind

As per the wiki, the comment may have that information when polling, but when passing trap information, it is not passed.

Only the varbinds are passed - as per the SNMP Trap Mapping - each varbind is mapped to a parameter and it is the parameters only that are passed.

given that you can only have 255 paramaters, why not pass the OID numerics and text as variables relative to th parameter assigned.

For %1 also pass %oidn1 as the OID numeric and the OID text as %oidt1

As for the Description that is in the mib for the trap - pass that as %trap-description as well as including the option in the SNMP Trap Mapping to manually add it - and if loading from a mib - automatically pull it from the mib.
#109
yep - imatch works :)
#110
General Support / Re: MIB collection
June 01, 2019, 03:24:34 AM
Two more mibs.

powernet426 is newer version of the APC mib (powernet.mib.txt). 13 years newer :)

netbotzv2 is used by the APC struxureware controller for APC in-row PDU's and chillers.

Schneider has not amalgamated them into their ecostruxure product set mib that they currently sell these products under so should last for quite a while longer.
#111
General Support / Re: MIB collection
June 01, 2019, 02:32:01 AM
CISCO UCS uses the call home mib. Needs the additional and updated mibs from 2.2.15 (nx-1637 fix) if you do not have them already - CISCO just loves doing imports :) . I built this prior to 2.2.15 and is working for me with the mibs I already had, plus a few that needed newer versions, so if any issue - post it here.

OCS mib is for anyone using Tidal scheduler and sends traps. Fixed the missing import statement. There are 14 varbinds in the trap.
#112
I added a switch which picked up the Catalyst generic driver - but - why no DCI items?

When I add DCI at the individual interface level - I can see the output in the Last Values window - but nowhere else.

Am I completely missing something - like a template?

I assumed that the driver gave me template like benefits - but am I incorrect?

If I am incorrect - are there no sample / example templates for switches and routers?

As I have added the DCI items on the interfaces - but cannot see them anywhere other than in last values - how can I display these under performance - etc..?
#113
Done - all working!!

Overkill to have this on the Overview page - but doing so just to demonstrate it working on an 8 CPU server.

Victor and Tursiops - thank you both - a fantastic outcome :)
#114
OK - Rule 1 of every thing I do - WAIT 5  minutes!!.

#115
hmmm instance-name perhaps - let me see.....

Nope - which makes sense.

The instance name of each CPU is the OID of that CPU - which means I need to insert that last octet of the OID into the Description field. $1 does not work - shows as $1 and instance-name returns 0.

Stumped again :(

#116
Victor,

Again what can I say - your assistance is immensely appreciated.

It is in and live already - but - it did not enumerate the instance name in the title like it does for my file system equivalent DCI.

Did I miss something?
#117
OK - one more silly question - but that's it (for today)

How would I collect and show each individual CPU load and show it? 

I don't need it for the overview page but it would be handy as there are times when a process goes 100% CPU on a processor - but overall, being under 50%, will not trigger my combined 70% busy exception.
#118
Thanks Victor.

Apart from being a legend for having such a fantastic product - your 17 lines of code has - again - made my day!!.

I have it implemented in two versions - one as a script and one as a SNMP monitor against .1.3.6.1.2.1.25.3.3.1.2.3 and simply using that code in the transform to provide the answer.

My Windows SNMP template now has the following: (see picture as well)

File system by instance - Total / used /  % used
Physical and Virtual memory (via file system instance DCI )
sysuptime in days - string and floating point.
CPU % Busy as a script and as SNMP DCI via transform.

#119
General Support / Re: Popularity
May 29, 2019, 04:25:42 PM
Over the last 15 years I have used or tried many, many NMS. Ironically, I stumbled onto Netxms when I went looking for an old favorite "the dude", having become frustrated with the latest NMS we are using. We seem to have the knack of finding NMS solutions that are either become too expensive, become split into numerous products, discontinued when vendor buys new NMS and tries to force swap to their latest NMS - and the latest - cannot handle SNMP traps with special characters - a comma or a forward slash.

I have spent a week now with Netxms and to be completely honest - I was just about to give up and move on again. As Tursiops correctly points out - without templates, Netxms is hard - really hard. I know SNMP traps and I know SNMP - but I do not know Netxms and as powerful as it is - intuitive is certainly not one of its features.

Why am I still here? - Tursiops - plain and simple. I have a couple of thousands devices that I use SNMP to monitor yet there was no SNMP template. I was surprised and shocked. First off though - SNMP traps. There is so little out there that does this well. CA Spectrum lost its best friend in CA Ehealth who got EOL. ORION has a trap listing, OpManager cannot handle special characters, NNM scrolls just one line at a time - BUT - NetXMS looked promising!!

I imported my unique mib I built. Even though I had formatted it as per RFC and all descriptions and fields declared, NetXMS requires each trap to be manually and painstakingly entered for each parameter. As bad and as horrible a time wasting task that is - the upside is that I was able to get it loaded - and see what my traps looked like.

First off - send some traps with special characters. No point beating around the bush - either it can handles it or it cannot. Passed with flying colors!!! Absolutely fantastic.
Second off - I want traps from my Production devices to have a different severity than my Dev devices - or at least be able to filter them somehow. Absolutely fantastic again!! I created containers using includes and matchs / imatch and !imatch - option 2; and then worked out how to use event processing policy to create one policy for Prod and a different one for Dev. Option 1 solved. Again - Tursiops assistance was required to get syntax working.

Even though adding trap processing is incredibly manual - unnecessarily so (the mibs have the oids for each trap - just import them by default) - I had the minimum that I needed.

So what was I to do about the lack of templates for SNMP - start from scratch? - yep!!. Tried that and after asking about why no SNMP template was included - a miracle!! - Tursiops mentioned that there used to be a Linux template. As Windows SNMP and Linux SNMP are both based on RFC 2790 - that "old" template held out the hope that usability would be possible without the monstrous learning curve envisioned.

Tursiops was kind enough to locate that template and posted it. Ten minutes after I saw that - it was downloaded, imported, in and running!!! Linux - was now covered!!
For Windows - I have copied across the file system DCI which is working perfectly for file systems and memory(with a little mod of my own - unassisted!!). CPU is "in progress"

Even though NetXMS solved by trap processing problem - the lack of basic templates for Windows and Linux for SNMP would have been a show stopper. Yes there were templates for agents - but agents are another level of complexity. If I was going to be forced into agents, I would have probably gone Grafana / Prometheus and wmi export etc..

All I wanted was decent snmp trap processing and basic snmp monitoring - CPU / Storage / Memory. Once I get the Windows CPU worked out, I will have that.

For the many sites in the world that needed a SNMP based CDM monitoring option once CA Ehealth (snmp based CDM monitoring) went EOL 2 years ago - NetXMS would have been a fantastic drop in solution - if it had those two simple templates - Linux and Windows.  It is  a fantastic product with great capabilities - but getting started is just too hard.

I was lucky - I was annoyed enough with traps to persevere - and the miracle of Tursiops with the template meant that I could get over that initial hump.

Whats next? - if / when I get the Windows template up and working - customizable thresholds by mount point included - I might just see how many of my other monitoring products
NetXMs can replace in addition to the three I am currently looking at.
#120
Persistence does not overcome ignorance  :'( :'( - four hours later I accept defeat.

OK - so I walk .1.3.6.1.2.1.25.3.3.1.2 and I get two OID's for my two processors. .3 and .4

I can add each OID as a parameter individually and they return the CPU load for each one.
I can add a table and point it at .1.3.6.1.2.1.25.3.3.1.2 and it loads the CPU load for each CPU into the table.

The above - although working - is completely useless to me :( - it just proves that close is not close enough :(

If I try and add .1.3.6.1.2.1.25.3.3.1.2.{instance}  then I get unsupported error. This is so it can be used on a template and be number of CPU's independent.

Though I would be happy with the outcome from the table if it gave me the AVG of the table - that gives me the device average CPU load -  I cannot seem to work out how to do that.

Why do I persist??

Once I have this working - I will have my first cut of an implementable default Windows template built as I have Memory and Drives already working. It is just this - soooo frustrating :(

https://wiki.netxms.org/wiki/Creating_SNMP_table_DCI did not help enough. It got me to columns but other than having the values in the columns - I could not give them the ID's of the CPU's.

My preference would be to have the CPU's listed using instance type of DCI - and to have a summary transformation somehow.