当前位置:首页 » 操作系统 » linux安装snmp

linux安装snmp

发布时间: 2024-06-16 03:25:05

‘壹’ 如何安装snmp在linux

1) 安装SNMP
略,请参阅LINUX系统SNMP安装说明,一般情况下Linux中 的均已经自动安装了SNMP服务。以下命令可以检测SNMP服务是否安装以及安装的文件包。
[root@idc ~]# rpm -qa |grep snmp
net-snmp-libs-5.1.2-11.EL4.7
net-snmp-5.1.2-11.EL4.7

2) 配置SNMP
按照如下方式修改/etc/snmp/snmpd.conf文件
A、修改默认的community string(SUM中SNMP读值密码)
com2sec notConfigUser default public
将public修改为你才知道的字符串
将“default”改为你想哪台机器可以看到你 的snmp信息,比如SUM所在IP为:10.10.10.10, 就改成这个IP。不改表示所有机器充许。
B、把下面的#号去掉
#view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc
启用全部功能可以使用如下一行(如果没有可以加入一行):
view all included .1 80
C、把下面的语句
access notConfigGroup "" any noauth exact systemview none none
改成:
access notConfigGroup "" any noauth exact mib2 none none
或是:
access notConfigGroup "" any noauth exact all none none
3) 启动与停止SNMP
一般使用:service snmpd start|stop|restart命令。或是:
#/etc/rc.d/init.d/snmpd restart
4) 防火墙
如果Linux启动了防火墙,请开放UDP的161端 口。确保Linux的iptables防火墙对SUM监控服务器开放 了udp 161端口的访问权限
可使用iptables ?L ?n 查看当前iptables规则
可编辑/etc/sysconfig/iptables文 件来修改iptables规则。

‘贰’ linux下安装snmp的依赖包有哪些

Linux有很多版本。我使用的Linux Mint 17 (Ubuntu衍生版)上,直接就可以安装snmp,依赖关系直接已经满足。

不过既然你问到,我也帮你查出来了:
libc6(>=2.14)
libsnmp30(>=5.7.2~dfsg)
libssl1.0.0(>=1.0.0)
libsnmp-base

‘叁’ linux怎么安装配置snmp协议

一、安装

snmp

服务

1

、检查系统是否已经安装

snmp

rpm

以下是安装

snmp

服务需要的

rpm

包:

libsensors3-2.10.6-55.el5.i386.rpm

lm_sensors-2.10.6-55.el5.i386.rpm

net-snmp-libs-5.3.2.2-5.el5.i386.rpm

net-snmp-5.3.2.2-5.el5.i386.rpm

net-snmp-utils-5.3.2.2-5.el5.i386.rpm

推荐到

http://rpm.pbone.net/

下载这些

rpm

包,该网站比较全面,包含各种版本的包。

使用命令:

$rpm-qa|grepsnmp

检查是否安装

net-snmp-utils-5.3.2.2-5.el5

net-snmp-libs-5.3.2.2-5.el5

net-snmp-5.3.2.2-5.el5

三个

rpm

使用命令:

$rpm-qa|greplibsen

检查是否安装

libsensors3-2.10.6-55.el5

使用命令:

$rpm-qa|greplm

检查是否安装

lm_sensors-2.10.6-55.el5

说明:

1

)这几个包的安装有一定顺序,在安装的时候,会有提示。比如安装

net-snmp-5.3.2.2-5.el5.i386.rpm

时,会提示必须先安装

net-snmp-libs-5.3.2.2-5.el5.i386.rpm

2

net-snmp-utils-5.3.2.2-5.el5.i386.rpm

并不是必须安装的包,但安装它会带来不少帮助,

它提供了很多工具,

例如可以使用

snmptranslate

命令查看

oid

可以使用

snmpget

snmpwalk

命令等。

3

net-snmp-libs-5.3.2.2-5.el5.i386.rpm

net-snmp-5.3.2.2-5.el5.i386.rpm

net-snmp-utils-5.3.2.2-5.el5.i386.rpm

这三个包有一定的版本要求,必须版本一致,否则安装

