Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

使用 SNMP 进行网络监控

SUMMARY 本节介绍 Junos OS 中的 SNMP 实施。

了解 Junos OS 中的 SNMP 实施情况

SNMP 架构

典型的 SNMP 实施包括三个组件:

  • 网络管理系统 (NMS) — 硬件(设备)和软件(SNMP 管理器)的组合,用于监控和管理网络。管理器会轮询您指定的设备频率,了解有关网络连接、活动和事件的信息。

  • 托管设备 — 受管设备(也称为网络元素)是网络上由 NMS 管理的任何设备。路由器和交换机是托管设备的常见示例。

  • SNMP 代理 — SNMP 代理是驻留在受管设备上并与 NMS 通信的 SNMP 进程。SNMP 代理与在 NMS 或主机上运行的 SNMP 管理器软件交换网络管理信息。代理响应经理提出的信息和操作请求。代理还控制对代理 MIB 的访问,该 MIB 可由 SNMP 管理器查看或更改的对象集合。

本主题包含以下部分:

SNMP MIB

SNMP 数据以高度结构化的层次化格式存储,称为管理信息库 (MIB)。MIB 定义网络设备中的托管对象。

MIB 结构基于树结构,并将对象分组定义为相关集。MIB 中的每个对象都与一个对象标识符 (OID) 关联,用于为对象命名。树结构的“叶”是实际的托管对象实例,它表示发生在网络设备中的资源、事件或活动。

MIB 要么是标准配置,要么特定于企业。标准 MIB 由互联网工程任务组 (IETF) 创建,并记录在各种 RFC 中。根据供应商的不同,许多标准 MIB 都与 NMS 软件一起提供。您还可以从 IETF 网站下载标准 MIB, www.ietf.org,并在必要时将其编译到 NMS 中。

有关标准支持的 MIB 列表,请参阅 Junos OS 支持的标准 SNMP MIB

企业特定的 MIB 由特定设备制造商开发和支持。如果您的网络中的设备具有企业特定的 MIB,则必须从制造商处获取这些 MIB 并将其编译到网络管理软件中。

有关瞻博网络企业支持的 MIB 列表,请参阅 Junos OS 支持的特定于企业的 SNMP MIB

SNMP 管理器和代理身份验证和通信

SNMP 使用一种非常基本的身份验证形式,称为社区字符串,来控制管理器和远程代理之间的访问。社区字符串是用于将设备集合(及其上运行的代理)分组到通用管理域中的管理名称。如果经理和代理共享同一个社区,他们可以相互交谈。许多人将 SNMP 社区字符串与密码和密钥相关联,因为它们所做的工作相似。因此,SNMP 社区历来被称为字符串。

代理与管理器之间的通信会以以下形式之一发生:

  • GetGetBulkGetNext 请求 — 管理器向代理请求信息;代理在响应消息中 Get 返回信息。

  • Set 请求 — 管理器更改由代理控制的 MIB 对象的值;代理在响应消息中 Set 指示状态。

  • Traps 通知 — 代理发送陷阱,通知管理器网络设备上发生的重大事件。

SNMP 陷阱和通知

当网络设备上发生重大事件(通常是出现错误或故障)时,路由器可以向 SNMP 管理器发送通知。SNMP 通知可以作为陷阱发送或通知请求。SNMP 陷阱是未经确认的通知。SNMP 通知是确认通知。

SNMP 陷阱在标准或企业版 MIB 中进行定义。标准陷阱由 IETF 创建并记录在各种 RFC 中。标准陷阱汇总到网络管理软件中。您也可以从 IETF 网站下载标准陷阱 ,www.ietf.org

有关 Junos OS 支持的标准陷阱的更多信息,请参阅 运行 Junos OS 的设备上支持的标准 SNMP 陷阱

企业特定的陷阱由特定设备制造商开发和支持。如果您的网络中的设备具有企业特定的陷阱,则必须从制造商获取这些陷阱并将其编译到您的网络管理软件中。

有关 Junos OS 支持的企业特定陷阱的更多信息,请参阅 Junos OS 支持的特定于企业的 SNMP 陷阱。有关 SNMP 陷阱的系统日志记录严重性级别的信息,请参阅 SNMP 陷阱的系统日志记录严重性级别

使用陷阱时,接收方在收到陷阱时不会发送任何确认,并且发送方无法确定是否收到陷阱。为了提高可靠性,SNMPv3 支持 SNMP 通知。接收通知的 SNMP 管理器会通过响应来确认消息。有关 SNMP 通知的信息,请参阅 配置 SNMP 通知

Junos OS 上的 SNMP

在 Junos OS 上,SNMP 使用标准(由 IETF 开发并在 RFC 中记录)和瞻博网络企业专用 MIB。

注:

默认情况下,在运行 Junos OS 的设备上未启用 SNMP。

在 Junos OS 中,维护 SNMP 管理数据的过程包括:

  • 主 SNMP 代理,驻留在受管设备上,由 NMS 或主机管理。

    Junos OS SNMP 代理软件由 SNMP 主代理(称为 SNMP 进程或 snmpd)组成。它驻留在受管设备上,并由 NMS 或主机进行管理。

  • 驻留在 Junos OS 不同模块上的各种子代理,例如路由引擎。主 SNMP 代理将所有 SNMP 请求委托给子代理。每个子代理负责支持一组特定的 MIB。

  • 在轮询 SNMP 数据(例如,与接口相关的 MIB)时,Junos OS 进程与子代理共享数据。

社区字符串是由 Junos OS 中的 SNMP 代理实施的第一级管理身份验证。

有关更多信息,请参阅以下部分。

Junos OS 对 SNMP 版本的支持

Junos OS 支持以下版本的 SNMP:

  • SNMPv1 — SNMP 的初始实施,定义 SNMP 的架构和框架。

  • SNMPv2c — 修订后的协议,改进了性能和管理器间通信。具体而言,SNMPv2c 实施社区字符串,在确定 SNMP 客户端访问 SNMP 代理中的数据时,该字符串充当密码。SNMP GetGetBulkGetNextSet请求中包含社区字符串。代理可能需要与GetGetBulkGetNext对请求(访问)不同的请求和请求(read-onlyread-write访问)Set的社区字符串。

  • SNMPv3 — 关注安全性的最新协议。SNMPv3 定义安全模型、基于用户的安全模型 (USM) 和基于视图的访问控制模型 (VACM)。SNMPv3 USM 提供数据完整性、数据源身份验证、消息重放保护和消息有效负载泄露保护。SNMPv3 VACM 可通过访问控制来确定是否允许对管理信息进行特定类型的访问(读取或写入)。

此外,Junos OS SNMP 代理软件可接受 IPv4 和 IPv6 地址,以便通过 IPv4 和 IPv6 进行传输。对于 IPv6,Junos OS 支持以下功能:

  • 基于 IPv6 网络的 SNMP 数据

  • IPv6 特定的 MIB 数据

  • 适用于 IPv6 的 SNMP 代理

SNMP 陷阱的系统日志记录严重性级别

对于某些陷阱,当陷阱情况发生时,无论 SNMP 代理是否向 NMS 发送陷阱,如果系统日志记录配置为记录具有该系统日志记录严重性级别的事件,则陷阱都会被记录。

