SNMP 使用总结

发布时间 2023-07-31 00:27:22作者: 香吧香

转载请注明出处:

1.SNMP简介  

  SNMP(Simple Network Management Protocol,简单网络管理协议)是一种用于网络设备和系统的管理协议。它允许网络管理员监控和管理网络设备,并获取关键的性能指标、配置信息以及事件通知。

  SNMP的作用主要包括以下几个方面:

  1. 监控设备状态:SNMP允许管理员实时监测网络设备的状态和性能指标。可以获取诸如设备的CPU利用率、内存使用情况、接口带宽利用率等信息。通过监控这些指标,管理员可以及时发现设备的异常行为和潜在问题。

  2. 配置管理:SNMP允许管理员远程配置网络设备,进行各种设备设置和管理操作。可以修改设备的IP地址、启用/禁用端口、修改路由表等。这样,管理员无需直接连接到设备,就可以管理多个设备,提高了管理效率。

  3. 事件通知和告警:SNMP可以通过发送TRAP或通知消息来实时通知管理员有关设备状态变化的重要事件。例如,链路故障、温度超过阈值等。这样,管理员可以及时采取措施来解决问题,避免潜在的网络中断或故障。

  4. 远程故障排除:SNMP允许管理员远程访问设备的管理信息,如配置文件、设备日志等。这样,当发生故障时,管理员可以远程查看和分析设备的状态信息,进行故障排除。

  5. 管理系统集成:SNMP提供了一种标准化的协议,允许不同厂商的设备和管理软件之间进行互操作。管理员可以使用各种SNMP管理软件来管理设备,无需为不同设备采购不同的管理工具。

  SNMP是一种用于网络设备管理的标准协议,它简化了网络设备的监控和管理。通过使用SNMP,管理员可以实时监测设备的状态和性能,进行配置管理,及时处理事件和故障,并提高整个网络的可靠性和安全性。

2.SNMP配置开启

  要配置和使用SNMP,可以按照以下步骤进行操作:

  1. 启用SNMP服务:在要管理的设备上启用SNMP服务。这通常在设备的管理界面、命令行界面或配置文件中完成。

  2. 配置SNMP参数:设置SNMP相关参数,以适应您的需求。这些参数包括SNMP版本、团体名(Community String)、SNMP管理主机等。

    • SNMP版本:选择适合您环境的SNMP版本,如SNMPv1、SNMPv2c或SNMPv3。每个版本都有不同的功能和安全性级别。

    • 团体名:团体名类似于密码,用于身份验证和访问控制。在SNMPv1和SNMPv2c中,需要配置读取团体名(Read Community)和写入团体名(Write Community)。

    • SNMP管理主机:指定允许管理设备的主机。管理员可以通过这些主机与设备进行通信。

  3. 确定监控对象:确定需要监控的设备对象和OID(Object Identifier)。OID是标识SNMP管理对象的唯一标识符,用于获取特定对象的信息。

  4. 使用SNMP管理软件:在管理员的计算机上安装合适的SNMP管理软件。常见的SNMP管理软件包括Zabbix、Cacti、Nagios等。这些软件提供用户友好的界面,并可与设备进行通信。

    • 配置设备信息:在SNMP管理软件中,配置要管理的设备的IP地址、SNMP版本和团体名等信息。

    • 定义监控项:添加需要监控的对象和OID。这样,管理软件就会通过SNMP协议从设备获取相应的数据。

    • 设置阈值和告警:根据需求,为每个监控项设置合适的阈值,并配置相应的告警通知方式,如邮件、短信等。

  5. 数据采集和展示:SNMP管理软件会定期使用SNMP协议与设备通信,并获取所需的监控数据。然后,这些数据会被存储、处理和展示,以便管理员进行分析和决策。

  配置示例- 以华为设备配置为例:

#创建一个名为"snmp-monitor"的SNMPv3用户组,并指定该组使用隐私(Privacy)模式,以及允许查看ISO视图(iso-view)和通知视图(notify-view)。
snmp-agent group v3 snmp-monitor privacy notify-view iso-view
#创建一个名为"iso-view"的MIB视图,包括了全部的ISO子树。这意味着SNMPv3用户在该视图下可以访问ISO子树中的所有对象 snmp
-agent mib-view included iso-view iso
#创建一个名为"snmp-monitor"的SNMPv3用户。 snmp
-agent usm-user v3 snmp-monitor
#将SNMPv3用户"snmp-monitor"分配到用户组"snmp-monitor"中。通过这个命令,SNMPv3用户"snmp-monitor"将具有用户组"snmp-monitor"所定义的权限和安全策略。 snmp
-agent usm-user v3 snmp-monitor group snmp-monitor
#为SNMPv3用户"terra-monitor"启用SHA(Secure Hash Algorithm)认证模式。这表示用户在进行SNMP操作时需要进行SHA哈希算法的认证。 snmp
-agent usm-user v3 snmp-monitor authentication-mode sha
#这个密码将用于SNMPv3用户"snmp-monitor"的认证。 回车后输入密码 snmp
-monitor-passwd #为SNMPv3用户"terra-monitor"启用DES(Data Encryption Standard)56位隐私模式。这表示用户在进行SNMP操作时需要进行56位DES算法的数据加密。 snmp-agent usm-user v3 snmp-monitor privacy-mode des56
#这个密码将用于SNMPv3用户"snmp-monitor"的数据加密。 回车后输入密码 snmp
-monitor-passwd

3.通过snmpwalk或snmpget查看设备数据

3.1安装snmp

  安装命令: apt install snmp

3.2 使用snmp的两个采集命令工具查询数据:snmpget 与 snmpwalk

  snmpgetsnmpwalk是两个常用的SNMP命令行工具,它们之间有以下区别:

  • snmpget:该命令用于获取特定OID(Object Identifier)的值。您需要指定要获取的OID,并提供适当的SNMP版本、目标设备、团体名等参数。snmpget将向设备发送单个SNMP请求,并返回指定OID的值。

  • snmpwalk:该命令用于获取一个OID树下的所有对象及其值。您只需要指定根OID,并提供适当的SNMP版本、目标设备、团体名等参数。snmpwalk将使用连续的SNMP请求,从指定的根OID开始遍历整个OID树,返回每个对象及其对应的值。

  主要区别如下:

  • 范围:snmpget获取单个OID的值,而snmpwalk获取指定OID树下的所有对象及其值。

  • 返回类型:snmpget返回单个OID对应的值,而snmpwalk返回多个OID及其对应的值的列表。

  • 遍历方式:snmpget只发送一次请求,获取指定OID的值。而snmpwalk使用连续的请求,自动遍历OID树下的所有对象,并返回它们的值。

  • 使用场景:snmpget适用于针对特定OID的单独查询,例如获取设备的特定指标值。snmpwalk适用于需要获取整个OID树下的数据,例如进行全面的设备信息收集或监控。

  使用示例:

   snmpget 可以查询单个oid对应的值,上面的oid:1.3.6.1.2.1.2.2.1.2 是接口名称查询的mib oid,snmpwalk 会返回设备所有的接口名称,接口名称前面的是每个接口名称对应的oid,查看某个接口id的接口名称,使用第一条命令接口。

4.mib介绍

附:1.MIB 相关简介可以查看华为设备文档中整理的相关配置和使用说明:

  https://support.huawei.com/enterprise/zh/doc/EDOC1100247991/2f6c0513    

  2.SNMP(MIB(OID)& SMI & SNMP)介绍

    https://blog.csdn.net/a9254778/article/details/49160265