snmp在linux下安装过程

更新时间:2023-04-12 15:54:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

s n m p在l i n u x下安装

过程

This model paper was revised by the Standardization Office on December 10, 2020

在描述NET-SNMP安装过程之前,我们先来说一下什么是SNMP。

Simple Network Management Protocol (SNMP) 是一个被广泛使用的协议,可以监控网络设备(比如路由器)、计算机设备甚至是UPS。Net-SNMP是用于实施SNMP v1,SNMP v2,SNMPv3的应用程序套件,可以使用在IPv4、IPv6的环境中。

一、 NET-SNMP环境

NET-SNMP这个套件包括:

1. 命令行程序包括:

(1)从支持SNMP的设备中检索信息的命令。用于执行单个的请求(snmpget,snmpgetnext),或者执行多个请求(snmpwalk,snmptable,snmpdelta)。

(2)可以用于手动设置信息的命令(snmpset)。

(3)检索一套固定信息的命令(snmpdf,snmpnetstat,snmpstatus)。

(4)可以把MIB oid的信息在“数字”形式和“字符”形式之间进行转换的命令(snmptranslate),它还能显示MIB的内容和结构。

2. 使用Tk/perl来提供一个图形化的MIB浏览器(tkmib)。

3. 一个接收SNMPtrap信息的daemon。经过选择的snmp通知信息可以被日志记录(记录在syslog,或者NT的日志,或者文本文件),转发到另一个SNMP管理系统,或者传递到其它的程序。

4. 一个可扩展的代理程序(snmpd),用于对管理系统提出的SNMP请求做出响应。这包括了内建的多种支持性:

5. 支持广泛的MIB信息模块,可以使用动态加载的模块进行扩展,可以使用外部的脚本和命令进行扩展,对多路复用SNMP(SMUX)和代理可扩展性协议(AgentX)的支持。

6. 包括一个库,用于支持对新的SNMP开发,支持C和Perl API。

Net-SNMP对于许多的UNIX和类UNIX操作系统都是支持的,也支持windows。注意:对于不同的系统功能会有所变化。请阅读你所在平台的README文件。

如果你的服务器上没有安装NET-SNMP或者其他用于实施SNMP协议的软件,那么你安装MRTG就会报错了。

二、 NET-SNMP的安装

(一)软件包方式安装

1. 下载NET-SNMP

根据不同版本:使用yum 、apt-get等安装net-snmp*

2. 安装NET-SNMP

gunzip -c | tar xf -

cd

./configure

make

3. 运行NET-SNMP

首先查看当前系统的snmpd命令是否是你刚刚安装的版本

snmpd -v

NET-SNMP version:

Web:

Email:

出现这个结果,这就表示现在系统默认的smpd就是你刚刚安装的那个,如果不是,那么你需要检查一下是否有老版本的存在。

按照我以上的方法,snmpd应该被安装在:

#which snmpd

/usr/local/sbin/snmpd

4. 编辑配置文件

创建配置文件,可以使用命令: snmpconf -g basic_setup 回答问题即可,但是较麻烦,手工创建很简单。

vi /usr/local/share/snmp/ (Fedora yum:/etc/snmp/)

syslocation "SHANGHAI "

syscontact

rocommunity whatever

rwcommunity whoareyou

#这个rocommunity和rwcommunity的值你可以自己定义

文件只写上面四句话就足够了。

(二)YUM方式安装

Fedora 10下配置SNMP

1、SNMP的安装

Fedora10下安装SNMP

#yum install net-snmp*

相关文件

/etc/snmp/

/etc/snmp/

/etc/snmpd

2、SNMP的配置

(1).确保本机安装了snmp服务件配置

#vim /etc/snmp/

1) 修改41行,默认community string(密码),更改public为自己的查询密码,或不

改也行。

com2sec notConfigUser default public

2) 去掉89行前面#号

#view mib2 included . fc

3) 修改151行

#access notConfigGroup "" any noauth exact roview rwview none 为:

access notConfigGroup "" any noauth exact mib2 none none (4). 重启snmpd服务

#/etc/snmpd restart

或:

#service snmpd restart

(5).确保开放udp 161端口:

# iptables -L -n

(6).添加snmpd服务自启动: #chkconfig snmpd on

查看是否已是自启动: #chkconfig --list|grep snmpd 如果不是: #chkconfig --add snmpd

三、测试实例:

1) snmpget——snmpget [OPTIONS] AGENT OID [OID]...用来查询叶子节点

实例:snmpget –v2c –c public localhost .1.3.6..

-v2c:使用的是2c的snmp版本,可选1|2c|3

-c public:community 名为public

localhost: 代理的地址,这里因为代理运行在本机上,所以可用localhost .…….0:这里查询的是.,其Oid为.1.3.6..5,使用这个命令使叶子节点要在后面加.0。

2) snmpgetnext——snmpgetnext [OPTIONS] AGENT OID [OID]...通过父节点查询叶子节点

实例:snmpgetnext –v2c –c public localhost .1.3.6.

这个命令假设不知道叶子节点,但知道父节点,则可遍历到第一个叶子节点。此例结果等同于上一个例子。Oid也可输入.1.3.6.,因为它是按字典顺序遍历的。

3) snmptable——snmptable [OPTIONS] AGENT TABLE-OID 用来查询表对象实例:snmptable –v2c –c public localhost .1.3.6..20

这个命令查询表对象,本例中查询的是.

4)snmpset——snmpset [OPTIONS] AGENT OID TYPE VALUE [OID TYPE VALUE]...修改数据

实例:snmpset –v2c –c public localhost .1.3.6.. i 99

x:在这里是索引值,表示表项中某一列的第几个数据,根据要求设定

i: 这里是列数据类型,包括i: INTEGER, u: unsigned INTEGER, t: TIMETICKS,

a: IPADDRESS o: OBJID, s: STRING, x: HEX STRING,

d: DECIMAL STRING, b: BITS U: unsigned int64,

I: signed int64, F: float, D: double

5) mib2c 用来把mib库文件编译成.c和.h模版。具体使用在下面章节的应用中介绍

四、编程日志

1. Net-snmp 的API接口:

/usr/include/net-snmp/library/

2. net-snmp官网,Manager端查询代码,编译通过,可以通过snmp查询localhost的信息。

本文来源:https://www.bwwdw.com/article/l06l.html

Top