有关标准陷阱的系统日志记录严重性级别的更多信息,请参阅 Junos OS 支持的标准 SNMP 陷阱。有关企业特定陷阱的系统日志记录严重性级别的更多信息,请参阅 Junos OS 支持的企业特定 SNMP 陷阱

SNMP 通信流

当 NMS 轮询主代理的数据时,如果主代理或某个子代理提供了请求的数据,则主代理会立即与 NMS 共享这些数据。但是,如果请求的数据不属于主代理或子代理维护的类别,则子代理会轮询 Junos OS 内核或维护该数据的进程。在接收所需数据时,子代理会将响应传回主代理,而主代理又将其传递到 NMS。

图 1 显示了 NMS、SNMP 主代理 (snmpd)、SNMP 子代理、Junos OS 内核和数据包转发引擎之间的通信流。

图 1: SNMP 通信流SNMP 通信流

当网络设备上发生重大事件(通常是错误或故障)时,SNMP 代理会向 SNMP 管理器发送通知。Junos OS 中的 SNMP 实施支持两种类型的通知:陷阱和通知。陷阱 是未经确认的通知,而 通知 是已确认的通知。仅在支持 SNMP 版本 3 (SNMPv3) 配置的设备上支持通知。

陷阱队列

Junos OS 支持陷阱队列,以确保陷阱不会因为路由临时不可用而丢失。形成了两种类型的队列, 即目标队列节流队列,以确保提供陷阱并控制陷阱流量。

注:

无法在 Junos OS 中配置陷阱队列。系统日志中提供的内容除外,您无法查看有关陷阱队列的信息。

由于主机无法访问而将陷阱返回到特定目标时,Junos OS 会形成目标队列,并将后续陷阱添加到同一目标队列中。Junos OS 每 30 秒检查一次路由的可用性,并循环从目标队列发送陷阱。

如果陷阱传递失败,则陷阱会重新添加到队列中,并重置队列的传递尝试计数器和下一个传递尝试计时器。后续尝试的渐进间隔为 1 分钟、2 分钟、4 分钟和 8 分钟。两次尝试之间的最大延迟为 8 分钟,最大尝试次数为 10。10 次尝试失败后,目标队列和队列中的所有陷阱将被删除。

Junos OS 还有一个节流机制,用于控制在特定时间段内发送的陷阱数量(油门阈值;500 个陷阱的默认值),并确保陷阱流量的一致性,特别是在由于接口状态变化而生成大量陷阱时。当第一个陷阱到达油门时,油门间隔期就开始了。将处理陷阱阈值内的所有陷阱,超过阈值限制的陷阱将排队。

陷阱队列的最大大小(即,限制队列和目标队列组合在一起)为 40,000。但是,在 EX 系列以太网交换机上,陷阱队列的最大大小为 1,000。EX 系列交换机以外的设备的任何一个队列的最大大小为 20,000。在 EX 系列交换机上,一个队列的最大大小为 500。将陷阱添加到限制队列中时,或者如果限制队列超过最大大小,将陷阱重新添加到目标队列之上,并且来自目标队列的所有后续尝试将停止 30 秒,在此之后,目标队列重新启动发送陷阱。

注:

用户无法为陷阱队列配置 Junos OS。用户不能查看有关陷阱队列的任何信息,记录的信息中除了可用信息。

SNMPv3 概述

与 SNMP 版本 1 (SNMPv1) 和 SNMP 版本 2 (SNMPv2) 不同,SNMP 版本 3 (SNMPv3) 支持身份验证和加密。SNMPv3 使用基于用户的安全模型 (USM) 实现消息安全,使用基于视图的访问控制模型 (VACM) 实现访问控制。USM 用于指定身份验证和加密。VACM 用于指定访问控制规则。

USM 使用的用户概念为代理和管理器配置了安全参数(安全级别、身份验证、隐私协议和密钥级别)。使用 USM 发送的消息比使用社区字符串发送的消息受到更好的保护,其中密码以明文方式发送。借助 USM,管理器和代理之间交换的消息可以进行数据完整性检查和数据源身份验证。USM 使用时间指示器和请求 ID,可防止消息延迟和消息重放。加密也可用。

为了对 USM 进行补充,SNMPv3 使用 VACM,这是一种适用于 SNMPv3 应用程序的高细粒度访问控制模型。根据将安全策略应用于查询代理的组的名称的概念,代理决定是否允许该组查看或更改特定的 MIB 对象。VACM 定义了数据集合(称为视图)、数据用户组和访问语句,用于定义特定用户组可以使用哪些视图来读取、编写或接收陷阱。

SNMPv3 中的陷阱条目是通过配置通知、通知过滤器、目标地址和目标参数创建的。该 notify 语句指定通知类型(trap),并包含一个标记。该标记定义一组要接收陷阱的目标地址。通知过滤器定义对陷阱对象标识符 (OID) 集合的访问。目标地址定义了管理应用程序的地址和其他要用于发送通知的属性。目标参数定义向特定管理目标发送通知时使用的消息处理和安全参数。

要配置 SNMPv3,请执行以下操作:

SNMPv3 概述(QFX 处于独立模式)

QFX3500 交换机支持 SNMP 版本 3 (SNMPv3)。SNMPv3 通过支持用户身份验证和数据加密,增强了 SNMPv1 和 SNMPv2c 的功能。SNMPv3 使用基于用户的安全模型 (USM) 为 SNMP 消息提供安全性,使用基于视图的访问控制模型 (VACM) 实现用户访问控制。