无法成功。我这里都使用的

5.3.2.2-5.el5

版本,也可以下载其他版本的

rpm

包,但注意版本

要一致,在安装的时候也会提示,哪个版本的包是必须的,你可以根据提示下载需要的包。

2

、安装以上的几个

rpm

若系统中没有安装以上包,则先安装。

使用命令:

rpm–ivh

包名

安装完后,使用命令:

$rpm-qa|grepsnmp

,检查是否已经安装成功。

3

、启动

snmp

服务

若安装成功,则可使用命令:

$servicesnmpdstart

提示:

Starting

snmpd:

[OK]

,则启动

snmp

服务成功。

你可以将

snmp

服务设置为开机自启动,这样免去手动启动的麻烦。

使用命令:

$chkconfigsnmpdon

,将

snmpd

服务设为开机自启动。

然后使用命令:

$chkconfig--list|grepsnmpd

,查看是否已经设置成功。

4

、验证

snmp

服务

1

)使用

snmpwalk

命令,查看本机

localhost

的主机名:

如上,可以看到通过远端主机获取到的主机名,与在本机获取到的主机名是一致的。


二、配置

snmp

服务

以上安装完成后,使用的是

snmp

的默认配置,通过这些默认配置,我们只能获取主机的部

分信息。但一些其他的重要信息,无法获取。如主机的

CPU

使用情况,内存使用情况等。

如上,无法获取

CPU

