Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

示例:使用 SNMP 脚本处理不受支持的 OID

此示例 SNMP 脚本显示如何处理运行 Junos OS 的设备上不受支持的对象标识符 (OID)。

要求

使用 SLAX SNMP 脚本时,Junos OS 版本 15.1 或更高版本。

在 QFX 系列交换机或 MX 系列、PTX 系列或 T 系列路由器上使用 Python SNMP 脚本时,Junos OS 版本 16.1R3 或更高版本。

在 EX 系列交换机上使用 Python SNMP 脚本时,Junos OS 版本 17.1R1 或更高版本。

在 SRX 系列服务网关上使用 Python SNMP 脚本时,Junos OS 版本 17.3R1 或更高版本。

SNMP 在设备上配置。

概述和 SNMP 脚本

在此示例中,SLAX 和 Python 中介绍了两个对等的 SNMP 脚本,用于匹配和处理几个不受支持的 OID。脚本使用 <snmp-script-results> SLAX 脚本中的元素和 jcs.emit_snmp_attributes() 等效 Python 脚本中的功能,为请求对象返回值。扩展 syslog() 功能称为记录系统日志文件中请求的 SNMP 操作和 OID。有关该功能的 syslog() 详细信息,请参阅 syslog() 功能(Python、SLAX 和 XSLT)

SLAX 语法

Python 语法

配置

程序

逐步过程

要下载并启用脚本:

注意:

您可以在 Python、SLAX 或 XSLT 中创建 SNMP 脚本。您可以使用 request system scripts 转换 命令在 SLAX 和 XSLT 之间转换。

  1. 根据需要将脚本复制到文本文件中,命名文件 sample_snmp.slaxsample_snmp.py,然后将其下载到设备上的 /var/db/scripts/snmp 目录。

    注意:

    未签名的 Python 脚本必须归 Junos OS super-user 登录类中的 root 或用户所有,并且只有文件所有者才能为该文件写入许可。

  2. 启用 SNMP 脚本并配置 OID。

    在配置模式下, file filename 使用层次结构级别的 [edit system scripts snmp] 脚本语言的相应文件名和扩展配置语句,并配置将触发脚本的 OID。

  3. 如果脚本写在 Python 中,请根据需要配置 language pythonlanguage python3 语句。

  4. 如果脚本写在 Python 中,则配置执行脚本访问权限的用户。

    注意:

    如果未配置 python-script-user 语句,则默认情况下,Junos OS 将根据用户和组 nobody的访问权限执行 Python SNMP 脚本。

  5. commit发出 命令提交配置。

结果

在配置模式下,输入 show system scripts snmp 命令以确认您的配置。

如果输出未显示预期的配置,请重复此示例中的配置说明以将其更正。

要确保启用的文件已在设备上,请使用file list /var/run/scripts/snmp操作模式命令列出 /var/run/scripts/snmp 目录的内容。

验证

验证脚本执行

目的

验证 SNMP 脚本是否照预期工作。

行动

show snmp mib get发出 、 show snmp mib get-nextshow snmp mib walk 命令生成 SNMP 请求。

系统日志文件在脚本执行后包含以下消息: