MIBs, Discovery, YAML

It’s there any kind of resource, tutorial, blog, video or anything that explains better than the single spartan example in the documentation what to do with mibs?

According to the docs It is clear that a yaml file needs to be created manually, and according to this forum one has to look in examples here for “inspiration”, please don’t take this the wrong way, maybe I’m just too illiterate, or I don’t know the first thing about how github works, but I couldn’t find any example there.

I understand that Librenms needs some “instructions” aka the yaml file to know what to do with the mib file, but since we all buy from the same finite pool of hardware, seems ridiculous to me that every user of the same hardware has to manually make the same yaml file, which doesn’t seem something one (me) can just wing it, here’s my point (from the docs):

modules:
os:
sysDescr_regex: ‘/(?MSM\S+) .* Serial number (?\S+) - Firmware version (?\S+)/’
features: UPS-MIB::upsIdentAttachedDevices.0
hardware:
- ENTITY-MIB::entPhysicalName.1
- ENTITY-MIB::entPhysicalHardwareRev.1
hardware_template: ‘{{ ENTITY-MIB::entPhysicalName.1 }} {{ ENTITY-MIB::entPhysicalHardwareRev.1 }}’
serial: ENTITY-MIB::entPhysicalSerialNum.1
version: ENTITY-MIB::entPhysicalSoftwareRev.1
version_regex: ‘/V(?.*)/’

this clearly isn’t just english… I’m absolutely incapable of making my own yaml for my mibs, I’m not a quitter, I just recognize my limitations, this is way outside of my current knowledge and capabilities.

With all that said, is there, or are there any plans to make some sort of repository so we can download (or librenms itself) pre-made yaml files for known or popular devices? I kinda refuse to believe I’m the only librenms user that is using Fortigate 100F or Asustore AS6104T.
If this isn’t going to happen, would any of you reading this please confirm my suspicious that librenms is very user friendly unless you want to use mibs, in which case you need to know A LOT about yaml for at least make it work so I can settle the argument with my coworkers?
They all insist I’m just “not looking in the right places” and that it is ridiculous that you don’t just upload the mib somewhere in the librenms device page and “let it do its thing”
Thank you for your time, keep up the good work and please excuse my language if I don’t sound very friendly, english is not my native language and I’ve been told I sound a little rude sometimes.

Preface - I have not done much in Librenms with Mibs and yaml’s, https://community.librenms.org/t/emerson-liebert-vertiv-pdu-not-showing-power-graphs-for-individual-ports-2/ is about it and that was fairly simple due to a preexisting yaml file i could extend.

On the other hand I do understand why not all of the thousands of vendors and tens of thousands devices ware already included in LibreNMS - because its just a ton of work and there are not enough people doing work and just too many things in queue already…

A mib can contain hundreds of Object IDs that might or might not change based on hardware or software releases or license features. If you don’t have hardware to test its quite difficult to develop a yaml file (which maps oids to predefined interfaces) which will work with a single device let alone a group of devices.

Now I think the starting point is the documentation (Intro - LibreNMS Docs) which is unfortunately not labeled very clear - basically what is meant by new OS here is any new device (type).

What you basically have to do is to look at your device, check what information you want to see, check which OID provides this information and add that in the appropriate yaml file section.
O/c there is a bit more to it, but thats the basic steps.
I would recommend to look at the other discovery yaml files to find example how it is done, ideally for a similar device type or if you cant find/have any then for another piece of hardware that you have…

Hope that helps,
cheers

p.s. If you have no idea of snmp/mibs and regular expressions then you might have a hard time … that excerpt is actually fairly simple (to read, not necessarily to create), it reads a string with a regular expression into the SysDesc field of the OS part, then reads an OID into features (called by name instead of number representation), same for the hardware details…

You know, first of all I thank you for your answer, so many posts here die without a single answer, and yours hits the nail, the “If you have no idea of snmp/mibs and regular expressions then you might have a hard time” part is missing “yaml” in there, I already managed to grasp the idea of what needed to be done (where you start with “What you basically have to do…”) but my problem is the absolute lack of knowledge neccesary to do this myself, before I started using librenms out of neccesity my knowledge about SNMP was the first paragraph of wikipedia, and that was it (It hasn’t changed much ever since tho, just a bit).

So mibs are neccesary to get additional (non basic) info on the device, and each requires a tailor made yaml, but doing it yourself is not indispensable to use librenms, you can just monitor the device with the info provided by default, so you don’t need to know how to yaml and snmp yourself, but if you do, you’ll get a bunch of extra info.

And since I cannot yaml and snmp for the lie of me… (I spent the las two days reading mibs and yamls from my librenms, and I can’t make head nor tail of it)
But I’m more than happy with the info provided by default, I managed to understand the very basics of snmp extend to add apps for some linux servers and I’ll call that a win, cut my losses and move to other stuff, mibs and yaml can wait to my next reincarnation, or a lot of free time after my retirement, some day.

Nevertheless, credit where credit is due, after trying other alternatives (I’m looking at you Zabbix) Librenms turned out to be an outstanding product, and since they provide a working out-of-the-box- ova to depploy, is very easy to get it up and running and its near full automatic detection without even knowing what an uuid is, is simply great (I AM LOOKING AT YOU ZABBIX!).

Honestly tho and jokes aside, I’m not an expert (clearly) and I haven’t tried that many competitors, but frokm the buch I’ve tried, Librenms turned out to be the best for it’s amazing balance between making the user’s life esasy, and allowing him to do whatever he wants if he knows how to, the forums could use a bit more love tho, the amount of posts that die without a single comment is saddening.

For the forseable future I’ll stick with Librenms, I have it deployed at work, at some clients network, and even at home in a container, it just works great, does what it promeses, and does it well.

Thank you again!

Actually if you do have a working basic set then it should not be too hard to add extra information to it…

Just get a Mib Browser, the mibs for your device, load them, point the browser to your device and then try to find the information you are looking for. If you find it, simply extend the existing yaml file.

In the end thats what i did and that part was actually easier then trying to get it into LibreNMS itself unfortunately - i have not managed that yet while the changes i did run happily on my box …

But yes, SNMP is a different (old) world, but its not rocket science :slightly_smiling_face:
I have been running LNS for years without changing the defaults (except weathermaps a while back), but at least you can change things if they bug you;)

But o/c not wanting / being able to spend a lot of time on this is understandable :slight_smile:
Good luck

Not wanting is not the problem, I spent my life teaching myself how to do things, everything I know about “computer stuff” I learned on my own and made a career out of it, even english (clearly not my main language), the problem is the time available, learning on your own, without guidance like on a course or school, is hard, and painfully slow, cause everytime you find something you don’t know/understand you have to stop, go research that, and while doing that you find some other thing you don’t know, and down the rabbit hole, and this thing with snmp/yaml/ooids is vast, and hugely time consuming, and honestly the reward (in my particular case) is negligible, I’m not young anymore and I have to prioritize, there are other projects/things that are more important/rewarding for me at the moment, and as I stated, it works well enough as it is, it was a huge improvement to the company I work for over the previous monitoring system that was basically wait for someone to call complaining something broke or doesn’t work anymore, boss is happy, I’m happy, so that’s enough for now.
Thank you again!

1 Like