snmp监控设置

Wget 下载net-snmp源代码包

wget http://sourceforge.net/projects/net-snmp/files/net-snmp/5.7.2.1/net-snmp-5.7.2.1.tar.gz

解包

[[email protected] home]# tar -zxf net-snmp-5.7.2.1.tar.gz

mv net-snmp-5.7.2.1 snmp

编译注意参数请注意参数:

--prefix=/usr/local/snmp

选项,选择snmp的安装路径。

--with-mib-modules=ucd-snmp/diskio

选项,可以让服务器支持磁盘I/O监控。

–enable-mfd-rewrites

选项,允许用新的MFD重写mid模块,这样编译的snmp就能支持64位的计数器,能正常采集到流量。

SNMP在安装时需要选择使用的协议版本,包含三个选项:1,2(for 2c)和3。为了安全, 1 版本不能添加snmp监控,所以不推荐使用!其他选项直接跳过就可以啦。

[[email protected] snmp]# ./configure --prefix=/usr/local/snmp --with-mib-modules=ucd-snmp/diskio -enable-mfd-rewrites

报错configure: error: in `/home/snmp‘: configure: error: no acceptable C compile

缺少gcc yum –y install gcc

完成再次运行./Configure

接下来,开始编译和安装:

Make && make install

一般编译源码包不会出现什么错误,而当make的时候centos就报错了。

Can‘t locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 1.

BEGIN failed--compilation aborted at Makefile.PL line 1.

make: *** [perlmakefiles] 错误 2

解决方法

yum -y install perl-devel-5.8.8-32.fc8如果找不到包

或者yum -y install perl-devel*

这样过后可正常安装而不报错了

输入可以查看版本

[[email protected] snmp]# snmpd -v

NET-SNMP version:  5.5

Web:               http://www.net-snmp.org/

Email:             [email protected]

一下引用360监控文档

★ v3

当然,我们强烈建议您使用v3版本来进行身份验证。对于一些早期版本的Linux分发版,其内置的SNMP程序可能并不支持v3,所以我们建议您按照前边介绍的方法,编译和安装最新的Net-Snmp。

v3使用的是另一种验证方式,会比v2c版本复杂一些,我们需要创建一个v3的帐号,我们同样修改以下配置文件:

[email protected]~#  vim /usr/local/snmp/share/snmp/snmpd.conf

然后添加一个只读帐号,如下:

rouser yunjiankong auth

注意:添加用户时,请确保snmp服务没有运行,否则无法添加。

在v3中,“rouser”用于表示只读帐号类型,随后的“yunjiankong”是指定的用户名,后边的“auth”指明需要验证。

接下来,我们还要添加“yunjiankong”这个用户,这就是v3中的特殊机制,我们打开以下配置文件:

[email protected]~#  vim /var/net-snmp/snmpd.conf

这个文件会在snmpd启动的时候被自动调用,我们需要在它里边添加创建用户的指令,如下:

createUser yunjiankong MD5 mypassword

这行配置的意思是创建一个名为“yunjiankong”的用户,密码为“mypassword”,并且用MD5进行加密传输。这里要提醒的是:

密码至少要有8个字节

这是SNMP协议的规定,如果小于8个字节,通信将无法进行。

值得注意的是,一旦snmpd启动后,出于安全考虑,以上这行配置会被snmpd自动删除,当然,snmpd会将这些配置以密文的形式记录在其它文件中,重新启动snmpd是不需要再次添加这些配置的,除非你希望创建新的用户。

以上配置中的用户名、密码和加密方式,在云监控添加服务器的时候需要添加。

启动SNMP代理程序

经过配置后,现在可以启动snmpd  (最好使用绝对路径启动),如下:

/usr/local/snmp/sbin/snmpd

如果要关闭,则可以直接kill这个进程,如下:

killall -9 snmpd

增强的安全机制

请注意,此步并不是必须要进行的步骤,建议如果您了解linux网络防火墙(iptables)才进行设置,否则可能导致您的网站无法被访问到。正常情况下如果不暴露您的服务器ip的情况下,snmp是非常安全的。

有了以上的验证机制,你就可以放心的使用SNMP代理了。但是,如果你的SNMP代理程序版本较低,可能会有一些别有用心的破坏者利用一些固有的漏洞进行破坏,比如发送较长的数据导致SNMP代理程序内存泄漏或者拒绝服务等,为此,你还可以使用防火墙(iptables)来进行增强的安全过滤。

在Linux中,我们用iptables来实现防火墙,一般情况下,除了流入指定端口的数据包以外,我们应该将其它流入的IP数据包抛弃。你可能已经配置了一定的防火墙规则,那么只要增加针对SNMP的规则即可。

SNMP代理程序默认监控在udp161端口,为你的iptables增加以下规则:

iptables -A INPUT -i eth0 -p udp -s 220.181.150.98 --dport 161 -j ACCEPT

iptables -A INPUT -i eth0 -p udp -s 180.153.229.230 --dport 161 -j ACCEPT

以上设置中假设服务器外网网卡是eth0,你可以根据实际情况来修改。

这样一来,只有云监控的专用监控器可以发送UDP数据包到你的服务器的161端口,与SNMP代理程序进行通信。

PS:当然如果你发现你还是不能监控那么请把UDP端口打开吧。

我就被这东西困惑了很久

iptables -I INPUT -p UDP --dport 161 -j ACCEPT

时间: 2024-08-25 16:02:02

snmp监控设置的相关文章

JVM的SNMP监控配置

近期看了一下JVM对监控的支持,除了常规的JMX外居然还有SNMP, 有点意思, 这个网管协议适配的地方还真多,那么就先测试一下. 先随便找一个能在后台持续运行的java小程序,如我手头的BIO的socket服务器. JVM端SNMP的配置 启动SNMP需要两个地方更改,(http://docs.oracle.com/javase/7/docs/technotes/guides/management/snmp.html) 在jvm的system properties上加一个 com.sun.ma

zabbix 配置SNMP监控

什么是SNMP? 简单网络管理协议(SNMP),由一组网络管理的标准组成,包含一个应用层协议(application layer protocol).数据库模型(database schema)和一组资源对象. 该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况.现在服务器.交换机.路由器.打印机等设备都支持SNMP协议. zabbix配置SNMP思路:(zabbix服务器是Linux系统) 第一步:zabbix服务器先安装SNMP服务,配置SNMP服务,设置开

zabbix分布式监控与SNMP监控

分布式监控 作用 分担压力,减轻负载 多机房监控 zabbix Server  ===>  zabbix agent (只能同一个局域网监控) 环境准备 做好快照 zabbix server m01 zabbix proxy cache01 zabbix agent  cache01 在客户端cache01安装zabbix proxy 配置zabbix yum源并安装proxy [[email protected] ~]# rpm -ivh http://repo.zabbix.com/zabb

zabbix-3.2.6之snmp监控(无需安装agent也能监控)

一.snmp监控介绍 概述 如果我们需要监控打印机.路由器.UPS等设备,肯定不能使用zabbix agentd,因为他们不能安装软件的,还好他们一般都支持SNMP协议,这样我可以使用SNMP来监控他们.如果你希望使用SNMP agent来获取这些设备的信息,那么在安装zabbix server的时候你需要增加snmp的支持. 备注:SNMP检查基于UDP协议 注意事项 如果监控基于SNMPv3协议的设备,确保msgAuthoritativeEngineID(通常叫做snmpEngineID 或

Windows系统性能监控设置

*** Windows系统性能监控设置 ### 注意:这是用Windows 2003时总结过的.今天有朋友问起来了,一想曾经总结过,也是看Windows帮助或网络上查询总结的,发出来留作纪念,回忆曾经维护上千台Windows 2003的岁月! 1.内存信息: Memory\ Available Bytes .Memory\ Pages/sec .Memory\ Available Bytes.Available Mbytes .Page/sec (1)如果您怀疑有内存泄露,请监视 Memory\

nagios监控设置monitor告警的用户名和密码

nagios监控设置monitor告警的用户名和密码默认在commands.cfg文件中定义: 其中参数解释: Vim commands.cfg文件: /usr/local/bin/sendEmail –f [email protected] –t [email protected] –s mail.test.com –u "from nagios" –xu nagios –xp p#3isoda –m happy解释:-f 表示发送者的邮箱-t 表示接收者的邮箱-s 表示SMTP服务

zabbix snmp监控交换机流量

zabbix监控交换机是非常的简单,只需知道交换机snmp的密码,然后连结下自带的snmp模板,就可以完成监控了,还有什么比这配置更简单的? 1.配置交换机的snmp 1 2 snmp-server community yang ro   #配置读取snmp的密码   snmp-server community yangrong rw   #配置可写的snmp密码,为安全起见,最好别开启 在linux上安装net-snmp net-snmp-utils包,测试snmp访问 1 2 #snmpwa

SNMP监控一些常用OID的总结

做网络监控的人对SNMP的协议肯定够很熟悉,下面罗列出一些常见的OID说明,方便大家省去查阅相关资料的麻烦. 系统参数(1.3.6.1.2.1.1) OID 描述 备注 请求方式 .1.3.6.1.2.1.1.1.0 获取系统基本信息 SysDesc GET .1.3.6.1.2.1.1.3.0 监控时间 sysUptime GET .1.3.6.1.2.1.1.4.0 系统联系人 sysContact GET .1.3.6.1.2.1.1.5.0 获取机器名 SysName GET .1.3.

LR通过snmp监控linux下的mysql

LR通过snmp监控linux下的mysql 在linux底下安装配置snmp: 1.使用系统盘安装rpm包(这种方式最好) 2.在www.net-snmp.org处下载net-snmp安装(安装后有可能找不到snmpd.conf文件) tar xzvf  net-snmp-5.4.2.1.tar.gzcd  net-snmp-5.4.2.1./configure这里会叫你输入一些信息,其中有一步(好像是第二步)是问要安装什么版本:1.2.3,输入2回车其它都直接回车就可以makemake in