Munin::Node::SNMPConfig(3p)

NAME
Munin::Node::SNMPConfig - Subroutines providing munin-node-configure's SNMP scanning capabilities.

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'.

    domain
        The Transport Domain to use for exchanging SNMP messages. The default is UDP/IPv4. Possible values: 'udp', 'udp4', 'udp/ipv4'; 'udp6', 'udp/ipv6'; 'tcp', 'tcp4', 'tcp/ipv4'; 'tcp6', 'tcp/ipv6'.

    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.