New Cisco-Meraki sysDescr

Confound it. I’m at a loss as to what to do with these darned Cisco 9300’s that are trying (poorly, I might add) to be Merakis but, instead, show up as Generic.

snmpwalk <yada yada> sysDescr
SNMPv2-MIB::sysDescr.0 = STRING: C9300 - 48 Cisco UPOE, Modular Uplinks

Just toss 'em in the Meraki yaml? Suggestion appreciated.

discovery:
    -   
        sysDescr_regex:
            - '/^Meraki MS/'
            - '/^C9300/'

Well, that kluge will hold till we get a better solution. (Doesn’t work, but shows up as Meraki)

Of note, there is 1.3.6.1.2.1.47.1.1.1.1.2.1.

SNMPv2-SMI::mib-2.47.1.1.1.1.2.1 = STRING: "Meraki Switch"

These running IOS XE?

What is the sysObjectId?

Hello Laf, thanks much for reading my post! These do not run XE. As far as I can tell, Cisco bought Meraki, killed off their line of switches, and is now trying to make the 9300 into a Meraki. For sysObjectId on this C9300-48UN, I get:

SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.29671.2.388

On an older C9300-24UX, running actual ios xe, I get something totally different:

SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.9.1.2494

Let me know what I can provide, and thanks for your reply!

So this boils down to what software they run and how we detect it.

From my quick research it looks like it’s called CS (48 port model (C9300-48UN) CS 16.3) Product Firmware Version Restrictions - Cisco Meraki Documentation

So, we need a new OS with detection for these :slightly_frowning_face:.

We’d need a full snmpbulkwalk output so we can add support, please see our FAQs for how to do that.

Sure thing Laf, here’s a bulkwalk:
https://p.libren.ms/view/25de37e8

Please let me know if there is anything else I can do to help, and thanks for you help!

Should I open a feature request? Do you want a discover and poller output? Thanks for your assistance!

Give this a try: Added Meraki CS device detection by laf · Pull Request #16777 · librenms/librenms · GitHub

Thanks, Laf! The interfaces show up as mac_addr:number instead of just number which is a little weird. Besides that minor weirdness, it seems to work just fine.

I’ve updated the pull request to use ifAlias for the port descriptions, if not set they will fall back to what you see now which is garbage from Cisco!

Thanks again, Laf!

At the brazen risk of sounding ungrateful, I’m now thinking the way you had it before is better than ifAlias because it does give you that port number. A shame you can’t split on the ‘/’ and take the second element in the list. However, “mac/number” instead of simply “number” is very minor annoyance. As a Cisco user, one must learn to always be content with “The Cisco Way” of doing it, and it would be well to do so rather than asking busy LibreNMS people to kluge what might change next month without warning!

I’m ok to revert it back or it can be altered on your local install anyway.

I could also do a work around in the ports polling code but that just seems excessive.

I’d revert back the ifAlias change only, ifAlias just gets us the description. (Maybe somebody wants that, but not me) Thanks Laf!

(Raises hand sheepishly)
Um… I’m a little confused. Why’d you change .1.3.6.1.4.1.29671.2.388 to .1.3.6.1.4.1.29671.2.38 in that last commit? Better yet, why does .1.3.6.1.4.1.29671.2.388 not work when that’s obviously the sysObjectID?

I don’t get any port graphs on the newest commit. Pulling my hair out trying to figure out why.

388 → 38 was just a mistake, fixed in the pull request.

Ya, see, that’s the thing I don’t get, Laf. I reverted back to merakics because I couldn’t get your latest changes to show my port graphs.
I set:

discovery:
    -
        sysDescr_regex:
            - '/^C9300/'

Of course, that Kluge works just fine. I set it wrong:

discovery:
    -
        sysObjectID:
            - .1.3.6.1.4.1.29671.2.38

Also works. I set it right:

discovery:
    -
        sysObjectID:
            - .1.3.6.1.4.1.29671.2.388

And the device turns “generic” on me! Now, by this point, I’m sure you opinion of me is quite similar to my avatar. But, I’m pretty sure I’m not crazy, the os shows “Meraki CS” in Libre. :face_with_diagonal_mouth: :man_shrugging:

The update has been merged in, remove the changes (./scripts/github-remove -d will do that if you have NO other local changes or files as it wipes everything out back to default) then upgrade and see how you get on.

Yeah, I’d respond that way too if I were you. It’s not that many changed files. I’m pretty sure it doesn’t work, but I’ll need to dive deeper to figure it out. Till then, thanks for the help Laf, always appreciated!

I’ve re-run the device in my simulator and get ports ok