Network Interface ID Persistence or: How I Learned to Stop Worrying and Love SNMP_Network_Interfaces
RE issues like these: How is everyone else handling network interface ID changes? | LogicMonitor - 14445 Network Interface - Duplicates/Nulls | LogicMonitor - 15666 This is a very common customer issue when the device either does not support, or is not enabled with, "snmp ifindex persist". This can cause duplicate DataSource instances being created when these IDs are updated. The ultimate fix here is to enable snmp ifindex persist, but that might not be an option. For just a bit of context, the ifIndex is the only thing that is guaranteed to be unique across all vendors which is why it is the WILDALIAS (unique identifier). All this to say, there is no one-size-fits-all solution. Our module team made this choice to lower the potential risk of losing data and to provide the most reliable core/supported solution. I'm creating this post in hopes of providing people with options and help lower the number of support tickets we see about this 😁. This post assumes the reader understands the basics of Active Discovery and the difference between wildalias and wildvalue. This is a great learning resource: Introduction to DataSources 🚨Now entering unsupported territory! 🚨 Since I am in Support, I am obligated to mention that the following solutions arenot supported by the LM Support team. Customers should exercise caution and thoroughly test any and all workarounds within their sandbox portal. We highly highly recommend cloning the core "SNMP_Network_Interfaces" DS first! You will very likely lose historical data. I'm also only going over this using "SNMP_Network_Interfaces" and not the DS for Windows or SSH interfaces. You have been warned. Alright already... so what's the fix? Well, there are 2 main workarounds. Option 1: WILDVALUE as ifName and unique identifier Portal version 204 had an update for the DataSource "SNMP_Network_Interfaces" to allow using ifName instead of ifIndex for the instance WILDVALUE with the host property "interface.wildvalue.ifname". Release note mention: https://www.logicmonitor.com/release-notes/v-204-release-notes#h-updated-logicmodules Mention in SMNP Network Interface Monitoring support page: Mention in "SNMP_Network_Interfaces" technical notes: So that's all cool, BUT (and this is crucial) the unique identifier for instances is still the WILDALIAS which remains unchanged by this whole thing... You will then need to toggle on "Use Wildvalue as Unique Identifier" within the DS settings: *** This isNOT reversible and will result in loss of historical data. Also, enabling this on a core module will impact your ability to import updates to that module. *** Ok, sorry just really have to make sure that's super clear... After that, you should be all set. If the ifIndex updates, the WILDALIAS will update with the new ID but the WILDVALUE will remain the same (unless for some reason the ifName also changes) and no new instance discovered. YAY! 🎉 Option 2: Change the Active Discovery script This is certainly the more flexible workaround. I mean you can update the Active Discovery script to do literally anything. The simplest change is to just remove the ID from the WILDALIAS. Again, be sure to CLONE the DataSource first! That would look something like this. This line (around line 320): def alias = "${ifEntry.description} [ID:${ifIndex}]" would be updated to be: def alias = "${ifEntry.description}" of course there are other potential tweaks but this is all very much dependent on the environment and each device. For example, with this specific edit, the uniqueness is now dependent on the interface description which, as previously mentioned, might not be unique. You can set this 'alias' variable to the ifName or something totally different if you really want. But, again, you should be all set. YAY! 🎉 In both scenarios, I would recommend only applying this cloned version of the SNMP_Network_Interfaces to devices that don't have the option to persist the ifindex and keep the core version applied to all other devices. Feel free to share any other workarounds you may know of or are using!139Views12likes2CommentsDisplay more details on graph datapoints
Many of the graph points in LogicMonitor hold descriptions of what the data supports. IE: for status 1=OK, 2=Down. Some of these are very long descriptions and when users are mousing over the graph they can only see a bit of this information. In order form to know what all the options are, they have to dig into datasources to figure out what is being reported. I suggest to either expand the data to show everything when you mouse over the datapoint, or allow a function of the graph to extend the side and print the description off the side of the graph if the user wants to see. This can be used in so many ways and is much more user friendly then having a user dig into the bowels of the tool to find what a number like 8 means when collected.0Views1like0CommentsInterface Utilization Graphs in percentages
We have a need to build interface utilization graphs in both BPS and Percentages. We are a Managed Service Provider and most of our customers want graphs in percentages instead of or in addition to the default LogicMonitor datasource graphs in BPS. So far I haven't found anything in the knowledge base telling how to do this. Having said that most of the other monitoring systems I've used give the option of displaying this perf data in both formats out of the box7Views0likes3CommentsCustomized Juniper Interface datasources
I've published these customized interface datasources for use with Juniper Networks' switches and routers. Combined with additional snmp configuration of the devices, these have helped make Juniper devices a little easier to deal with. I think there is much room for additional customization to permit further grouping. NOTES: in all three the Collection schedule is unchanged but the Discovery period has been reduced to the minimum (10 minutes), which may not be necessary for all use-cases/environments. none of the default datapoints (normal and complex) were removed or edited in any way "snmp64_If_juniper_VCP_interfaces" does not capture every single VCP port in VC larger than 2 members. Additional investigation is needed to understand how Juniper makes VCP accessible via snmp, and whether or not it is possible to discover and monitor every such instance. snmp64_If_juniper_logical: MM6C96 snmp64_If_juniper_physical: WZ2AZC snmp64_If_juniper_VCP_interfaces: YZ42H76Views0likes0CommentsAuto assign interface to instance group
Hello All, I have been tasked with creating a new datasource that will assign a device's interface to a specific instance group based o the description of the interface. Is there a way to auto assign the interface using the description LM pulls from the device? For example, if you look at the attached picture, you will see there are two instance groups, Critical Interfaces and Unmonitored. We would like to be able to have LM automatically assign an interface to the Critical Interface group if the interface has "CI" at the beginning of the description. All other interfaces would automatically be assigned to the unmonitored group if they lack this designation.4Views0likes1CommentTop N Interface Report Option on Bandwith Report
Have the ability to select on the Bandwidth Report the Top N (10, 50, 100) Interfaces for Utilisation based on the Average. Many of our customers are only concered with highly utilised lines for capacity puposes, and dont want to see every interface thats monitored. Additionally a nice to have would be to be able to filter against the Interface Description / IfAlias so the we can report only on things labelede.g. "ACCESS" circuits0Views0likes0Comments