1
0
Fork 0
mirror of https://github.com/munin-monitoring/contrib.git synced 2025-07-21 18:41:03 +00:00
Munin-Contrib/tools/munin2snmp
2016-12-06 18:42:20 +01:00
..
MUNIN-MIB Add munin2snmp, snmp agent for querying munin-node plugins over snmp 2016-12-02 15:19:44 +01:00
munin2snmp Read options from a config file or as the programm arguments, update POD 2016-12-06 18:36:33 +01:00
README.pod Update README.pod 2016-12-06 18:42:20 +01:00

=head1 NAME

munin2snmp - SNMP Agent to query munin-node over snmp

=head1 REQUIREMENTS

Net::SNMP, Getopt::Long, Pod::Usage perl modules, munin-node with some plugins

=head2 Example configuration

/etc/snmp/snmpd.conf

  master       agentx
  agentAddress udp:127.0.0.1:161
  rocommunity  public 127.0.0.1

On a newer system it is enough to define "master" option only

MUNIN-MIB should be installed on the client,
it goes to /usr/local/share/snmp/mibs or /usr/share/munin/mibs
or another place where snmpd expects to find the MIB files.

See also http://www.net-snmp.org/wiki/index.php/FAQ:MIBs_03

It is possible to start munin2snmp as non-root user, for example
run munin2snmp as Debian-snmp user on Debian Stretch:

fix the /var/agentx permissions:

  chmod  g+rx /var/agentx
  chgrp Debian-snmp /var/agentx

add to /etc/snmp/snmpd.conf: 

  master          agentx
  agentXperms 0640 0550 Debian-snmp Debian-snmp

restart snmpd and start the agent as Debian-snmp:

  su -l Debian-snmp -s /bin/bash -c "/tmp/munin2snmp.pl --pidfile /tmp/munin2snmp.pid --plugins iostat,vmstat"

=head2 Usage

After setting up snmpd, start the agent:

  ./munin2snmp

Now one can query the agent

  snmpwalk -v 2c -mMUNIN-MIB  -c public localhost .1.3.6.1.4.1.123456.100.1.1

where "1.3.6.1.4.1.123456.100.1.1" is example OID selected as the base
tree for the agent.

Change  OBJECT IDENTIFIER in the MUNIN-MIB file if you plan to use a different OID.

You might need to change the host, port, oidbase and munin_plugins you want to use.

The defaults:

  $Munin{PORT} = '4949';
  $Munin{HOST} = 'localhost'
  $oidbase = ".1.3.6.1.4.1.123456.100.1.1"
  @munin_plugins = qw ( load cpu df );

One can override the defaults by creating /etc/munin2snmp.conf file with the following
configuration options:

  munin_port    = [port]
  munin_host    = [host]
  base_oid      = [oid]
  munin_plugins = [comma separated list of munin-node plugins]

Or by specifying the parameters, see munin2snmp --help for the usage

=head1 ACKNOWLEDGEMENTS

Heavily inspired by
Vincent Bernat: https://github.com/vincentbernat/extend-netsnmp
and Masahito Zembutsu: https://github.com/zembutsu/muninwalk

=head1 LICENSE

ISC License (ISC)

Copyright (c) 2016, Alex Mestiashvili <mailatgoogl@gmail.com>

Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.