非常教程

Erlang 20参考手册

snmp

snmpm_user

模块

snmpm_user

模块摘要

SNMP管理器用户的行为模块。

描述

该模块定义了管理员用户的行为。一个snmpm_user兼容的模块必须导出以下功能:

  • handle_error/3
  • handle_agent/4
  • handle_pdu/4
  • handle_trap/3
  • handle_inform/3
  • handle_report/3
  • handle_invalid_result / 2它们的语义和它们的确切签名在下面解释。有些函数没有定义的返回值(void()),它们当然可以返回任何东西。但是具有指定返回值的函数必须坚持这一点。没有一个函数可以使用throw返回。如果管理器没有配置为使用任何特定的传输域,那么handle_agent/4为了向后兼容的原因将与旧的IpAddr和旧的一起调用该行为PortNumberargumentsData typessnmp_gen_info()= {ErrorStatus :: atom(),ErrorIndex :: pos_integer(),Varbinds :: [snmp:varbind()]} snmp_v1_trap_info():: {Enteprise :: snmp:oid(),Generic :: integer (),Spec :: integer(),Timestamp :: integer(),Varbinds :: [snmp:varbind()]}导出handle_error(ReqId, Reason, UserData) -> void()类型当管理器需要向用户传递“异步”错误时调用此函数:例如失败发送异步消息(即,编码错误),由于安全错误而丢弃接收到的消息,管理器未能生成对接收到的通知请求的响应消息,或者当从代理接收到意外的PDU时(可能过期异步请求)。如果ReqId小于0时,表示该信息对经理不可用(信息在丢弃前从未检索到)。对于SnmpInfo见下文handle_agent。handle_agent(Domain, Addr, Type, SnmpInfo, UserData) -> Reply类型从未知代理收到消息时调用此函数。请注意,这将始终是被调用的默认用户。有关详细信息agent_config(),请参阅register_agent参数Type并按SnmpInfo以下方式关联:
  • pdu- SnmpPduInfo(详情请参阅handle_pdu)。
  • trap- SnmpTrapInfo(详情请参阅handle_trap)。
  • report- SnmpReportInfo(详情请参阅handle_report)。
  • inform- SnmpInformInfo(详情请参阅handle_inform)。

唯一会返回{register, UserId, TargetName, AgentConfig}用户默认用户

handle_pdu(TargetName, ReqId, SnmpPduInfo, UserData) -> void()

类型

处理的回复的异步请求,诸如async_getasync_get_nextasync_set

它也可能是对同步请求的延迟回复。

ReqId 由异步请求函数返回。

handle_trap(TargetName, SnmpTrapInfo, UserData) -> Reply

类型

处理来自代理的陷阱/通知消息。

有关更多信息agent_config(),请参阅register_agent

唯一会返回{register, UserId, TargetName2, agent_info()}用户默认用户

handle_inform(TargetName, SnmpInformInfo, UserData) -> Reply

类型

处理通知消息。

有关agent_config(),见register_agent

唯一会返回{register, UserId, TargetName2, AgentConfig}用户默认用户

如果inform request behaviour配置选项设置为user{user, integer()},则此函数返回时将发送对此通知请求的响应(确认)。

handle_report(TargetName, SnmpReportInfo, UserData) -> Reply

类型

处理报告消息。

有关更多信息agent_config(),请参阅register_agent

唯一会返回{register, UserId, TargetName2, AgentConfig}用户默认用户

handle_invalid_result(IN, OUT) -> void()

类型

如果任何其他的回调函数崩溃(退出,抛出或纯崩溃)或返回无效的结果(如果已指定一个有效的回报),这个函数被调用。目的是让用户处理这个错误(例如发出错误报告)。

IN表示称为的函数(及其参数)。OUT代表意外/无效的结果。

snmp相关

1.1. SNMP简介 | 1. SNMP Introduction
2.2.代理功能描述 | 2. Agent Functional Description
3.3.管理功能描述 | 3. Manager Functional Description
4.4. MIB编译器 | 4. The MIB Compiler
5.5.运行应用程序 | 5. Running the application
6.6.代理配置文件的定义 | 6. Definition of Agent Configuration Files
7.7. Manager配置文件的定义 | 7. Definition of Manager Configuration Files
8.8.代理实现示例 | 8. Agent Implementation Example
9.9.管理实施例 | 9. Manager Implementation Example
10.10.检测函数 | 10. Instrumentation Functions
11.检测函数的定义 | 11. Definition of Instrumentation Functions
12.Net if的定义 | 12. Definition of Agent Net if
13.管理Netif 的定义 | 13. Definition of Manager Net if
14.14.审计跟踪日志 | 14. Audit Trail Log
15.15.高级代理主题 | 15. Advanced Agent Topics
16.16. SNMP Appendix A
17.17. SNMP Appendix B
18.snmp
19.snmpa
20.snmpa_conf
21.snmpa_discovery_handler
22.snmpa_error
23.snmpa_error_io
24.snmpa_error_logger
25.snmpa_error_report
26.snmpa_local_db
27.snmpa_mib_data
28.snmpa_mib_storage
29.snmpa_mpd
30.snmpa_network_interface
31.snmpa_network_interface_filter
32.snmpa_notification_delivery_info_receiver
33.snmpa_notification_filter
34.snmpa_supervisor
35.snmpc
36.snmpm
37.snmpm_conf
38.snmpm_mpd
39.snmpm_network_interface
40.snmpm_network_interface_filter
41.snmp_community_mib
42.snmp_framework_mib
43.snmp_generic
44.snmp_index
45.snmp_notification_mib
46.snmp_pdus
47.snmp_standard_mib
48.snmp_target_mib
49.snmp_user_based_sm_mib
50.snmp_view_based_acm_mib
Erlang 20

Erlang 是一种通用的面向并发的编程语言,可应付大规模开发活动的程序设计语言和运行环境。

主页 https://www.erlang.org/
源码 https://github.com/erlang/otp
版本 20
发布版本 20.1