使用特定于企业的实用程序 MIB
使用特定于企业的实用程序 MIB
通过企业特定的实用程序 MIB,可以将符合 SNMP 的应用程序信息添加到企业特定的实用程序 MIB。申请信息包括:
NAT 映射
运营商等级 NAT (CGNAT) 池
服务集 CPU 利用率
服务集内存使用情况
服务集摘要信息
服务集数据包丢弃信息
服务集内存区域信息
多服务 PIC CPU 和内存利用率
有状态防火墙流计数器
会话应用程序连接信息
会话分析信息
订阅者分析信息
流量负载均衡器信息
您可以使用已交付的样式表语言替代语法 (SLAX) 脚本将应用程序信息放入特定于企业的实用程序 MIB 中。该脚本基于事件脚本中定义的事件策略(例如路由器的重新启动或路由引擎的切换)调用。也可以从命令行调用该脚本作为 op 脚本。该脚本仅在主路由引擎上运行。调用脚本后,它使用 XML-RPC API 定期轮询来自指定组件的数据,并将转换后的数据作为 SNMP 变量写入实用程序 MIB。在经过配置的轮询周期后,脚本会自动重新启动。
使用信息填充企业特定的实用程序 MIB
要使用 SLAX 脚本使用信息填充特定于企业的实用程序 MIB,请执行以下操作:
启用 services-oids-slax 脚本。
user@host# set system scripts op file services-oids.slax
在脚本执行期间为数据段配置最大内存量。
user@host# set event-options event-script max-database 512m
启用脚本。
user@host# set event-options event-script file services-oids-ev-policy.slax
(选答)启用该 log-stats 参数以允许在运行事件脚本时记录有状态防火墙速率统计信息。
显示事件策略和可以使用的参数。
user@host> show event-options event-scripts polices
event-options { policy services-oids-done { events system; attributes-match { system.message matches "Completed polling cycle normally. Exiting"; } then { event-script services-oids.slax { arguments { max-polls 30; interval 120; } } } } policy system-started { events system; attributes-match { system.message matches "Starting of initial processes complete"; } then { event-script services-oids.slax { arguments { max-polls 30; interval 120; } } } } } event-options { policy services-oids-done { events system; attributes-match { system.message matches "Completed polling cycle normally. Exiting"; } then { event-script services-oids.slax { arguments { max-polls 30; interval 120; } } } } policy system-started { events system; attributes-match { system.message matches "Starting of initial processes complete"; } then { event-script services-oids.slax { arguments { max-polls 30; interval 120; } } } } }
log-stats
参数未出现,因此必须启用它。启动 Linux shell。
user@host> start shell
%
打开 /var/db/scripts/event/services-oids-eve-policy.slax 文件进行编辑。
<event-options> { /* * This policy detects when the services-oids.slax script ends, then restarts it. */ <policy> { <name> "services-oids-done"; <events> "system"; <attributes-match> { <from-event-attribute> "system.message"; <condition> "matches"; <to-event-attribute-value> "Completed polling cycle normally. Exiting"; } <then> { <event-script> { <name> "services-oids.slax"; <arguments> { <name>"max-polls"; <value>"30"; } <arguments> { <name>"interval"; <value>"120"; } /* <arguments> { <name>"log-stats"; <value>"yes"; } */ } } } /* * This policy detects when the system has booted and kicks off the services-oids.slax script. * This policy hooks the 'system started' event */ <policy> { <name> "system-started"; <events> "system"; <attributes-match> { <from-event-attribute> "system.message"; <condition> "matches"; <to-event-attribute-value> "Starting of initial processes complete"; } <then> { <event-script> { <name> "services-oids.slax"; <arguments> { <name>"max-polls"; <value>"30"; } <arguments> { <name>"interval"; <value>"120"; } /* <arguments> { <name>"log-stats"; <value>"yes"; } */ } } } }
删除包含
“log-stats”
的标记周围的<arguments>
注释附件(/*
*/
和 )。退出 Linux shell 并返回到 CLI。
% exit
加载对事件脚本文件所做的更改。
user@host>request system scripts event-scripts reload
下次事件脚本重新启动时,该
log-stats
参数可用。
设置脚本日志记录文件 services-oids.log。
user@host# set system syslog file services-oids.log any info user@host# set system syslog file services-oids.log match cscript
在路由引擎之间同步脚本,以便在路由引擎切换时,事件策略从新的主引擎上启动。
要基于每次提交进行同步:
user@host# commit synchronize scripts
要在每次执行 commit synchronizeScript 时同步脚本:
[edit system scripts] user@host# set synchronize user@host# commit synchronize
该脚本会在系统启动时自动启动,但您可以使用 CLI 手动启动。
user@host> op services-oids arguments
表 1 描述了可以使用的参数。
表 1:services-oids.slax 脚本的参数 论点
描述
干净
值 1 用于清除所有实用程序 MIB OID。仅将其用于清理 OID 表。
透明信号量
的值 1 可重置实用程序 MIB 中的信号量,以便从异常的脚本退出或手动脚本退出中恢复。
调试
在控制台上打印调试消息。
细节
显示详细输出。
间隔
设置轮询周期之间的秒数(默认值为 120)。
invoke-debugger
在调试器模式下调用脚本。
日志统计
Yes 值启用有状态防火墙速率统计信息的系统日志记录(默认值为 No)。
最大轮询
设置退出脚本之前的轮询周期数(默认值为 30)。
仅限一个周期
一个轮询周期后的退出值 1 。事件策略不会重新启动脚本。此选项仅用于测试。默认值为 0。
信号停止
值 将 1 停止脚本并设置信号量,这将导致下一次迭代退出。
沉默
如果未设置,则在控制台上打印跟踪消息。将其设置为零长度字符串 (“ ”) 以取消设置。默认值为 1。
|
通过命令进行管道传输。
从日志文件中检查脚本的状态。
router> show /var/log/services-oids.log | no-more
Jun 27 19:51:47 wf-cheesypoofs cscript: services-oids.slax(v0.14):[info] Beginning polling cycle. Jun 27 19:51:47 wf-cheesypoofs cscript: services-oids.slax(v0.14):[info] processing traffic load-balance statistics Jun 27 19:51:48 wf-cheesypoofs cscript: services-oids.slax(v0.14):[info] processing cgnat pool detail Jun 27 19:51:48 wf-cheesypoofs cscript: services-oids.slax(v0.14):[info] processing cgnat mappings summary Jun 27 19:51:48 wf-cheesypoofs cscript: services-oids.slax(v0.14):[info] processing service-sets summary Jun 27 19:51:48 wf-cheesypoofs cscript: services-oids.slax(v0.14):[info] processing service-sets cpu-usage Jun 27 19:51:48 wf-cheesypoofs cscript: services-oids.slax(v0.14):[info] processing service-sets mem-usage Jun 27 19:51:49 wf-cheesypoofs cscript: services-oids.slax(v0.14):[info] processing stateful firewall statistics Jun 27 19:51:49 wf-cheesypoofs cscript: services-oids.slax(v0.14):[info] processing stateful firewall flow-analysis Jun 27 19:51:49 wf-cheesypoofs cscript: services-oids.slax(v0.14):[info] processing stateful firewall flows counts Jun 27 19:51:49 wf-cheesypoofs cscript: services-oids.slax(v0.14):[info] processing FW policy connections/second Jun 27 19:51:49 wf-cheesypoofs cscript: services-oids.slax(v0.14):[info] processing FW/NAT app connections Jun 27 19:51:51 wf-cheesypoofs cscript: services-oids.slax(v0.14):[info] processing service-set packet-drops Jun 27 19:51:51 wf-cheesypoofs cscript: services-oids.slax(v0.14):[info] processing service-set memory-usage zone Jun 27 19:51:51 wf-cheesypoofs cscript: services-oids.slax(v0.14):[info] processing service-set policy throughput stats Jun 27 19:51:52 wf-cheesypoofs cscript: services-oids.slax(v0.14):[info] processing ms-pic CPU amd Memory utilization stats Jun 27 19:51:52 wf-cheesypoofs cscript: services-oids.slax(v0.14):[info] 1/30 Sleeping for 110 seconds.
验证您是否正在获取实用程序 MIB OID 更新。
router> show snmp mib walk jnxUtil ascii
. . . jnxUtilCounter64Value."services10tcp-errors09CGN-SET-1" = 0 jnxUtilCounter64Value."services10tcp-errors09CGN-SET-2" = 0 jnxUtilCounter64Value."services10tcp-errors09CGN-SET-3" = 0 jnxUtilCounter64Value."services10udp-errors09CGN-SET-1" = 1119 jnxUtilCounter64Value."services10udp-errors09CGN-SET-2" = 0 . . .
要排除时间戳信息,请使用
router> show snmp mib walk jnxUtil ascii | match Value
使用 CLI 停止 SLAX 脚本
要从 CLI 停止 SLAX 脚本,请执行以下操作:
user@host> op services-oids signal-stop 1
清除实用程序 MIB
要清除所有实用程序 MIB OID,请执行以下操作:
user@host> op services-oids clean 1
使用 CLI 从异常的 SLAX 脚本退出或 SLAX 脚本退出中恢复
要使用 CLI 从异常的 SLAX 脚本退出或 SLAX 脚本退出中恢复,请执行以下操作:
user@host> op services-oids clear-semaphore 1