的空闲率(注:

1.3.6.1.4.1.2021.11.11.0

是主机

CPU

空闲率的

oid

这时候,若要获取主机的一些重要信息,则要修改

snmp

的默认配置。

配置方法:修改

/etc/snmp/snmpd.conf

文件

1

、修改查看设备节点的权限

在该文件中,找到如下位置:

view

:定义了可以查看哪些节点设备的信息。

snmp

默认配置只能查看

.1.3.6.1.2.1.1

.1.3.6.1.2.1.25.1.1

节点下的设备信息,

而主机

CPU

内存等设备都不在这些节点下,所以无法获取这些数据。

因此,可以修改这个配置,如下:

在此处添加了一行:

viewsystemviewincluded.1

表示可以查看

.1

节点下的所有设备信息。

‘肆’ Linux下简单配置安装cactisnmp再次安装怎么解决

以前确认过机器上安装了snmp,但是这是redhat自带的,据说里面是没有snmpwalk,snmpget这些命令的,所以我这里要重新
编译安装NET-SNMP
官方网站
http://www.net-snmp.org/
下载文件
wget http://nchc.dl.sourceforge.net/project/net-snmp/net-snmp/5.5/net-snmp-5.5.tar.gz
解开压缩
tar zxvf net-snmp-5.5.tar.gz
配置
./configure --prefix=/usr/local/net-snmp --enable-developer
中间有提示,一路回车下去
make
报错如下:
grep: /usr/lib/libbeecrypt.la: No such file or directory
/bin/sed: can't read /usr/lib/libbeecrypt.la: No such file or directory
libtool: link: `/usr/lib/libbeecrypt.la' is not a valid libtool archive
make[1]: *** [libnetsnmpmibs.la] 错误 1
make[1]: Leaving directory `/var/tmp/net-snmp-5.5/agent'
make: *** [subdirs] 错误 1
解决办法:
安装beecrypt
wget http://nchc.dl.sourceforge.net/sourceforge/beecrypt/beecrypt-4.1.2.tar.gz
tar zxvf beecrypt-4.1.2.tar.gz
./configure --prefix=/usr
make
make install

重新make,又报错了,报错如下:
/usr/bin/ld: cannot find -lelf
collect2: ld returned 1 exit status
make[1]: *** [libnetsnmpmibs.la] 错误 1
make[1]: Leaving directory `/var/tmp/net-snmp-5.5/agent'
make: *** [subdirs] 错误 1
解决办法:
ln -s libelf.so.1 /usr/lib/libelf.so

继续make,成功了:)
make install
安装成功。

链接过去
ln -s /usr/local/net-snmp/bin/* /usr/local/bin/

cp EXAMPLE.conf /usr/local/net-snmp/share/snmp/snmpd.conf

/usr/local/net-snmp/sbin/snmpd //启动SNMP服务

vi /etc/rc.d/rc.local
//在rc.local上加入一行/usr/local/net-snmp/sbin/snmpd,系统启动时启动SNMP服务

现在再回头看看cacti的错误
错误:/usr/local/bin/snmpwalk
错误:/usr/local/bin/snmpget
错误:/usr/local/bin/snmpbulkwalk
错误:/usr/local/bin/snmpgetnext
再次点开,这次就没有以上的错误啦。点Finish
输入用户名和密码admin/admin

登陆后点击graph图标,图没有出来。继续查找下原因,快要成功了:)
查看后台日志cacti里面的log/cacti.log,日志如下:
POLLER: Poller[0] Maximum runtime of 298 seconds exceeded. Exiting

点击控制面板console----->Data Sources
选择列表中的一个Localhost-Load Average
点击右上角的Turn Off Data Source Debug Mode
下面会出现对应的命令Data Source Debug
/usr/local/bin/rrdtool create \
/usr/local/apache2/htdocs/cacti/rra/localhost_load_1min_5.rrd \
--step 300 \
DS:load_1min:GAUGE:600:0:500 \
DS:load_5min:GAUGE:600:0:500 \
DS:load_15min:GAUGE:600:0:500 \
RRA:AVERAGE:0.5:1:600 \
RRA:AVERAGE:0.5:6:700 \
RRA:AVERAGE:0.5:24:775 \
RRA:AVERAGE:0.5:288:797 \
RRA:MAX:0.5:1:600 \
RRA:MAX:0.5:6:700 \
RRA:MAX:0.5:24:775 \
RRA:MAX:0.5:288:797 \

su cacti,执行该命令,报错如下:
ERROR: creating '/usr/local/apache2/htdocs/cacti/rra/localhost_load_1min_5.rrd': 权限不够
晕,前面不是赋予了权限了嘛,难道搞错了。再赋予一次。
chown -R cacti rra
chown -R cacti log
执行命令,OK了,检查一下目录rra,哈哈,已经有一个文件了。去看看图看。图有了,但是是否有正确的每5分钟采集一次
就要等等,等好几个5分钟再来看看了。等了一会儿,还是没有数据,唉,好事多磨啊,有图像了,又没有数据。。。。
检查snmp
snmpwalk -c public -v 2c 10.206.19.59 if 有很多信息返回
检查数据
rrdtool fetch localhost_mem_swap_4.rrd AVERAGE,返回的都是
1261452300: nan
1261452600: nan
文件更新信息
rrdtool lastupdate localhost_mem_swap_4.rrd --template,返回数据
users
1261535656: U
文件信息
rrdtool info localhost_users_6.rrd,返回信息:
filename = "localhost_users_6.rrd"
rrd_version = "0003"
step = 300
last_update = 1261535656
ds[users].type = "GAUGE"
ds[users].minimal_heartbeat = 600
ds[users].min = 0.0000000000e+00
ds[users].max = 5.0000000000e+02
ds[users].last_ds = "U"
ds[users].value = 0.0000000000e+00

网上搜索资料,可能是SNMP没有配置好
vi /usr/local/net-snmp/share/snmp/snmpd.conf
cp /etc/snmp/snmpd.conf /usr/local/net-snmp/share/snmp/snmpd.conf
重启snmp
/usr/local/net-snmp/sbin/snmpd

修改定时任务
[root@dev1 snmp]# crontab -e -u cacti
*/5 * * * * /usr/local/bin/php -q /usr/local/apache2/htdocs/cacti/poller.php > /var/log/poller.log 2>&1

检查定时任务是否启动了
/etc/init.d/crond status

一切正常

检查log/cacti.log日志
12/23/2009 01:14:16 PM - POLLER: Poller[0] WARNING: Cron is out of sync with the Poller Interval! The Poller Interval is '300' seconds, with a maximum of a '300' second Cron, but 4754 seconds have passed since the last poll!
12/23/2009 01:20:01 PM - POLLER: Poller[0] WARNING: Cron is out of sync with the Poller Interval! The Poller Interval is '300' seconds, with a maximum of a '300' second Cron, but 345 seconds have passed since the last poll!
12/23/2009 01:25:00 PM - POLLER: Poller[0] Maximum runtime of 298 seconds exceeded. Exiting.
12/23/2009 01:25:00 PM - SYSTEM STATS: Time:298.7072 Method:cmd.php Processes:1 Threads:N/A Hosts:2 HostsPerProcess:2 DataSources:5 RRDsProcessed:0
12/23/2009 01:30:00 PM - POLLER: Poller[0] Maximum runtime of 298 seconds exceeded. Exiting.

手工执行了几次
php cacti/cmd.php
php cacti/poller.php

PHP Deprecated错误的解决
vi /usr/local/lib/php.ini
加入:
php_flag allow_call_time_pass_reference On
php_value error_reporting "E_ALL & ~E_NOTICE & ~E_DEPRECATED"

终于有数据了,发现好像是执行了php cacti/cmd.php,但是最后还是有些问题

‘伍’ 如何在各系统平台配置SNMP

在Windows XP/2000 系统中配置 SNMP 代理
关于如何在Windows系统上安装SNMP代理,可参见在Windows系统中安装SNMP代理。
在Windows XP/2000 系统中配置 SNMP 代理的具体步骤如下:
点击开始,指向设置,然后点击控制面板。双击管理工具,然后双击计算机管理。
在控制台树中,点击服务和应用程序,然后点击服务。
下滚明细表窗格,并点击 SNMP service。
点击操作菜单上的属性。
如果您想在身份验证失败的时候有陷阱信息发出,那么请在安全分页中选择发送身份验证陷阱。
在接收的团体名称下点击添加。
在团体权利下,为主机选择一个许可的级别以处理从被选团体接收的请求。
在社区名称中输入名称(区分大小写),然后点击添加。
指定是否从主机接收SNMP 数据包:
要想从网络上的任何主机接收SNMP 请求,且无论其身份,请点击接收来自任何主机 SNMP 数据包。
要想限制接收 SNMP 数据包,请点击接收来自这些主机的 SNMP 数据包,点击添加,输入适当的主机名、IP或IPX 地址, 然后再次点击添加。
点击应用。
页首
配置SNMP陷阱的步骤如下:
点击开始,指向设置,然后点击控制面板。双击管理工具,然后双击计算机管理。
在控制台树中,点击服务和应用程序,然后点击服务。
下滚明细表窗格,并点击 SNMP service。
点击操作菜单上的属性。
打开陷阱分页窗格,在社区名称下输入计算机将把陷阱发至的社区名称(区分大小写),然后点击添加到列表。
在陷阱目标中点击添加。
在主机名,IP或 IPX地址中输入主机的相关信息并点击添加。
重复第5步到第7步,直到添加完您要添加的所有团体和陷阱目标。
点击确定。
在 Windows NT 系统配置SNMP 代理
关于如何在WindowsNT系统上安装SNMP代理,可参见在Windows系统中安装SNMP代理。
在 Windows NT 系统中配置SNMP 代理的步骤如下:
右击桌面上的网上邻居图标。
点击属性。
点击服务。
点击 SNMP 服务,然后点击属性。
点击安全分页按钮。
要想为错误的验证发送陷阱,请选择发送验证陷阱复选框。
在接收的团体名称下点击添加。
在团体名称框中,输入共同体名称(从该团体接收请求)。
点击添加,将该名称移入接收的团体名称列表中。
重复第 9 步添加任何团体名称。
点击以下选项之一,指定是从任何主机接收 SNMP 数据包,还是仅从指定的主机接收SNMP 数据包:
如果不依据源计算机 ID 来拒绝 SNMP 数据包,可选择接收来自任何主机的 SNMP 数据包。
如果仅从列出的计算机接收SNMP 数据包,请选择仅接收来自这些主机的SNMP 数据包。 要想指定特定的主机,请点击添加,在IP 主机或IPX 地址框中输入主机的名称和地址(从该主机接收请求),然后点击添加,将该名称移入仅接收来自这些主机的SNMP 数据包列表。
重复第 11 步添加任何主机。
在代理分页中指定适当的信息(如有关用户位置和服务的注释)。
点击确定。
配置 SNMP 陷阱的步骤如下:
右击桌面上的网上邻居图标。
点击属性。
点击服务。
点击 SNMP 服务,然后点击属性。
点击陷阱分页按钮。
在团体名称框中输入名称,以识别您想要该计算机将陷阱发送到的每个团体。团体名称是区分大小写的。
输入每个名称后,点击添加,将这些名称添加到列表。
添加了团体之后,在其仍是高亮时,点击陷阱目标下的添加,为陷阱要发送到的每个团体指定主机。
在IP主机/地址或IPX地址框中输入主机名,然后点击添加,为所选团体将名称和地址移入陷阱目标列表。
重复第10步,添加任何主机。
点击确定。
在 Linux 8.0以前的版本配置代理
关于如何在Linux系统上安装SNMP代理,可参见 在Linux系统中安装SNMP代理。
如果代理已运行,请使用以下命令将其停止:
/etc/rc.d/init.d/snmpd stop
在/etc/rc.d/init.d/snmpd 文件中做以下修改:

daemon /usr/sbin/snmpd $OPTIONS
改为
daemon /root/ucd_agent/sbin/snmpd $OPTIONS

killproc /usr/sbin/snmpd
改为
killproc /root/ucd_agent/sbin/snmpd
这是用于在启动和停止SNMP 代理时选择当前安装的版本。
使用命令 /etc/rc.d/init.d/snmpd start来启动代理。
在 Linux 8.0版本及8.0 以上版本配置代理
在Linux 8.0版本及8.0 以上版本,可以使用 SNMP 的最新版本,只需在 snmpd.conf 文件中做以下修改:

# name incl/excl subtree mask(optional)
行后插入
view allview included .1.3.6

# group context sec.modelsec.level prefix read write notif
以后的行
lineaccess notConfigGroup “” any noauth exact systemview none none
改为
access notConfigGroup “” any noauth exact allview none none
然后使用以下命令重启 snmp 代理:
/etc/rc.d/init.d/snmpd restart

在 Solaris 机器中配置代理
关于如何在Windows系统上安装SNMP代理,可参见在Solaris系统中安装SNMP代理。
如果代理已运行,请使用以下命令将其停止:
/etc/init.d/init.snmpdx stop
在/etc/init.d/init.snmpdx 文件中做以下修改:
将 if [ -f /etc/snmp/conf/snmpdx.rsrc -a -x /usr/lib/snmp/snmpdx ]; then
/usr/lib/snmp/snmpdx -y -c /etc/snmp/conf -d 3 -f 0
fi
改为
/sbin/snmpd
将 /usr/bin/pkill -9 -x -u 0 ‘(snmpdx|snmpv2d|mibiisa)’
改为
/usr/bin/pkill -9 -x -u 0 ‘(snmpd)’
使用命令 /etc/init.d/init.snmpdx start 重启代理。

热点内容
androidmvc框架 发布:2024-06-24 03:01:27 浏览:97
python程序能不能编译成exe 发布:2024-06-24 02:53:20 浏览:928
dz网站源码 发布:2024-06-24 02:53:11 浏览:92
c语言里的不等于 发布:2024-06-24 02:42:07 浏览:26
进化算法优化算法 发布:2024-06-24 02:38:19 浏览:271
有什么便宜的直角边框安卓手机 发布:2024-06-24 02:37:41 浏览:456
数据库与数据库文件 发布:2024-06-24 02:28:33 浏览:302
目前linux 发布:2024-06-24 02:28:31 浏览:393
伟创oa怎么备份服务器转移 发布:2024-06-24 02:28:22 浏览:357
美国存储枪支 发布:2024-06-24 02:22:34 浏览:759