shell> snmptranslate -m LVS-MIB -On -IR lvsServiceEntry
名称 | 大小 | Rev. | 时间 | 作者 | Log Message |
---|---|---|---|---|---|
libipvs | |||||
.gitignore | 55 | 1122a69 | 2014-08-13 14:09:18 | Tatsuki Sugiura | Add gitignore. |
LVS-MIB.txt | 10.7 k | c93ed0a | 2014-08-13 13:59:50 | Tatsuki Sugiura | Import upstream code from Net-snmp-lv... |
Makefile | 769 | cfd673b | 2014-08-25 21:22:28 | Tatsuki Sugiura | Use tag for archive generation. |
OC-MIB.txt | 377 | c93ed0a | 2014-08-13 13:59:50 | Tatsuki Sugiura | Import upstream code from Net-snmp-lv... |
README.asciidoc | 3.49 k | ec2494b | 2014-08-25 04:01:54 | Tatsuki Sugiura | Update readme. |
VERSION | 6 | f039878 | 2014-08-13 20:33:06 | Tatsuki Sugiura | Update version. |
links | 56 | c93ed0a | 2014-08-13 13:59:50 | Tatsuki Sugiura | Import upstream code from Net-snmp-lv... |
lvs.c | 19.93 k | 5dcaefd | 2014-08-13 20:29:13 | Tatsuki Sugiura | Fix numServices and numDests count. |
lvs.h | 1.62 k | c93ed0a | 2014-08-13 13:59:50 | Tatsuki Sugiura | Import upstream code from Net-snmp-lv... |
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).
Install net-snmp and its development headers and libraries. Install netlink and its development headers and libraries. Invoke make, this should build lvs.so.
Copy LVS-MIB.txt and OC.txt to /usr/share/snmp/mibs/ Check that the new MIB is visible by invoking
shell> snmptranslate -m LVS-MIB -On -IR lvsServiceEntry
This should return .1.3.6.1.4.1.8225.4711.18.1.
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. |
Try if everything works invoking:
shell> snmpwalk -c public -v 2c -m LVS-MIB localhost 1.3.6.1.4.1.8225.4711
LVS-MIB::lvsVersion.0 = STRING: "1.2.0"
LVS-MIB::lvsNumServices.0 = INTEGER: 2
LVS-MIB::lvsHashTableSize.0 = INTEGER: 4096
LVS-MIB::lvsTcpTimeOut.0 = INTEGER: 900
LVS-MIB::lvsTcpFinTimeOut.0 = INTEGER: 120
LVS-MIB::lvsUdpTimeOut.0 = INTEGER: 300
LVS-MIB::lvsDaemonState.0 = INTEGER: none(0)
...
In case you want to add additional snmp-values to your MIB: Set export MIBS=ALL and create skeleton with
shell> mib2c -c mib2c.interate.conf lvsRealTable
or
shell> mib2c -c mib2c.interate.conf lvsServiceTable
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
Jacob Rief <jacob.rief@tiscover.com> Jan, 2nd 2006
Tatsuki Sugiura <sugi@nemui.org> Aug 2014
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.