- 浏览: 382342 次
- 性别:
- 来自: 北京
最新评论
-
liuzhongzhou2721:
不错啊
Snmp4j编程简介之三:Snmp -
ahong520:
我在Keystore.getInstance("JK ...
java实现 SSL双向认证 -
tanghanlin:
好吧,还是支持下
Snmp4j编程简介之三:Snmp -
sjp524617477:
mark
java实现 SSL双向认证 -
dikesky:
您好,看了您的这篇文章学到很多东西。希望您提供一个QQ号(发到 ...
httpclient笔记(二)
对于更多的net-snmp的资料,可以去www.net-snmp.org中获得.
另外,net-snmp在FC6上可以正确编译通过,在FC4上编译时却发现二个错误,一个是找不到libbeencrypt.la这个文件,第二个错误是无法链接到elf库.
如果出现这二个错误,去网络上下载以下二个软件包进行编译就行了:
1.beecrypt-4.1.2.tar.gz
2.libelf-0.8.10.tar.gz
On Redhat 7.1 or above, NetSnmp has become the default snmp...
But on other linux version. It is still a good guide.
In this tutorial we will
- download and install net-snmp,
- write and install a simple MIB,
- write a subagent to handle to mib.
Download and install net-snmp package
This package was previously known as ucd-snmp
- Download the source from here, or if this link is broken try the net-snmp homepage, to your local directory which we will now refer to as $. For this tutorial we will use net-snmp-5.0-pre2.
- change directory to $, untar and unzip the package using:
$gunzip net-snmp-5.0.pre2.tar.gz $tar xvf net-snmp-5.0.pre2.tar
This will dump all the souce into $/net-snmp-5.0.pre2 - To compile to package:
$./configure --with-mib-modules="agentx" $make $make install $cd local; make install; cd .. $cd mibs; make install; cd ..
The "configure" command configure the agent to use the AgentX protocol. This is a IETF defined protocol that allows a master/client relationship between agents and subagents. The last two command should not theoretically have to be to used ... but without them .. things do not seem to work. Now, we have to setup the snmpd configuration file, before "snmpd" can work properly. - Copy the example configuration file:
$ cp $/EXAMPLE.conf /usr/local/share/snmp/snmpd.conf
- Now we need to modify /usr/local/share/snmp/snmpd.conf as follows:
- Replace COMMUNITY with "democommunity". This is your community string.
- Comment out 2nd "com2sec" line. We do not allow network access for now.
- On a new line at the end of the file add "master agentx". This tells the agents to behave as the master in the master/client AgentX protocol.
- We now need to fix some library links (this is truely awful ... is this a Redhat or a net-snmp "problem"/"feature" ?)(Note: On some machines this is not required e.g RedHat 7.1 ... use your judgement :-))
$ln -s /usr/local/lib/libnetsnmp-0.5.0.0.2.so /lib/libnetsnmp-0.5.0.0.2.so $ln -s /usr/local/lib/libnetsnmpagent-0.5.0.0.2.so /lib/libnetsnmpagent-0.5.0.0.2.so $ln -s /usr/local/lib/libnetsnmphelpers-0.5.0.0.2.so /lib/libnetsnmphelpers-0.5.0.0.2.so $ln -s /usr/local/lib/libnetsnmpmibs-0.5.0.0.2.so /lib/libnetsnmpmibs-0.5.0.0.2.so
- To check "snmpd" do:
become root$ ps awwux | grep snmp
if you see an earlier snmpd deamon ... kill it$ cd $/net-snmp-5.0.pre2/agent $ ./snmpd -f -L
This should start the "snmpd" agent but keep it attached to the current terminal (which is useful since we want to kill it very soon). - On another window:
$snmpget -v 1 -c democommunity localhost system.sysUpTime.0
If snmpd was installed correctly, this gives up the timeticks the snmpd agent has been up (NOT how long your system was up !!). If you get an error .. retrace your steps from the beginning.You can now use "^C" to kill the snmpd deamon in the first window.
Writing and installing a MIB
In this part of the the tutorial we will write and install a simple MIB.
- First write the mib that you want to implement. For our tutorial we write a simple MIB called JM-TEST-1-MIB.txt:
JM-TEST-1-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, INTEGER FROM SNMPv2-SMI; jmtest MODULE-IDENTITY LAST-UPDATED "200203210000Z" ORGANIZATION "Temple U" CONTACT-INFO "None yet." DESCRIPTION "AgentX testing MIB" REVISION "200203210000Z" DESCRIPTION "None yet." ::= { experimental 72} firstKey OBJECT-TYPE SYNTAX INTEGER (0..100) MAX-ACCESS read-write STATUS current DESCRIPTION "Value initialized to 0 and on each access: - Return current val. - increment" ::= { jmtest 1 } END
This mib represents a resource "firstKey" whose initial value is 0 and whose value gets incremented every time it is queried.
Note that this MIB will be registered under the 1.3.6.1.3.72 heirarchy. This choice is arbitrary and should only be used for experiments. For real world implementation you should get a "real" OID. Existing OIDs and guidelines on getting new ones can be fo und here. This page is maintained by the current (March 2002) IETF/IESG chair, so he probably knows what he is talking about.
Copy this mib into the mibs directory
$cp JM-TEST-1-MIB.txt /usr/local/share/snmp/mibs
- Now we need to get the SNMP tools to recognise this MIB. So:
$echo "mibs +JM-TEST-1-MIB" >> /usr/local/share/snmp/snmp.conf
This adds a directive to the snmp tools configuration asking them load our mib. - To verify if our MIB is loaded use the verstile snmptranslate command:
$snmptranslate -IR -Tp experimental
This command will draw the present tree under the experimental branch. Omit the last parameter and you will get the whole tree (as currenly understood by the snmp tools). The output should look like:Unlinked OID in JM-TEST-1-MIB: jmtest ::= { experimental 72 } +--experimental(3) | +--jmtest(72) +-- -RW- INTEGER firstKey(1) Range: 0..100
If you get the above output, then we are in good shape so far. The real work, howeve still remains. We must now write the subagent that will handle queries on under this OID branch.
Writing and installing a subagent
In this section we will write and install a subagent that serves the mib we installed in the previous section.
The subagent is an independent program that communicates with the master agent (snmpd in our case) using the AgentX protocol.
The basic steps of writing the code is as follows:
- Write the agent code in a C file, say example.c. This can be done using the mib2c tool.
- Create the subagent executable using the net-snmp-config tool.
mib2c is (supposed to) take in the MIB definition as spit out the subagent code. However (as far as I could figure out) the mib2c program distributed with this version of net-snmp does not generate code for simple scalar mibs, instead dealing with mibs th at have tables.
So for an example of subagent code for simple scalar objects look at $/agent/mibgroups/example/example.c.
We have adapted example.c for our mib (JM-TEST-1-MIB.txt) as example2.c.
- Download example2.c and example1.h
$mkdir $/agent/mibgroup/examples/subagent $cp example2.c $/agent/mibgroup/examples/subagent $cp example.h $/agent/mibgroup/examples/subagentNow we create the executable using the net-snmp-config tools as:
$net-snmp-config --compile-subagent example2 example2.c -I../../../mibgroupThis produces a executable called example2. example2 is our subagent. Voila !
To test whether things are still working.
In first window:
$cd $/agent $./snmpd -f -L -DThis will start the snmpd deamon in the debugging mode (you will see LOTS of messages).
In the second window:
$cd agent/mibgroup/examples/subagent $./example2Finally in the third window, the command and output should look like (output is shown in bold):
[root@x mibs]# snmpget -v 1 -c democommunity localhost firstKey.0 Unlinked OID in JM-TEST-1-MIB: jmtest ::= { experimental 72 } JM-TEST-1-MIB::firstKey.0 = 1 [root@x mibs]# snmpget -v 1 -c democommunity localhost 1.3.6.1.3.72.1.0 Unlinked OID in JM-TEST-1-MIB: jmtest ::= { experimental 72 } JM-TEST-1-MIB::firstKey.0 = 2 [root@x mibs]# snmpset -v 1 -c democommunity localhost 1.3.6.1.3.72.1.0 i 10 Unlinked OID in JM-TEST-1-MIB: jmtest ::= { experimental 72 } JM-TEST-1-MIB::firstKey.0 = 10 [root@x mibs]# snmpget -v 1 -c democommunity localhost firstKey.0 Unlinked OID in JM-TEST-1-MIB: jmtest ::= { experimental 72 } JM-TEST-1-MIB::firstKey.0 = 10 [root@x mibs]# snmpget -v 1 -c democommunity localhost 1.3.6.1.3.72.1.0 Unlinked OID in JM-TEST-1-MIB: jmtest ::= { experimental 72 } JM-TEST-1-MIB::firstKey.0 = 11 [root@x mibs]# snmpget -v 1 -c democommunity localhost 1.3.6.1.3.72.1.0 Unlinked OID in JM-TEST-1-MIB: jmtest ::= { experimental 72 } JM-TEST-1-MIB::firstKey.0 = 12 [root@x mibs]# snmpwalk -v 1 -c democommunity localhost firstKey Unlinked OID in JM-TEST-1-MIB: jmtest ::= { experimental 72 } JM-TEST-1-MIB::firstKey.0 = 13In the output above notice that every snmpget query returns an increasing value of "firstKey" and snmpset lets us set "firstKey" to an arbitrary value (within a defined range).
We now have a working subagent. In real applications the subagent could be embedded in the application to be managed.
--by Jaiwant Mulik, March 2002.
------------------------------------------------------------------------------------------------------------------------
cannot find the library `/usr/lib/libbeecrypt.la'
安装beecrypt包后,还是报相同的错,按说应该安装成功了,为什么还很难找到呢?
发现默认安装时,libbeecrypt.la安装在了/usr/local/lib目录下。
建立符号连接 ln -s /usr/local/lib/libbeecrypt.la /usr/lib/libbeecrypt.la
然后进行安装
./configure --prefix=/usr/local/net-snmp
make
make install
安装成功!
发表评论
-
你可能不知道的10个JavaScript小技巧
2010-09-07 17:05 1033“梦想天空”(网名)曾发表一篇博文,为我们介绍了10个Java ... -
监控利器nagios
2009-04-01 17:32 3036我的Nagios的艰辛.....网络监控之神(一)本贴原创,转 ... -
Tomcat配置指南(转载)
2009-03-11 10:54 1108Tomcat配置指南(转载) 一 ... -
谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词
2009-02-27 14:33 1201这是一篇程序员写给程 ... -
SnmpHibernate
2008-12-18 14:44 1754SnmpHibernate is a MIB/Object ... -
常用的数字编码格式
2008-12-17 17:39 2377常用数字编码1.BCD编码 在数字系统中,各种数据要转换为二进 ... -
Java中四种XML解析技术之不完全测试
2008-12-16 11:00 973测试环境: AMD毒龙1.4G ... -
Javascript闭包技术
2008-11-24 09:46 1345一、什么是闭包?“官 ... -
多线程
2008-07-25 16:35 1436线程:是指进程中的 ... -
Apache,Resin,JVM 状态监控
2008-07-24 13:21 3220不管你是网站系统管理员,还是WEB开发人员,了解你的WEB应用 ... -
使用Jconsole对java的内存使用情况(JVM)进行监控
2008-07-24 11:26 2776JDK1.5提供JMX remote的管理工具Jconsole ... -
Linux下网络流量监控
2008-07-24 10:23 1984(一) 系统环境:redhat9.0 必备软件: (这些软件都 ... -
net-snmp安装手记
2008-07-23 11:36 7525Installing /usr/share/man/man3/ ... -
RFC1155基于TCP/IP网络的管理结构和标记
2008-07-10 10:37 2198组织:中国互动出版网(http://www.china-pub ... -
Snmp4j编程简介之三:Snmp
2008-07-03 13:03 9455Class Snmp java.lang.Object o ... -
Snmp4j编程简介之二:PDU
2008-07-03 13:00 6650PDU(协议数据单元),用来表示管理站跟代理站点进行通信的数据 ... -
Snmp4j编程简介之一:Target
2008-07-03 12:57 4702关于Snmp4j包,最重要三个概念,也是三个类:Snmp、Ta ... -
Java远程通讯可选技术及原理
2008-06-23 11:45 1316Java远程通讯可选技术及原理 在分布式服务框架中 ... -
基于Spring的远程访问与Web Service(二)
2008-06-20 16:33 4960Spring框架对远程访问技 ... -
通过Spring使用远程访问和web服务
2008-06-20 13:47 1923Spring提供类用于集成各种远程访问技术。这种对远程访问的支 ...
相关推荐
net-snmp-5.5-49.el6_5.3.x86_64.rpm net-snmp-devel-5.5-49.el6_5.3.i686.rpm net-snmp-devel-5.5-49.el6_5.3.x86_64.rpm net-snmp-libs-5.5-49.el6_5.3.i686.rpm net-snmp-libs-5.5-49.el6_5.3.x86_64.rpm ...
yum install -y perl-devel perl-ExtUtils-Embed elfutils-devel elfutils-libelf-devel lm_sensors-devel rpm-devel perl-Tk perl-Mail-Sender perl-JSON perl-IO-Socket-SSL perl-Net-SSLeay perl-IO-Socket-IP ...
SNMP安装包-net-snmp-utils-5.7.2-49.el7_9.2.x86_64
net-snmp所需的安装补丁包,NETSNMP程序补丁包net-snmp-devel-5.3.2.2-14.el5.x86_64.rpm
net-snmp-5.7.0-1.x86.exe 客户端windows。
net-snmp-5.4.3是Linux环境下的snmp软件,想学习net-snmp内容,必须的软件之一。我的资源中还用MIB查看软件,欢迎下载使用
NET-SNMP工具的使用 当环境设置好后,运行snmpd,即snmp代理进程,就可以使用管理工具查询其中的信息了。
net-snmp源码5.9.1
windows x64下面的 net-snmp 安装包。可以再命令行下使用snmp命令。 如果安装在自定义的位置,需要将路径添加到系统环境变量Path中
windows 7 x64下面的 net-snmp 安装包。可以再命令行下使用snmp命令。
net-snmp-5.9.1.tar.gz,可移植,开发学习
net-snmp-5.7.3的tar包(源码包),可直接编译安装(内附安装说明),同时内附gcc编译工具的rpm包,执行里边的install.sh即可安装
第1章 net-snmp安装及配置 第2章 net-snmp测试 第3章 snmpd.conf详解 第4章 net-snmp指令 第5章 JAVA开发 第6章 Linux常用OID 第7章 snmpd.conf示例配置
cacti安装所需安装包之一 net-snmp-5.7.2.tar.gz
lm_sensors-libs-3.1.1-17.el6.x86_64.rpm。net-snmp-5.7.2-37.el7.x86_64.rpm,net-snmp-agent-libs-5.7.2-37.el7.x86_64.rpm,net-snmp-libs-5.7.2-37.el7.x86_64.rpm,net-snmp-utils-5.7.2-37.el7.x86_64.rpm
net-snmp-x86_64组包,包含net-snmp-5.3.2.2-20.el5.x86_64.rpm net-snmp-libs-5.3.2.2-20.el5.x86_64.rpm net-snmp-perl-5.3.2.2-20.el5.x86_64.rpm net-snmp-utils-5.3.2.2-20.el5.x86_64.rpm
netsnmp程序补丁包net-snmp-utils-5.3.2.2-14.el5.x86_64.rpm
net-snmp-5.4.0-1.win32.exe应用平台windows
net-snmp-5.7.3 linux windows macqt-net-snmp library is a C++/Qt abstraction layer over Net-SNMP API that provides a basic support to SNMPv1/2 requests.
net-snmp-5.5 64位的rpm安装包,包含net-snmp-5.5-44.el6.x86_64.rpm和net-snmp-libs-5.5-44.el6.x86_64.rpm两个文件