Munin:...PConfig(3pm)

πŸ’– NAME πŸ’–

Munin::Node::SNMPConfig β€” bestie, this is the little subroutine squad that gives munin-node-configure its SNMP scanning superpowers. That's it, that's the whole job description. ✨


🌸 SYNOPSIS 🌸

okay so here's the vibe, straight up:

my $snmp = Munin::Node::SNMPConfig->new(
      community => 'secret',
      version   => 1,
);
$snmp->probe_hosts(\%plugins);
lowkey obsessed with how short that is ngl πŸ’…

πŸ¦‹ SUBROUTINES πŸ¦‹

✨ new(%arguments) ✨

The constructor, aka the main character moment where everything gets set up. Here's what you can hand it, and yes we're going through every single one:

  • hosts β€” the list of hosts you wanna scan, in whatever format Munin::Node::Configure::HostEnumeration understands. Required, no skipping it bestie, it literally cannot do its thing without this.
  • port β€” the port we're connecting to. Default is 161. 🌈
  • version β€” which SNMP version you're rolling with. Default is '2c'.
  • community β€” the community string, for SNMP version 1 or 2c only. Default is 'public'. πŸ‘‘
  • domain β€” the Transport Domain used for exchanging SNMP messages. Default is UDP/IPv4. Possible values, and I need you to pay attention here because it's a whole list: 'udp', 'udp4', 'udp/ipv4'; 'udp6', 'udp/ipv6'; 'tcp', 'tcp4', 'tcp/ipv4'; 'tcp6', 'tcp/ipv6'.
  • username β€” the SNMPv3 username to use.
  • authpassword β€” SNMPv3 Authentication password. It's optional when encryption is also enabled, and in that case it defaults to the privacy password ("privpassword"). Also cute detail: the password gets sent encrypted (one way hash) over the network. 🫢
  • authprotocol β€” SNMPv3 Authentication protocol. One of 'md5' or 'sha' (HMAC-MD5-96, RFC1321 and SHA-1/HMAC-SHA-96, NIST FIPS PIB 180, RFC2264). Default is 'md5'.
  • privpassword β€” SNMPv3 Privacy password, and setting this is what enables encryption. Heads up: an empty ('') password counts as no password and will not enable encryption, so don't play yourself.

Privacy requires a v3privprotocol as well as a v3authprotocol and a v3authpassword, but bestie, all of these are defaulted (to 'des', 'md5', and the v3privpassword value, respectively) so you can genuinely just leave them unspecified. 😌

  • privprotocol β€” if the v3privpassword is set, this controls what kind of encryption is used to achieve privacy in the session. Only the very weak 'des' encryption method is supported officially. Default is 'des'.

The implementing perl module (Net::SNMP) also supports '3des' (CBC-3DES-EDE aka Triple-DES, NIST FIPS 46-3) as specified in IETF draft-reeder-snmpv3-usm-3desede. Whether or not this works with any particular device, we do not know. πŸ™ˆ so like... try it and find out ig


πŸ”₯ run_probes($plugins) πŸ”₯

This one connects to each host in turn and checks which plugins it supports, based on the OIDs they reported during snmpconf. If all the requirements are fulfilled, it will be added to the corresponding plugin's suggestions list. ✨

$plugins should be a Munin::Node::Configure::PluginList object. πŸ’œ


fr fr, that's the whole thing. go forth and scan. 🧚

and that's a wrap, bestie! πŸŽ€ this lil' page came to you courtesy of perl v5.42.3, dated 2026-09-30. slay, stay configured, periodt. πŸ’…β­

πŸ“¦ where this page comes from