SNMPv3 功能包括:

  • 借助 USM,SNMP 管理器和代理之间的 SNMP 消息可以验证消息源并检查数据完整性。USM 通过实施超时限制和检查重复消息请求 ID,减少了消息发送延迟和消息重播。

  • VACM 通过向代理提供 SNMP 查询的用户访问控制来补充 USM。您可以定义希望扩展到一组或多位用户的访问权限。访问权限由安全模型参数 (、 v1、 ) 和安全级别参数 (authenticationusmprivacynonev2决定。对于每个安全级别,都必须为组关联一个 MIB 视图。将 MIB 视图与组关联可授予对该组一组 MIB 对象的读取、写入或通知权限。

  • 您可以为每个用户配置安全参数,包括用户名、身份验证类型和身份验证密码,以及隐私类型和隐私密码。为每个用户提供的用户名的格式取决于为该用户配置的安全模型。

  • 为了确保消息传递的安全性,在本地 SNMP 服务器和目标 SNMP 服务器之间发送的消息数据中会包含另一种类型的用户名,称为安全名称。每个用户名都会映射到一个安全名称,但安全名称的格式与安全模型无关。

  • SNMPv3 中的陷阱条目是通过配置通知、通知过滤器、目标地址和目标参数创建的。该 notify 语句指定通知类型(trap)并包含一个标记,用于定义接收陷阱的一组目标地址。通知过滤器定义对陷阱对象标识符 (OID) 集合的访问。目标地址定义 SNMP 管理应用程序的地址以及发送通知中使用的其他属性。目标参数定义向特定目标发送通知时使用的消息处理和安全参数。

将 MIB 文件加载到网络管理系统

要让网络管理系统 (NMS) 识别和了解 Junos OS 使用的 MIB 对象,必须先使用 MIB 编译器将 MIB 文件加载到 NMS。MIB 编译器是解析 MIB 信息(如 NMS 的 MIB 对象名称、ID 和数据类型)的实用程序。

您可以从 https://www.juniper.net/documentation/en_US/release-independent/junos/mibs/mibs.html 的 Junos OS 企业 MIB 索引下载 Junos MIB 软件包。Junos MIB 软件包在和.tar软件包中.zip提供。您可以根据需要下载适当的格式。

Junos MIB 软件包包含两个文件夹:StandardMibsJuniperMibs。该 StandardMibs 文件夹包含运行 Junos OS 的设备上支持的标准 MIB 和 RFC,而 JuniperMibs 该文件夹则包含瞻博网络企业特定的 MIB。

要加载管理和监控运行 Junos OS 的设备所需的 MIB 文件:

  1. 请转至瞻博网络 SNMP MIB 软件包的 SNMP MIB 浏览器下载页面 (SNMP MIB Explorer)。
  2. TAR单击相应版本标题下的或ZIP链接,下载该版本的 Junos MIB 软件包。
  3. 使用适当的实用程序解压文件(.tar.zip)。
  4. 按以下顺序加载标准 MIB 文件(从 StandardMibs 文件夹中):
    注:

    一些常用的 MIB 编译器预先加载了标准 MIB。如果标准 MIB 已在您使用的 MIB 编译器上加载,请跳过这一步并继续执行步骤 7。

    1. mib-SNMPv2-SMI.txt

    2. mib-SNMPv2-TC.txt

    3. mib-IANAifType-MIB.txt

    4. mib-IANA-RTPROTO-MIB.txt

    5. mib-rfc1907.txt

    6. mib-rfc4293.txt

    7. mib-rfc2012a.txt

    8. mib-rfc2013a.txt

    9. mib-rfc2863a.txt

  5. 加载剩余的标准 MIB 文件。
    注:

    您必须遵循此过程指定的顺序,并且确保在加载特定于企业的 MIB 之前加载所有标准 MIB。在加载其他 MIB 之前,可能存在一些依赖性要求在编译器上存在特定的 MIB。您可以在 MIB 文件的部分中找到列出的 IMPORT 此类依赖项。

  6. 根据您的要求,加载瞻博网络企业专用 SMI MIB mib-jnx-smi.txt和以下可选 SMI MIB:
    • mib-jnx-js-smi.txt-(可选)适用于瞻博网络安全 MIB 树对象

    • mib-jnx-ex-smi.txt—(可选)EX 系列以太网交换机

    • mib-jnx-exp.txt-(推荐)适用于瞻博网络实验 MIB 对象

  7. JuniperMibs 文件夹中加载剩余的企业专用 MIB。
提示:

加载 MIB 文件时,如果编译器返回错误消息,指出任何对象均未定义,请使用文本编辑器打开 MIB 文件,并确保在编译器上加载部分列出的 IMPORT 所有 MIB 文件。如果此部分列出的 IMPORT 任何 MIB 文件未在编译器上加载,请加载该 MIB 文件,然后尝试加载无法加载的 MIB 文件。

例如,企业特定的 PING MIB mib-jnx-ping.txt依赖于 RFC 2925 DiSMAN-PING-MIB mib-rfc2925a.txt。如果尝试在加载mib-rfc2925a.txt之前加载mib-jnx-ping.txt,编译器会返回一条错误消息,指出中mib-jnx-ping.txt某些对象尚未定义。Load mib-rfc2925a.txt,然后尝试加载 mib-jnx-ping.txt。企业特定的 PING MIB, mib-jnx-ping.txt然后加载,没有任何问题。

show snmp

您可以在 Junos OS 操作模式下访问几个命令来监控 SNMP 信息。其中一些命令包括:

  • show snmp health-monitor,显示运行状况监视器日志和告警信息。

  • show snmp mib,显示来自 MIB 的信息,例如设备和系统信息。

  • show snmp statistics,显示 SNMP 统计信息,例如数据包数、静默丢弃数和无效输出值。

  • show snmp rmon,显示 RMON 告警、事件、历史记录和日志信息

以下示例提供命令输出 show snmp health-monitor 示例:

以下示例提供命令输出 show snmp mib 示例:

以下示例提供命令输出 show snmp statistics 示例:

Junos OS SNMP 常见问题解答概述

本文介绍了有关使用 Junos 操作系统在瞻博网络设备上实施 SNMP 服务所用的功能和技术的最常见问题解答。

SNMP 使用户能够从一个中央位置监控网络设备。许多网络管理系统 (NMS) 基于 SNMP,支持此协议是大多数网络设备的一项关键功能。

瞻博网络提供了许多不同的平台,支持 Junos OS 上的 SNMP。Junos OS 包括板载 SNMP 代理,使远程管理应用程序能够访问有关网络上设备的详细信息。

典型的 SNMP 实施包含三个组件:

  • 托管设备 – 例如路由器和交换机。

  • SNMP 代理 – 驻留在托管设备上并与 NMS 通信的进程。

  • NMS – 用于监控和管理网络的硬件和软件组合;运行 SNMP 管理器软件的网络设备。也称为 SNMP 管理器。

SNMP 代理与 SNMP 管理器 (NMS) 交换网络管理信息。代理响应经理提出的信息和操作请求。SNMP 管理器通过轮询受管设备收集有关网络连接、活动和事件的信息。

Junos OS 中的 SNMP 实施使用托管设备上的主 SNMP 代理(称为 SNMP 进程或 snmpd)。各种子代理也驻留在 Junos OS 的不同模块上(如路由引擎),这些子代理由 snmpd 管理。

Junos OS SNMP 常见问题解答

本常见问题解答技术概述涵盖以下 SNMP 相关领域:

Junos OS SNMP 支持常见问题解答

本节提供与 Junos OS 上的 SNMP 支持相关的常见问题解答。

Which SNMP versions does Junos OS support?

Junos OS 支持 SNMP 版本 1 (SNMPv1)、版本 2 (SNMPv2c) 和版本 3 (SNMPv3)。默认情况下,瞻博网络设备上的 SNMP 处于禁用状态。

Which ports (sockets) does SNMP use?

SNMP 查询的默认端口为端口 161。SNMP 陷阱和通知的默认端口为端口 162。用于 SNMP 陷阱和通知的端口可配置,您可以将系统配置为使用默认端口 162 以外的端口。但是,SNMP 侦听端口将保持不变;这是在 RFC 上建立的

Is SNMP support different among the Junos OS platforms?

不,Junos OS 平台对 SNMP 的支持没有不同。任何 Junos OS 设备上的 SNMP 配置、交互和行为都是相同的。跨平台的唯一区别是 MIB 支持。

另请参阅 SNMP MIB 浏览器 ,查看 Junos OS 平台支持的 MIB 列表。

Does Junos OS support the user-based security model (USM)?

是,Junos OS 支持 USM,作为对 SNMPv3 支持的一部分。与前一个版本的 SNMP 相比,SNMPv3 包含更多的安全措施,包括提供定义的 USM。SNMPv3 USM 通过数据完整性、数据源身份验证、消息重放保护和消息有效负载泄露保护来提供消息安全性。

Does Junos OS support the view-based access control model (VACM)?

是的,Junos OS 支持 VACM,作为对 SNMPv3 支持的一部分。与之前版本的 SNMP 相比,SNMPv3 包含更多的安全措施,包括提供定义的 VACM。SNMPv3 VACM 决定是否允许对管理信息进行特定类型的访问(读或写)。

Does Junos OS support SNMP informs?

是的,Junos OS 支持 SNMP 通知,作为对 SNMPv3 支持的一部分。SNMP 通知是当网络设备上发生重大事件时,从 SNMP 代理发送到 SNMP 管理器的确认通知。当 SNMP 管理器收到通知时,它会向发件人发送响应,以验证收到通知。

Can I provision or configure a device using SNMP on Junos OS?

不支持,Junos OS 上不允许使用 SNMP 调配或配置设备。

Junos OS MIB 常见问题解答

本节提供与 Junos OS MIB 相关的常见问题解答。

What is a MIB?

管理信息库 (MIB) 是网络设备中托管对象的定义表。SNMP 使用 MIB 来维护网络设备中所有组件及其操作条件的标准定义。MIB 中的每个对象都有一个称为对象标识符 (OID) 的识别代码。

MIB 要么是标准配置,要么特定于企业。标准 MIB 由互联网工程任务组 (IETF) 创建,并记录在各种 RFC 中。企业特定的 MIB 由特定设备制造商开发和支持。

有关支持的标准 MIB 列表,请参阅 Junos OS 支持的标准 SNMP MIB

有关瞻博网络企业专用 MIB 列表,请参阅 Junos OS 支持的特定于企业的 SNMP MIB

Do MIB files reside on the Junos OS devices?

不,MIB 文件不位于 Junos OS 设备上。您必须从瞻博网络技术出版物页面下载所需 Junos OS 版本的 MIB 文件:https://www.juniper.net/documentation/en_US/release-independent/junos/mibs/mibs.html

How do I compile and load the Junos OS MIBs onto an SNMP manager or NMS?

要让网络管理系统 (NMS) 识别和了解 Junos OS 使用的 MIB 对象,您必须首先使用 MIB 编译器将 MIB 文件加载到 NMS。MIB 编译器是分析 MIB 信息(如 NMS 的 MIB 对象名称、ID 和数据类型)的实用程序。

您可以从 https://www.juniper.net/documentation/en_US/release-independent/junos/mibs/mibs.html 或 https://www.juniper.net/documentation/software/junos/index.html 的“企业特定 MIB 和陷阱”部分下载 Junos OS MIB 软件包。

Junos OS MIB 软件包有两个文件夹:StandardMibs,其中包含瞻博网络设备支持的标准 MIB,以及 JuniperMibs瞻博网络企业特定的 MIB。在下载任何企业特定的 MIB 之前, 您必须 下载并解压所需的标准 MIB。在加载特定企业特定的 MIB 之前,可能存在依赖性要求编译器上存在特定的标准 MIB。

Junos OS MIB 软件包以多种.tar格式提供.zip。下载适合您要求的格式。

使用以下步骤为运行 Junos OS 的设备加载 MIB 文件:

  1. 导航至相应的瞻博网络软件下载页面,找到 Enterprise MIBsEnterprise-Specific MIBs and Traps 部分下的链接。

    注:

    虽然链接标题 Enterprise MIBs为,但标准 MIB 和企业专用 MIB 均可从此位置下载。

  2. 单击 TARZIP 链接下载 Junos OS MIB 软件包。

  3. 使用适当的实用程序解压文件(.tar.zip)。

    注:

    一些常用的 MIB 编译器预加载了标准 MIB。如果系统上已加载标准 MIB,则可以跳过45步骤并继续执行步骤6

  4. StandardMibs 该文件夹加载标准 MIB 文件。

    按以下顺序加载文件:

    1. mib-SNMPv2-SMI.txt

    2. mib-SNMPv2-TC.txt

    3. mib-IANAifType-MIB.txt

    4. mib-IANA-RTPROTO-MIB.txt

    5. mib-rfc1907.txt

    6. mib-rfc2011a.txt

    7. mib-rfc2012a.txt

    8. mib-rfc2013a.txt

    9. mib-rfc2863a.txt

  5. 加载所有剩余的标准 MIB 文件。

    注:

    您必须遵循此过程指定的顺序,并且确保在加载特定于企业的 MIB 之前加载所有标准 MIB。在加载特定企业特定的 MIB 之前,可能存在依赖性要求编译器上存在特定的标准 MIB。MIB 文件的部分列出了 IMPORT 依赖项。

  6. 加载标准 MIB 后,根据您的要求加载瞻博网络企业专用的 SMI MIB mib-jnx-smi.txt和以下可选 SMI MIB:

    • mib-jnx-exp.txt —(推荐)适用于瞻博网络 MIB 实验对象

    • mib-jnx-js-smi.txt —(可选)瞻博网络安全 MIB 树对象

    • mib-jnx-ex-smi.txt —(可选)EX 系列以太网交换机

  7. JuniperMibs 该文件夹中加载任何剩余所需的企业专用 MIB。

    提示:

    加载 MIB 文件时,如果编译器返回一条错误消息,指示任何对象均未定义,请使用文本编辑器打开 MIB 文件,并确保在编译器上加载部分列出的 IMPORT 所有 MIB 文件。如果部分中列出的 IMPORT 任何 MIB 文件未在编译器上加载,请首先加载丢失的文件,然后尝试加载失败的 MIB 文件。

    如果未按特定顺序加载文件,则系统可能会返回错误。

What is SMI?

管理信息版本 (SMI) 结构是抽象语法符号 1 (ASN.1) 的子集,用于描述对象结构。SMI 是符号语法或“语法”,是编写 MIB 的标准。

Which versions of SMI does Junos OS support?

Junos OS 支持用于 SNMPv1 MIB 的 SMIv1,以及用于 SNMPv2c 和企业 MIB 的 SMIv2。

Does Junos OS support MIB II?

是的,Junos OS 支持 MIB II,即 MIB 标准的第二个版本。

MIB II 的功能包括:

  • 反映新运维要求的新增功能。

  • 向后兼容原始 MIB 和 SNMP。

  • 改进对多协议实体的支持。

  • 提高可读性。

有关支持的 MIB 列表,请参阅相关版本文档。转至 https://www.juniper.net/documentation/software/junos/index.html

Are the same MIBs supported across all Juniper Networks devices?

所有 Junos OS 设备都支持一些常见的 MIB,例如接口 MIB (ifTable)、系统 MIB 和机箱 MIB。某些 MIB 仅受特定平台上的功能支持。例如,EX 系列以太网交换机和分支机构 SRX 系列服务网关支持网桥 MIB。

What is the system object identifier (SYSOID) of a device? How do I determine the SYSOID of my device?

jnx-chas-defines(路由器型号的机箱定义)MIB 为每个 Junos OS 设备都有一个 jnxProductName 分支机构。设备的系统对象 ID 与平台的对象 ID jnxProductName 相同。例如,对于 M7i 多服务边缘路由器,jnx 产品名称M7i 为.1.3.6.1.4.1.2636.1.1.1.2.10 与 M7i (.1.3.6.1.1.4.1.2636.1.1.1.2.10) 的 SYSOID 相同。

How can I determine if a MIB is supported on a platform? How can I determine which MIBs are supported by a device?

Junos OS 技术文档列出了 MIB 设备和平台支持。请参阅 Junos OS 支持的特定于企业的 SNMP MIBJunos OS 支持的标准 SNMP MIB 文档,以查看 MIB 和支持的 Junos OS 设备列表。

What can I do if the MIB OID query is not responding?

MIB OID 查询停止响应的原因有很多。其中一个原因可能是 MIB 本身没有反应。要验证 MIB 是否响应,请使用 show snmp mib walk | get MIB name | MIB OID 命令:

  • 如果 MIB 响应,则 SNMP 主代理和 SNMP 代理之间存在通信问题。此问题的可能原因包括网络问题、错误的社区配置、错误的 SNMP 配置等。

  • 如果 MIB 没有响应,请启用 SNMP traceoptions 以记录 PDU 和错误。所有传入和传出 SNMP PDU 都会被记录。检查 traceoptions 输出,查看是否存在任何错误。

如果 MIB OID 查询仍然有问题,可以通过瞻博网络技术援助中心 (JTAC) 获得产品技术支持。

What is the enterprise branch number for Junos OS?

Junos OS 的企业分支机构编号为 2636。企业分支机构编号用于 SNMP MIB 配置,也称为 SMI 网络管理专用企业代码。

Which MIB displays the hardware and chassis details on a Juniper Networks device?

机箱 MIB (jnxchassis.mib) 显示每个瞻博网络设备的硬件和机箱详细信息。它提供有关路由器及其组件的信息。机箱 MIB 对象表示每个组件及其状态。

Which MIB objects can I query to determine the CPU and memory utilization of the Routing Engine, Flexible PIC Concentrator (FPC), and PIC components on a device?

查询机箱 MIB 对象 jnxOperatingMemoryjnxOperatingtBufferjnxOperatingCPU 查找设备硬件组件的 CPU 和内存利用率。

Is the interface index (ifIndex) persistent?

如果 Junos OS 版本保持不变,则重新启动时的 ifIndex 是永久的,这意味着分配给 ifIndex 中接口的值不会更改。

进行软件升级时,设备会尝试尽最大努力保持 ifIndex 持续运行。对于 Junos OS 10.0 及更低版本,如果软件升级到 Junos OS 10.1 及更高版本,则 ifIndex 不会持续。

Is it possible to set the ifAdminStatus?

不允许 SNMP 设置 ifAdminStatus。

Which MIB objects support SNMP set operations?

以下 MIB 表和变量支持 Junos OS SNMP 集操作:

  • snmpCommunityTable

  • 事件表

  • 报警表

  • snmpTargetAddrExtTable

  • jnxPingCtlTable

  • pingCtlTable

  • traceRouteCtlTable

  • jnxTraceRouteCtlTable

  • sysContact.0

  • sysName.0

  • sysLocation.0

  • pingMaxConcurrentRequests.0

  • traceRouteMaxConcurrentRequests.0

  • usmUserSpinLock

  • usmUserOwnAuthKeyChange

  • usmUserPublic

  • vacmSecurityToGroupTable(vacmGroupName、vacmSecurityToGroupStorageType 和 vacmSecurityToGroupStatus)

  • vacmAccessTable(vacmAccessContextMatch、vacmAccessReadViewName、vacmAccessWriteViewName、vacmAccessNotifyViewName、vacmAccessStorageType 和 vacmAccessStatus)

  • vacmViewPinLock

  • vacmViewTreeFamilyTable(vacmViewTreeFamilyMask、vacmViewTreeFamilyType、vacmViewTreeFamilyStorageType 和 vacmViewTreeFamilyStatus)

Does Junos OS support remote monitoring (RMON)?

是,Junos OS 支持 RFC 2819 远程网络监控管理信息库中定义的 RMON。但是,不支持远程监控版本 2 (RMON 2)。

Can I use SNMP to determine the health of the processes running on the Routing Engine?

是,您可以通过配置运行状况监控功能使用 SNMP 来确定路由引擎进程的运行状况。在瞻博网络设备上,RMON 告警和事件提供了减少 NMS 轮询开销所需的大部分基础架构。但是,您必须设置 NMS,将特定 MIB 对象配置到 RMON 告警中。这通常需要特定于设备的专业知识和定制监控应用程序。此外,某些需要监控的 MIB 对象实例仅在初始化时设置,或在运行时更改,无法提前配置。

为了解决这些问题,运行状况监视器扩展了 RMON 告警基础架构,为选定的一组对象实例(如文件系统使用情况、CPU 使用情况和内存使用情况)提供预定义的监控,并支持未知或动态对象实例,例如 Junos OS 软件进程。

要显示运行状况监控配置,请使用 show snmp health-monitor 命令:

配置运行状况监视器时,某些对象实例的监控信息可用,如中 表 1所示。

表 1: 受监控的对象实例

对象

说明

jnxHrStoragePercented.1

监控路由器或交换机上的以下文件系统:/dev/ad0s1a:

这是安装在上的 /根文件系统。

jnxHrStoragePercented.2

监控路由器或交换机上的以下文件系统:/dev/ad0s1e:

这是安装在上的 /config配置文件系统。

jnxOperatingCPU (RE0)

监控路由引擎 RE0 和 RE1 的 CPU 使用情况。分配给路由引擎的索引值取决于机箱 MIB 使用基于零的索引方案还是基于 1 的索引方案。由于索引方案是可配置的,因此只要路由器初始化并发生配置更改,将确定正确的索引。如果路由器或交换机只有一个路由引擎,则当尝试获取 CPU 值五次失败后,告警条目监控 RE1 将被移除。

jnxOperatingCPU (RE1)

jnxOperatingBuffer (RE0)

监控路由引擎 RE0 和 RE1 上的可用内存量。由于此对象的索引与用于 jnxOperatingCPU 的索引相同,因此索引值会根据机箱 MIB 中使用的索引方案进行调整。与 jnxOperatingCPU 一样,如果路由器或交换机只有一个路由引擎,则告警条目监控 RE1 将被移除。

jnxOperatingBuffer (RE1)

sysApplElmtRunCPU

监控每个 Junos OS 软件进程的 CPU 使用情况。同一进程的多个实例会单独进行监控和索引。

sysApplElmtRunMemory

监控每个 Junos OS 软件进程的内存使用情况。同一进程的多个实例会单独进行监控和索引。

为任何运行状况监控事件(例如,阈值交叉和错误)生成的系统日志条目都有相应的 HEALTHMONITOR 标记,而不是通用 SNMPD_RMON_EVENTLOG 标记。但是,运行状况监视器会发送通用 RMON risingThresholdfallingThreshold 陷阱。

Are the Ping MIBs returned in decimal notation and ASCII?

是,支持十进制表示法和 ASCII,这是 SNMP 中的标准实现。所有字符串均采用 ASCII 编码。

以下示例以十六进制符号显示 Ping MIB:

这转化为 ASCII:

从 Junos OS 9.6 及更高版本开始,Junos OS CLI 使用命令 show snmp mib get | get-next | walk ascii返回 ASCII 值。

以下示例显示了使用 ASCII 选项的输出:

以下示例显示了没有 ASCII 选项的输出:

您可以使用十进制 ASCII 图表(如 http://www.asciichart.com 中的图表)转换十进制和 ASCII 值。

Is IPv6 supported by the Ping MIB for remote operations?

否,不支持 IPv6。

Is there an SNMP MIB to show Address Resolution Protocol (ARP) table information? Are both IP and MAC addresses displayed in the same table?

是的,Junos OS 支持标准 MIB ipNetToMediaTable,RFC 2011、 使用 SMIv2 的互联网协议的 SNMPv2 管理信息库中介绍了 MIB。此表用于将 IP 地址映射到其相应的 MAC 地址。

Junos OS SNMP 配置常见问题解答

本节提供与 Junos OS SNMP 配置相关的常见问题解答。

Can the Junos OS be configured for SNMPv1 and SNMPv3 simultaneously?

是的,SNMP 具有向后兼容性,这意味着可以同时启用所有三个版本。

Can I filter specific SNMP queries on a device?

是,您可以使用和include语句过滤设备上的exclude特定 SNMP 查询。

以下示例显示了一个配置,该配置可阻止社区 test.1.3.6.1.2.1.1.1 下所有 1.1.1 的读写操作:

Can I change the SNMP agent engine ID?

是,SNMP 代理引擎 ID 可以更改为设备的 MAC 地址、设备的 IP 地址或任何其他所需值。这里有几个示例。

以下示例显示如何将设备的 MAC 地址用作 SNMP 代理引擎 ID:

以下示例说明如何使用设备的 IP 地址作为 SNMP 代理引擎 ID:

以下示例显示,在这种情况下, AA 使用所选值作为设备的 SNMP 代理引擎 ID:

How can I configure a device with dual Routing Engines or a chassis cluster (SRX Series Services Gateways) for continued communication during a switchover?

配置持续通信时,路由引擎之间的 SNMP 配置应相同。但是,最好为每个路由引擎配置单独的路由引擎 ID,特别是在使用 SNMPv3 时。

以下示例显示了双路由引擎设备中的路由引擎配置。请注意,路由引擎 ID 设置为每个路由引擎的 MAC 地址:

以下是双路由引擎设备上的 SNMPv3 配置示例:

How can I track SNMP activities?

SNMP 跟踪操作可跟踪 SNMP 代理的活动,并将信息记录在日志文件中。

配置示例 traceoptions 可能类似于:

在层次结构级别包含[edit snmp]语句traceoptions flag all时,将创建以下日志文件:

  • snmpd

  • mib2d

  • rmopd

SNMPv3 常见问题解答

本节提供与 SNMPv3 相关的常见问题解答。

Why is SNMPv3 important?

与其他版本的 SNMP 相比,SNMP v3 提供了增强的安全性。它提供数据身份验证和加密。增强的安全性对于从管理站管理远程站点的设备非常重要。

In my system, the MIB object snmpEngineBoots is not in sync between two Routing Engines in a dual Routing Engine device. Is this normal behavior?

是的,这是预期的行为。每个路由引擎都运行自己的 SNMP 进程 (snmpd),从而使每个路由引擎都能够维护自己的引擎启动。但是,如果两个路由引擎的引擎 ID 相同,并在切换过程中选择值较小的 snmpEngineBoots 路由引擎作为主路由引擎,则 snmpEngineBoots 主路由引擎的值将与其他 snmpEngineBoots 路由引擎的值同步。

Do I need the SNMP manager engine object identifier (OID) for informs?

是的,身份验证需要 SNMP 管理器的引擎 OID,如果没有它,通知将无法工作。

I see the configuration of informs under the [edit snmp v3] hierarchy. Does this mean I cannot use informs with SNMPv2c?

通知可以与 SNMPv2c 一起使用。以下示例显示了设备上通知的 SNMPv3 基本配置(请注意,身份验证和隐私设置为 none):

您可以在层级trap将语句的值设置为以下示例中所示,type[edit snmp v3 notify N1_all_tl1_informs]从而将 SNMPv3 通知转换为陷阱:

与瞻博网络设备的 SNMP 交互常见问题解答

本节提供与 SNMP 如何与瞻博网络设备交互有关的常见问题解答。

How frequently should a device be polled? What is a good polling rate?

很难为每秒 SNMP 轮询率提供绝对数字,因为速率取决于以下两个因素:

  • 协议数据单元 (PDU) 中的变量绑定数

  • 来自数据包转发引擎的接口的响应时间

在正常情况下,数据包转发引擎没有引入延迟,每个 PDU 有一个变量(Get 请求),响应时间为每秒 130 多个响应。但是,由于 SNMP 请求 PDU 中有多个变量(对于 GetBulk 请求,为 30 到 40 个),每秒的响应数要少得多。由于每个系统的数据包转发引擎负载可能有所不同,因此设备轮询的频率存在较大差异。

频繁轮询大量计数器(尤其是统计信息)可能会影响设备。我们建议对 SNMP 管理器进行以下优化:

  • 使用逐行轮询方法,而不是逐列轮询方法。

  • 减少每个 PDU 的可变绑定数量。

  • 增加轮询和发现间隔中的超时值。

  • 降低 SNMP 进程 (snmpd) 的传入数据包速率。

为了在设备上更好地响应 SNMP,Junos OS 将请执行以下操作:

  • 过滤掉重复的 SNMP 请求。

  • 排除从 SNMP 查询响应缓慢的接口。

确定速率限制的一种方法是,通过show snmp statistics extensive命令记下Currently Active计数的增加。

以下是命令输出 show snmp statistics extensive 的示例:

Does SNMP open dynamic UDP ports? Why?

SNMP 进程会打开两个附加端口(插槽):一个用于 IPv4,一个用于 IPv6。这使 SNMP 进程能够发送陷阱。

I am unable to perform a MIB walk on the ifIndex. Why is this?

不能直接查询访问级别为 not-accessible 的任何变量绑定或值,因为它们是 SNMP MIB 表中其他变量绑定的一部分。ifIndex 的访问级别为 not-accessible。因此,无法直接访问,因为它是变量绑定的一部分。但是,ifIndex 可以通过变量绑定间接访问。

I see SNMP_IPC_READ_ERROR messages when the SNMP process restarts on my system and also during Routing Engine switchover. Is this acceptable?

是的,当 SNMP 进程重新启动、系统重新启动或路由引擎切换期间,可以看到 SNMP_IPC_READ_ERROR 消息是可以接受的。如果所有进程都成功运行,并且 SNMP 操作工作正常,则可以忽略这些消息。

What is the source IP address used in the response PDUs for SNMP requests? Can this be configured?

SNMP 请求的响应 PDU 中使用的源 IP 地址是要到达目标的传出接口的 IP 地址。无法为响应配置源 IP 地址。它只能为陷阱配置。

SNMP 陷阱和通知常见问题解答

本节提供与 SNMP 陷阱和通知相关的常见问题解答。

Does the Junos OS impose any rate limiting on SNMP trap generation?

Junos OS 实施陷阱队列机制,以限制生成和发送的陷阱数量。

如果陷阱传递失败,则陷阱会重新添加到队列中,并重置队列的传递尝试计数器和下一个传递尝试计时器。后续尝试的渐进间隔为 1 分钟、2 分钟、4 分钟和 8 分钟。两次尝试之间的最大延迟为 8 分钟,最大尝试次数为 10。10 次尝试失败后,目标队列和队列中的所有陷阱都会被删除。

Junos OS 还具有限制阈值机制,用于控制在特定限制间隔(默认 5 秒)期间发送的陷阱数(默认 500 个陷阱)。这有助于确保陷阱流量的一致性,特别是在由于接口状态变化而生成大量陷阱时。

当第一个陷阱到达油门时,油门间隔就开始了。将处理节流阈值内的所有陷阱,超过阈值的陷阱将排队。所有陷阱队列(限制队列和目标队列)的最大大小为 40,000 个陷阱。任何一个队列的最大大小为 20,000 个陷阱。将陷阱添加到限制队列中时,或者当限制队列超过最大大小时,陷阱将被移动到目标队列的顶部。从目标队列发送陷阱的进一步尝试将停止 30 秒,之后目标队列重新启动发送陷阱。

注:

对于瞻博网络 EX 系列以太网交换机,所有陷阱队列(节流队列和目标队列)的最大大小为 1,000 个陷阱。EX 系列上任何一个队列的最大大小为 500 个陷阱。

I did not see a trap when I had a syslog entry with a critical severity. Is this normal? Can it be changed?

并非每个具有严重严重程度的系统日志条目都是一个陷阱。但是,您可以使用语句将任何系统日志条目转换为陷阱 event-options

以下示例说明如何配置 jnxSyslogTrap 发生 rpd_ldp_nbrdown syslog 条目消息错误。

Are SNMP traps compliant with the Alarm Reporting Function (X.733) on the Junos OS?

不,Junos OS 上的 SNMP 陷阱不符合 X.733 标准。

Can I set up filters for traps or informs?

陷阱和通知可以根据陷阱类别和对象标识符进行过滤。您可以使用层次结构级别的语句[edit snmp trap-group trap-group]来指定每个主机categories接收的陷阱类别。如果想要仅监控 Junos OS 的特定模块,请使用此选项。

以下示例显示了用于仅link接收 、 、 vrrp-eventsservicesotn-alarms陷阱的示例配置:

Junos OS 还有一个更高级的过滤器选项 (notify-filter),用于过滤特定的陷阱或一组陷阱根据其对象标识符。

SNMPv3 配置还支持过滤 SNMPv1 和 SNMPv2 陷阱,并排除瞻博网络企业特定的配置管理陷阱,如以下配置示例所示:

Can I simulate traps on a device?

是的,您可以使用 request snmp spoof-trap trap name 命令模拟通常接收设备的陷阱的 NMS 的陷阱。您还可以使用 variable-bindings 参数添加所需值。

以下示例说明如何使用变量绑定模拟本地 NMS 的陷阱:

How do I generate a warm start SNMPv1 trap?

在正常情况下重新启动 SNMP 进程时,如果系统启动时间超过 5 分钟,将生成暖启动陷阱。如果系统运行时间少于 5 分钟,将生成冷启动陷阱。

The NMS sees only the MIB OIDs and numbers, but not the names of the SNMP traps. Why?

NMS 必须先编译并理解 MIB,然后解析 MIB,才能识别 SNMP 陷阱详细信息(如陷阱的名称)。

In the Junos OS, how can I determine to which category a trap belongs?

有关常见陷阱及其类别列表,请参阅 Junos OS 支持的特定于企业的 SNMP 陷阱

Can I configure a trap to include the source IP address?

是,您可以使用命令为源 IP 地址trap-options配置 source-addressrouting-instance、 或logical-instance名称:

Can I create a custom trap?

是的 jnxEventTrap ,您可以使用事件脚本根据需要创建自定义陷阱。

在以下示例中,当收到事件时 UI_COMMIT_NOT_CONFIRMED ,将触发 Junos OS 操作 (op) 脚本。Junos OS 操作脚本匹配事件的完整消息并生成 SNMP 陷阱。

示例:Junos OS 操作脚本

创建自定义陷阱后,您必须在设备上配置策略,以告诉设备在收到陷阱后要执行的操作。

以下是层次结构下 [edit event-options] 配置的策略的示例:

Can I disable link up and link down traps on interfaces?

是,可以在接口配置中禁用链路上行和链路关闭陷阱。要禁用陷阱,请在 no-traps 物理和逻辑接口的 [edit interfaces interface-name unit logical-unit-number][edit logical-systems logical-system-name interfaces interface-name unit logical-unit-number] 层次结构中使用语句。

I see the link up traps on logical interfaces, but I do not see the link down traps. Is this normal behavior?

对于以太网和 ATM 类型的接口,如果物理接口关闭以防止针对相同根本原因发出泛洪告警,Junos OS 不会为逻辑接口发送链路关闭陷阱。但是,当物理接口和逻辑接口重新连接时,会发送陷阱,指示链路连接。这是因为物理接口的到来不一定意味着逻辑接口也即将启动。

对于采用 PPP 封装的 SONET 接口类型,如果物理接口关闭,Junos OS 会为逻辑接口发送链路关闭陷阱。当物理接口和逻辑接口重新连接时,将同时为物理接口和逻辑接口发送陷阱,以指示链路连接。

对于采用 HDLC 封装的 SONET 类型接口,如果物理接口关闭,Junos OS 不会为逻辑接口发送链路关闭陷阱。当物理接口和逻辑接口重新连接时,将同时为物理接口和逻辑接口发送陷阱,以指示链路连接。

对于采用 PPP 封装的通道化接口,如果物理接口关闭,Junos OS 会为逻辑接口发送链路关闭陷阱。当物理接口和逻辑接口重新连接时,将同时为物理接口和逻辑接口发送陷阱,以指示链路连接。

对于采用 HDLC 封装的通道化接口,如果物理接口关闭,Junos OS 不会为逻辑接口发送链路关闭陷阱。当物理接口和逻辑接口重新连接时,将同时为物理接口和逻辑接口发送陷阱,以指示链路连接。

Junos OS 双路由引擎配置常见问题解答

本节提供与双路由引擎配置相关的常见问题解答。

为持续通信配置时,两个路由引擎之间的 SNMP 配置应相同。但是,在使用 SNMPv3 时,我们建议为每个路由引擎配置单独的路由引擎 ID。

In my system, the MIB object snmpEngineBoots is not in sync between two Routing Engines in a dual Routing Engine device. Is this normal behavior?

是的这是正常行为。每个路由引擎都运行自己的 SNMP 进程 (snmpd) 代理,从而使每个路由引擎都能够维护自己的引擎启动。

Is there a way to identify that an address belongs to RE0, RE1, or the master Routing Engine management interface (fxp0) by looking at an SNMP walk?

不。在设备上执行 SNMP 步进时,只会显示主路由引擎管理接口地址。

What is the best way to tell if the current IP address belongs to fxp0 or a Routing Engine, from a CLI session?

路由引擎与 fxp0 接口映射。这意味着,当您查询 RE0 时,ifTable 仅报告 fxp0 RE0 的接口地址。同样,如果查询 RE1,ifTable 仅报告 fxp0 RE1 的接口地址。

When there is a failover, the master hostname is changed since the hostname belongs to the Routing Engine. Is this correct?

是的您可以配置相同的主机名或不同的主机名。两者都会工作。

如果仅配置了主 IP 地址(例如,192.168.2.5),并且该 sysDescr.0 对象在两个路由引擎上配置的字符串相同,那么即使在切换之后,对象也会 sysDescr.0 返回相同的值。以下示例显示了使用 snmpget 命令获得的结果:

对路由实例的 SNMP 支持常见问题解答

本节提供与 SNMP 如何支持路由实例相关的常见问题解答。

Can the SNMP manager access data for routing instances?

是的,Junos OS 支持所有路由实例的 SNMP 管理器请求和管理与相应路由实例和逻辑系统网络相关的 SNMP 数据。

可能会发生两种不同的路由实例行为,具体取决于客户端的起源:

  • 来自默认路由实例以外的客户端可以访问 MIB 对象,并仅在其所属的逻辑系统网络上执行 SNMP 操作。

  • 来自默认路由实例的客户端可以访问与所有路由实例和逻辑系统网络相关的信息。

路由实例可通过 SNMPv3 请求中的上下文字段进行标识,或者通过 SNMPv1 或 SNMPv2c 请求中的社区字符串进行编码。

在编码为社区字符串时,路由实例名称将先出现,并用 @ 字符与实际社区字符串分隔。

为了避免与包含 @ 字符的有效社区字符串冲突,仅在典型的社区字符串处理失败时解析社区。例如,如果配置了名为 RI 的路由实例,则在该路由实例上下文中处理包含 RI@publicRI SNMP 请求。访问控制(包括视图、源地址限制和访问权限)根据实际社区字符串(@ 字符后的数据集—本例 public中)应用。但是,如果配置了社区字符串 RI@public ,将根据该社区处理 PDU,并且将忽略嵌入式路由实例名称。

逻辑系统执行物理路由器操作的子集,并具有自己独特的路由表、接口、策略和路由实例。在逻辑系统中定义路由实例时,必须使用斜线 ( /) 将逻辑系统名称与路由实例一起编码,以分隔两者。例如,如果在逻辑系统中LS配置路由实例RI,则必须将该路由实例编码在社区字符串中,为LS/RI@public。在逻辑系统外部(默认逻辑系统中)配置路由实例时,不需要逻辑系统名称或 / 字符。

此外,创建逻辑系统时,始终在逻辑系统中创建名为 default 的默认路由实例。例如 LS/default@public,当查询该路由实例的数据时,应使用此名称。对于 SNMPv3 请求,应直接在上下文字段中标识名称 logical system/routing instance

Can I access a list of all routing instances on a device?

是的,您可以使用 SNMP-VIEW-BASED-ACM MIB 中的 vacmContextName 对象访问设备上的所有路由实例列表。在 SNMP 中,每个路由实例都成为一个 VACM 上下文;这就是为什么路由实例会出现在 vacmContextName 对象中的原因

Can I access a default routing instance from a client in another logical router or routing instance?

不,SNMP 代理只能访问其所连接的逻辑路由器的数据。

SNMP 计数器常见问题解答

本节提供与 SNMP 计数器相关的常见问题解答。

Which MIB should I use for interface counters?

SNMP 上的接口管理基于两个表:ifTable及其扩展。ifXTable RFC 1213, 基于 TCP/IP 的互联网的网络管理管理信息库介绍了这两种情况:MIB-II 和 RFC 2233, 使用 SMIv2 的接口组 MIB

接口可以有几个层,具体取决于介质,每个子层都由表中的单独一行表示。上层和下层之间的关系详述 ifStackTable

ifTable 路由器为入站和出站八位组(ifInOctets/ifOutOctets)、数据包(ifInUcastPkt/ifOutUcastPkt、ifInNUcastPkt/ifOutUcastPkt)、错误和丢弃定义 32 位计数器。

ifXTable 64 位计数器(也称为高容量 (HC) 计数器)可用于入站和出站八位位位组(ifHCInOctets/ifHCOutOctets)以及入站数据包(ifHCInUcastPkt)。

When should 64-bit counters be used?

使用 64 位计数器总是很好的,因为它们包含低容量和高容量组件的统计信息。

Are the SNMP counters ifInOctets and ifOutOctets the same as the command reference show interfaces statistics in and out counters?

是的,这些都是相同的,但前提是当路由器启动时启用了 SNMP。如果开机瞻博网络设备,然后启用 SNMP,SNMP 计数器将从 0 开始。SNMP 计数器不会自动从命令输出接收 show 其统计信息。同样,使用 clear statistics 命令无法清除 SNMP 计数器收集的统计信息,这可能会导致两个进程看到的数据存在差异。

Do the SNMP counters ifInOctets and ifOutOctets include the framing overhead for Point-to-Point Protocol (PPP) and High-Level Data Link Control (HDLC)?

是的

管理陷阱和通知

以下部分包含管理 SNMP 通知的一些提示:

基于 SysLog 事件生成陷阱

事件策略可以包括针对基于系统日志消息的事件引发陷阱的操作。当发生重要的系统日志消息时,此功能可通知基于 SNMP 陷阱的应用程序。您可以将没有相应陷阱的任何系统日志消息转换为陷阱。如果您使用网络管理系统陷阱而不是系统日志消息来监控网络,则可以使用此功能确保您收到所有重大事件的通知。

要配置在收到事件时引发陷阱的策略,请在层次结构级别添加以下语句 [edit event-options policy policy-name]

以下示例显示了为事件 ui_mgd_terminate引发陷阱的示例配置:

基于 SysLog 事件生成陷阱

基于陷阱类别的过滤陷阱

SNMP 陷阱被归类为多个类别。Junos OS 在层级提供了一个配置选项 categories[edit snmp trap-group trap-group] ,允许您指定要在特定主机上接收的陷阱类别。如果想要仅监控 Junos OS 的特定模块,则可以使用此选项。

以下示例显示了用于仅link接收 、 、 vrrp-eventsservicesotn-alarms陷阱的示例配置:

基于对象标识符的过滤陷阱

Junos OS 还提供更高级的过滤器选项,使您能够根据特定陷阱的对象标识符过滤掉它们。您可以使用 notify-filter 选项过滤掉一个特定的陷阱或一组陷阱。

以下示例显示了用于排除瞻博网络企业特定的配置管理陷阱的示例配置(请注意,SNMPv3 配置还支持过滤 SNMPv1 和 SNMPv2 陷阱,如以下示例所示):