Linux开启SNMP,轻松监控网络设备 (linux 开启 snmp)

随着企业信息化进程的不断深入,网络设备的规模和复杂度也越来越高。在此情况下,对网络设备的监控和管理显得尤为重要。SNMP是一种网络协议,它是一种集中管理和监控网络设备的通用方法,可以轻松监控网络设备,为企业的信息化建设提供强有力的支持。本文将介绍如何在Linux上开启SNMP,并且实现对网络设备的监控。

一、 什么是SNMP

SNMP,全称为Simple Network Management Protocol,是Internet网络管理的标准协议之一。它是用于管理网络设备(如路由器、交换机、服务器等)的标准。SNMP应用于网络管理系统,具有简单、可扩展、动态发现、灵活度高等特点,被广泛应用于网络管理领域。SNMP协议是一种主动询问模式,即管理者通过查询获取设备信息,然后对设备进行监控和管理。

二、SNMP工作原理

SNMP协议中,有两个关键角色,一个是管理器,也即SNMP管理系统或SNMP软件,另一个是代理,也即网络设备上的SNMP代理程序。

SNMP管理器通过SNMP协议与网络设备上的代理程序进行通信,以获取设备信息,并根据设备参数进行管理和监控。SNMP管理器通过SNMP协议发送消息,例如GetRequest、SetRequest、Trap等消息,代理程序通过处理这些消息,向SNMP管理器返回数据。SNMP管理器根据返回的数据进行判断和决策,也可以对设备进行控制操作,如重新启动、关机、配置等。

三、 Linux开启SNMP服务

在Linux上开启SNMP服务前,需要安装SNMP服务软件,可以通过以下命令安装:

sudo apt-get install snmp snmpd

安装完SNMP服务软件后,可以通过如下命令来开启SNMP服务:

sudo service snmpd start

要想SNMP服务在重启后自动启动,可以使用以下命令:

sudo systemctl enable snmpd.service

四、 配置SNMP

SNMP配置文件位于/etc/snmp/snmpd.conf,通过修改snmpd.conf文件,可以定制SNMP的监控参数和方法。以下是SNMP配置的一些常用参数:

系统信息相关选项:

# 系统名称

syslocation “Earth”

# 系统位置

syslocation “St. Louis, Missouri, USA”

# 系统联系人

syscontact “Support “

设备身份验证信息相关选项:

# 设备RO只读身份

rocommunity public

# 设备RW读写身份

rwcommunity secret

网络接口相关选项:

# IP地址

agentAddress udp:161,udp6:[::1]:161

# 监听IP地址

listen 192.168.1.1

# 设置更大主机

maxGetbulkRepeats 10

# 设置目标检索端口

agentTrapAddress udp:162

其他常用监控配置:

# 告警通知

trapsink hostname public

# 阈值设置

linkUpDownNotifications yes

# 通信模式

defaultMonitors yes

以上是一些常见的SNMP配置参数,具体参数和配置方式可以参考SNMP官方文档,根据不同设备的参数和实际需求进行合理配置。配置完成后,执行以下命令,使配置生效:

sudo service snmpd restart

五、 SNMP监控工具

实现SNMP监控后,还需要相应的监控工具才能在SNMP服务上展开监控。以下是几个常见的SNMP监控工具:

MRTG:MRTG是一种图形化监控工具,可以用于监控多个设备的网络流量数据。

Cacti:Cacti是一款基于MRTG的图形化监控系统,用于监控交换机、路由器、服务器等设备的网络流量和性能数据。

Nagios:Nagios是一种全面的IT基础设施监控工具,可以用于监控服务器、应用程序和网络设备。

以上是几个常用的SNMP监控工具,用户可以根据实际需求选择合适的工具。

六、 小结

相关问题拓展阅读:

红旗linux系统中安装snmp需要安装哪几个文件

现在还有人用红旗吗?很多都没支持了,以下介绍下在Linux下安装snmp:

下载源码:

选择一个SNMP版本,比如5.7.1,下载地址如下:

解压文件:tar xzvf net-snmp-5.7.1.tar.gz

进入文件夹进行配置安装:cd net-snmp-5.7.1

net-snmp-5.7.1目录下的configure是可执行文件,如果想指定程序包的安装路径,那么首先建立相应的文件夹来存放安装信息,可以写成./configure –-prefix=/指定的路径名。参数–prefix用来告诉系统安装信息存放的路径,如果没有指定路径,直接执行./configure,那么程序包都会安装在系统默认的目录下,通常为:/usr/local下

