• R/O
  • HTTP
  • SSH
  • HTTPS

Source Tree

标签
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

名称 大小 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...

README.asciidoc

GENERAL

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

INSTALLATION

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

shell> snmptranslate -m LVS-MIB -On -IR lvsServiceEntry

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

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.

CREDITS / HISTORY

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

AUTHOR

LICENSE

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.