Munin::Node::SNMPConfig(3) Subroutines providing munin-node-configure's SNMP

SYNOPSIS


my $snmp = Munin::Node::SNMPConfig->new(
community => 'secret',
version => 1,
);
$snmp->probe_hosts(\%plugins);

SUBROUTINES

new(%arguments)
Constructor. Valid arguments are:
hosts
The list of hosts to scan, in a format understood by Munin::Node::Configure::HostEnumeration. Required.
port
Port to connect to. Default is 161.
version
The SNMP version to use. Default is '2c'.
community
The community string to use for SNMP version 1 or 2c. Default is 'public'.
username
The SNMPv3 username to use.
authpassword
SNMPv3 Authentication password. Optional when encryption is also enabled, in which case defaults to the privacy password ("privpassword"). The password is 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). The default is 'md5'.
privpassword
SNMPv3 Privacy password to enable encryption. An empty ('') password is considered as no password and will not enable encryption.

Privacy requires a v3privprotocol as well as a v3authprotocol and a v3authpassword, but all of these are defaulted (to 'des', 'md5', and the v3privpassword value, respectively) and may therefore be left unspecified.

privprotocol
If the v3privpassword is set this setting controls what kind of encryption is used to achieve privacy in the session. Only the very weak 'des' encryption method is supported officially. The 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.

run_probes($plugins)
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 added to the corresponding plugin's suggestions list.

$plugins should be a Munin::Node::Configure::PluginList object.