net-snmp-lvs-module is a dynamicaly loadable shared object to get the configuration and some statistical information from the Linux kernel with IP virtual server support (also known as Linux Virtual Server).
Build
Install net-snmp and its development headers and libraries.
Install netlink and its development headers and libraries.
Invoke 'make', this should build 'lvs.so'.
Install MIBs
Copy LVS-MIB.txt and OC.txt to /usr/share/snmp/mibs/ Check that the new MIB is visible by invoking
This should return .1.3.6.1.4.1.8225.4711.18.1.
Configure snmpd
Copy lvs.so to /usr/lib/libnetsnmplvs.so and add the following line to
/etc/snmp/snmpd.conf and restart your snmpd.
---------------------------------------
dlmod lvs /usr/lib/libnetsnmplvs.so
---------------------------------------
[NOTE]
=================================================================
You may need to change to run snmpd as root to get ipvs information.
=================================================================
Test
Try if everything works invoking:
shell> snmpwalk -c public -v 2c -m LVS-MIB localhost 1.3.6.1.4.1.8225.4711
In case you want to add additional snmp-values to your MIB: Set export MIBS=ALL and create skeleton with
or
this should create a file lvsRealTable.c and/or lvsServiceTable.c. Use the generated code as a template for lvs.c and populate the missing parts.
The code for this module is based on ucd-snmpd-lvs written by Romeo Benzoni in 2002 and never modified since. As that code did not compile with the newer net-snmp headers, I decided to rewrite the complete code. The only unchanged parts from the ucd-snmpd-lvs project are LVS-MIB.txt and OC.txt.
On 2014, updates for 64bit environments, ipvsadm 1.26 (nl-3 patched) and net-snmp 5.7.2 by Tatsuk Sugiura.
You can get original source code from LVS wiki; http://kb.linuxvirtualserver.org/wiki/Net-SNMP-LVS-Module
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.