mirror of
https://github.com/munin-monitoring/contrib.git
synced 2025-07-21 10:39:53 +00:00
98 lines
2.9 KiB
Text
98 lines
2.9 KiB
Text
=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.
|