执行命令”./configure –prefix=/usr/local/snmp –with-mib-modules=’ucd-snmp/diskio ip-mib/ipv4InterfaceTable'”,注意,以上的–with-mib-modules=ucd-snmp/diskio选项,可以让服务器支持磁盘I/O监控

4.回车出现下面问题,可以直接回车而不用回答,系统会采用默认信息,其中日志文件默认安装在/var/log/snmpd.log.数据存贮目录默认存放在/var/net-snmp下

    1)default version of-snmp-version(3): 

)System Contact Information (@@no.where)(配置该设备的联系信息枝羡):

    3)System Location (Unknown)(该系统设备的地理位置):

    4)Location to write logfile (日志文件位置):

    5)Location to Write persistent(数据存储目录):

5.执行编译和安装:make  &&  make install

6.配置snmpd.conf

使用”ls”命令查看/usr/local/snmp目录下是否存在etc目录,如果不存在etc目录,就创建一个

查看结果显示不存在etc目录,在/usr/local/snmp目录下创建一个etc目录,创建etc目录命令”mkdir /usr/local/snmp/etc”

6.找到SNMP源码目录(net-snmp-5.7.1)下EXAMPLE.conf文件

 复制EXAMPLE.conf文件到到好散/usr/local/snmp/etc目录,并重命名为snmpd.conf:”cp EXAMPLE.conf /usr/local/snmp/etc/snmpd.conf”

7.使用vi编辑器打开snmpd.conf文件:”vi /usr/local/snmp/etc/snmpd.conf”,编辑snmpd.conf文件中的内容

8.找到【AGENT BEHAVIOUR】,允许网络访问

9.修改如下:添加”agentAddress udp:161″配置项

10. 找到【ACTIVE MONITORING】选择协议

11. 找到【ACCESS CONTROL】设置权限

12. 找到【rocommunity public default -V systemonly】,把 -V systemonly去掉,这是设置访问权限的,去掉后能访问全部

13.保存snmpd.conf后退出

14.启动:

由于友搭氏我们刚才修改SNMP的snmpd.conf文件,所以在启动snmp服务之前,先使用命令”ps aux | grep snmp | grep -v grep |awk ‘{print $2}’| xargs kill”关闭snmp的相关服务

15.使用”netstat -an |grep 161″查看snmp的服务是否启动

16.启动snmp服务:”/usr/local/snmp/in/snmpd -c /usr/local/snmp/etc/snmpd.conf”

17.测试:

获取本机的系统名字,使用命令:”snmpget -v 2c -c public localhost sysName.0″或者”snmpget -v 2c -c public 本机的ip地址 sysName.0″或者”snmpget -v 2c -c public 本机的ip地址 .1.3.6.1.2.1.1.5.0″进行测试

执行以下的几个命令都可以获取到本机的系统名字:

    snmpget -v 2c -c public localhost sysName.0

    snmpget -v 2c -c public 127.0.0.1 sysName.0

    snmpget -v 2c -c public 192.168.1.229 sysName.0

    snmpget -v 2c -c public localhost .1.3.6.1.2.1.1.5.0

    snmpget -v 2c -c public 127.0.0.1 .1.3.6.1.2.1.1.5.0

    snmpget -v 2c -c public 192.168.1.229 .1.3.6.1.2.1.1.5.0

能够正常返回系统的名字就说明SNMP安装配置成功了。也可以使用命令”snmpget –version”查看当前的安装版本号来验证是否安装成功,如果安装成功,则显示当前的安装版本号

18.完成snmpd的配置并且SNMP测试通过之后,要确保Linux的iptables防火墙对外开放了udp 161端口的访问权限,可以使用”iptables –L –n”查看当前iptables规则

19.用”iptables -I INPUT -p udp –dport 161 -j ACCEPT”命令添加UDP 161端口到iptables防火墙中,然后执行”iptables save”命令保存防火墙的更改

20.在window系统下使用Snmputil.exe工具测试对Linux下的SNMP访问,测试Linux的UDP 161端口是否对外开

21.”snmputil get 192.168.1.229 public .1.3.6.1.2.1.1.5.0″命令返回192.168.1.229这台Linux服务器的名字,可以看到,Linux服务器的名称已经正常返回输出到命令行窗口了。

linux 开启 snmp的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux 开启 snmp,Linux开启SNMP,轻松监控网络设备,红旗linux系统中安装snmp需要安装哪几个文件的信息别忘了在本站进行查找喔。


数据运维技术 » Linux开启SNMP,轻松监控网络设备 (linux 开启 snmp)