snmpm
snmpm
模块
snmpm
模块摘要
与SNMP工具包管理器的接口函数
描述
模块snmpm
包含到SNMP管理器的接口函数。
公共数据类型
以下功能使用下列数据类型:
oid() = [byte()] - The oid() type is used to represent an ASN.1 OBJECT IDENTIFIER
snmp_reply() = {error_status(), error_index(), varbinds()}
error_status() = noError | atom()
error_index() = integer()
varbinds() = [varbind()]
atl_type() = read | write | read_write
target_name() = string() - Is a unique *non-empty* string
vars_and_vals() = [var_and_val()]
var_and_val() = {oid(), value_type(), value()} | {oid(), value()}
value_type() = o ('OBJECT IDENTIFIER') |
i ('INTEGER') |
u ('Unsigned32') |
g ('Unsigned32') |
s ('OCTET SRING') |
b ('BITS') |
ip ('IpAddress') |
op ('Opaque') |
c32 ('Counter32') |
c64 ('Counter64') |
tt ('TimeTicks')
value() = term()
community() = string()
sec_model() = any | v1 | v2c | usm
sec_name() = string()
sec_level() = noAuthNoPriv | authNoPriv | authPriv
另见data types insnmpa_conf
...
输出
monitor() -> Ref
类型
监视SNMP管理器。在发生崩溃的情况下,调用(监控)进程将收到'DOWN'消息(有关更多信息,请参阅erlang模块)。
demonitor(Ref) -> void()
类型
关闭SNMP管理器的监视。
notify_started(Timeout) -> Pid
类型
SNMP管理器启动时请求通知(消息)。
该Timeout
是请求有效的时间。该值必须大于零。
这Pid
是处理SNMP管理器启动监督的过程。当经理开始完成时,消息将从这个过程发送给客户:{snmpm_started, Pid}
。如果SNMP管理器未及时启动,则会向客户端发送超时消息:{snmpm_start_timeout, Pid}
。
依赖于SNMP管理器的客户端应用程序将使用此函数,以便通知管理器何时启动。有两种情况是有用的:
- 在系统启动期间,当客户端应用程序
能
在SNMP管理器之前启动,但依赖于它,因此必须等待它启动。
- 当SNMP管理器崩溃时,依赖客户端应用程序必须等待SNMP管理器重新
连接
才能重新启动。
该函数返回处理程序进程的pid(),它代表客户机应用程序进行监督。请注意,客户端应用程序链接到此处理程序。
此函数与监视器功能一起使用。
cancel_notify_started(Pid) -> void()
类型
取消要通知SNMP管理器启动的先前请求。
register_user(Id, Module, Data) -> ok | {error, Reason}register_user(Id, Module, Data, DefaultAgentConfig) -> ok | {error, Reason}
类型
注册负责特定代理的经理实体(=用户)。
Module
是回调模块(snmpm_user行为),只要发生了一些事情(检测到的代理,收到的回复或传入的陷阱/通知),都会调用它。请注意,这可能已经作为节点配置的结果完成。(请参阅users.conf)。
DefaultAgentConfig
当这个用户注册代理时,参数被用作默认值。
类型Val
取决于Item
:
community = string()
timeout = integer() | snmp_timer()
max_message_size = integer()
version = v1 | v2 | v3
sec_model = any | v1 | v2c | usm
sec_name = string()
sec_level = noAuthNoPriv | authNoPriv | authPriv
register_user_monitor(Id, Module, Data) -> ok | {error, Reason}register_user_monitor(Id, Module, Data, DefaultAgentConfig) -> ok | {error, Reason}
类型
注册负责特定代理的监控管理实体(=用户)。
执行注册的过程将被监控。这意味着如果该进程死亡,则该用户进程注册的所有代理将被取消注册。所有未完成的请求将被取消。
Module
是回调模块(snmpm_user行为),只要发生了一些事情(检测到的代理,收到的回复或传入的陷阱/通知),都会调用它。请注意,这可能已经作为节点配置的结果完成。(请参阅users.conf)。
DefaultAgentConfig
当这个用户注册代理时,参数被用作默认值。
类型Val
取决于Item
:
community = string()
timeout = integer() | snmp_timer()
max_message_size = integer()
version = v1 | v2 | v3
sec_model = any | v1 | v2c | usm
sec_name = string()
sec_level = noAuthNoPriv | authNoPriv | authPriv
unregister_user(Id) -> ok | {error, Reason}
类型
取消用户注册。
which_users() -> Users
类型
获取所有注册用户的身份列表。
register_agent(UserId, TargetName, Config) -> ok | {error, Reason}
类型
明确地指示经理以UserId
负责用户的身份处理该代理。
告诉经理该代理人应处理。当用户事先知道经理应处理哪些代理时,使用此功能。请注意,有一种替代方法可以做同样的事情:将代理添加到管理器配置文件(请参阅agents.conf
)。
TargetName
是一个非空字符串,唯一标识代理。
类型Val
依赖于Item
*
[mandatory] engine_id = string()
[mandatory] tadress = transportAddress() % Depends on tdomain
[optional] port = inet:port_number()
[optional] tdomain = transportDomain()
[optional] community = string()
[optional] timeout = integer() | snmp_timer()
[optional] max_message_size = integer()
[optional] version = v1 | v2 | v3
[optional] sec_model = any | v1 | v2c | usm
[optional] sec_name = string()
[optional] sec_level = noAuthNoPriv | authNoPriv | authPriv
注意,如果没有tdomain
,则为默认值,transportDomainUdpIpv4
,被使用。
注意,如果没有port
是给定的,如果taddress
不包含端口号,则使用默认值。
unregister_agent(UserId, TargetName) -> ok | {error, Reason}
类型
取消代理的注册。
agent_info(TargetName, Item) -> {ok, Val} | {error, Reason}
类型
检索代理配置。
update_agent_info(UserId, TargetName, Info) -> ok | {error, Reason}update_agent_info(UserId, TargetName, Item, Val) -> ok | {error, Reason}
类型
更新代理配置。功能update_agent_info/3
当需要原子地更新多个值时,应该使用。
有关register_agent
更多信息,请参阅功能允许哪些类型的项目。
which_agents() -> Agentswhich_agents(UserId) -> Agents
类型
获取由特定用户注册的所有注册代理或所有代理的列表。
register_usm_user(EngineID, UserName, Conf) -> ok | {error, Reason}
类型
明确指示经理处理此USM用户。请注意,有一种替代方法可以做同样的事情:将usm用户添加到管理器配置文件(请参阅usm.conf
)。
类型Val
依赖于Item
*
sec_name = string()
auth = usmNoAuthProtocol | usmHMACMD5AuthProtocol | usmHMACSHAAuthProtocoltimeout
auth_key = [integer()] (length 16 if auth = usmHMACMD5AuthProtocol,
length 20 if auth = usmHMACSHAAuthProtocol)
priv = usmNoPrivProtocol | usmDESPrivProtocol | usmAesCfb128Protocol
priv_key = [integer()] (length is 16 if priv = usmDESPrivProtocol | usmAesCfb128Protocol).
unregister_usm_user(EngineID, UserName) -> ok | {error, Reason}
类型
取消此USM用户注册。
usm_user_info(EngineID, UserName, Item) -> {ok, Val} | {error, Reason}
类型
检索USM用户配置。
update_usm_user_info(EngineID, UserName, Item, Val) -> ok | {error, Reason}
类型
更新USM用户配置。
which_usm_users() -> UsmUsers
类型
获取所有注册USM用户的列表。
which_usm_users(EngineID) -> UsmUsers
类型
获取所有注册USM用户的引擎id列表。EngineID
...
sync_get2(UserId, TargetName, Oids) -> {ok, SnmpReply, Remaining} | {error, Reason}sync_get2(UserId, TargetName, Oids, SendOpts) -> {ok, SnmpReply, Remaining} | {error, Reason}
类型
同步get-request
...
Remaining
是给定(或默认)超时时间的剩余时间。
当Reason
为{send_failed,...}时
,意味着net_if进程无法发送消息。这可能是由于许多原因造成的,即编码错误。ActualReason
是这种情况下的实际原因。
send选项extra
指定传递给net-if进程的不透明数据结构。除了一个例外,本应用程序中包含的net-if进程不会使用此信息,因此只有在这种选项(当使用内置net-if时)才会使用它。一个用法例外是:任何
具有snmpm_extra_info_tag
第一个元素的元组都保留供内部使用。
一些发送选项(community,sec_model,sec_name,sec_level和max_message_size)是覆盖选项。 也就是说,对于此请求,它们会覆盖代理程序注册时执行的任何配置。
对于SnmpInfo
,请参阅用户回调函数handle_report
。
sync_get(UserId, TargetName, Oids) -> {ok, SnmpReply, Remaining} | {error, Reason}sync_get(UserId, TargetName, ContextName, Oids) -> {ok, SnmpReply, Remaining} | {error, Reason}sync_get(UserId, TargetName, Oids, Timeout) -> {ok, SnmpReply, Remaining} | {error, Reason}sync_get(UserId, TargetName, ContextName, Oids, Timeout) -> {ok, SnmpReply, Remaining} | {error, Reason}sync_get(UserId, TargetName, ContextName, Oids, Timeout, ExtraInfo) -> {ok, SnmpReply, Remaining} | {error, Reason}
类型
同步get-request
...
Remaining
给定或默认超时时间的剩余时间。
当Reason
为{send_failed,...}时
,意味着net_if进程无法发送消息。这可能是由于许多原因造成的,即编码错误。R
是这种情况下的实际原因。
ExtraInfo
是一个传递给net-if进程的不透明数据结构。除了一个例外情况,本应用程序中包含的net-if进程不会使用此信息,因此只有在这种配置下(使用内置net-if时)才能使用它。一个用法例外是:任何
具有snmpm_extra_info_tag
第一个元素的元组都保留供内部使用。
对于SnmpInfo
,请参阅用户回调函数handle_report
。
async_get2(UserId, TargetName, Oids) -> {ok, ReqId} | {error, Reason}async_get2(UserId, TargetName, Oids, SendOpts) -> {ok, ReqId} | {error, Reason}
类型
异步get-request
...
该回复如果到达,将通过调用snmpm_user回调函数传递给用户handle_pdu
。
send选项timeout
指定请求有效的时间(之后管理员可以自由删除它)。
send选项extra
指定传递给net-if进程的不透明数据结构。除了一个例外,本应用程序中包含的net-if进程不会使用此信息,因此只有在这种选项(当使用内置net-if时)才会使用它。一个用法例外是:任何
具有snmpm_extra_info_tag
第一个元素的元组都保留供内部使用。
一些发送选项(community
,sec_model
,sec_name
,sec_level
和max_message_size
)是override options
。也就是说,对于此
请求,它们会覆盖代理程序注册时执行的任何配置。
async_get(UserId, TargetName, Oids) -> {ok, ReqId} | {error, Reason}async_get(UserId, TargetName, ContextName, Oids) -> {ok, ReqId} | {error, Reason}async_get(UserId, TargetName, Oids, Expire) -> {ok, ReqId} | {error, Reason}async_get(UserId, TargetName, ContextName, Oids, Expire) -> {ok, ReqId} | {error, Reason}async_get(UserId, TargetName, ContextName, Oids, Expire, ExtraInfo) -> {ok, ReqId} | {error, Reason}
类型
异步get-request
...
该回复如果到达,将通过调用snmpm_user回调函数传递给用户handle_pdu
。
该Expire
时间表示请求的有效时间(在此之后,管理者可以自由地将其删除)。
ExtraInfo
是一个传递给net-if进程的不透明数据结构。除了一个例外情况,本应用程序中包含的net-if进程不会使用此信息,因此只有在这种配置下(使用内置net-if时)才能使用它。一个用法例外是:任何
具有snmpm_extra_info_tag
第一个元素的元组都保留供内部使用。
sync_get_next2(UserId, TargetName, Oids) -> {ok, SnmpReply, Remaining} | {error, Reason}sync_get_next2(UserId, TargetName, Oids, SendOpts) -> {ok, SnmpReply, Remaining} | {error, Reason}
类型
同步get-next-request
...
Remaining
是给定(或默认)超时时间的剩余时间。
当Reason
为{send_failed,...}时
,意味着net_if进程无法发送消息。这可能是由于许多原因造成的,即编码错误。ActualReason
是这种情况下的实际原因。
send选项extra
指定传递给net-if进程的不透明数据结构。除了一个例外,本应用程序中包含的net-if进程不会使用此信息,因此只有在这种选项(当使用内置net-if时)才会使用它。一个用法例外是:任何
具有snmpm_extra_info_tag
第一个元素的元组都保留供内部使用。
一些发送选项(community
,sec_model
,sec_name
,sec_level
和max_message_size
)是override options
。也就是说,对于此
请求,它们会覆盖代理程序注册时执行的任何配置。
对于SnmpInfo
,请参阅用户回调函数handle_report
。
sync_get_next(UserId, TargetName, Oids) -> {ok, SnmpReply, Remaining} | {error, Reason}sync_get_next(UserId, TargetName, ContextName, Oids) -> {ok, SnmpReply, Remaining} | {error, Reason}sync_get_next(UserId, TargetName, Oids, Timeout) -> {ok, SnmpReply, Remaining} | {error, Reason}sync_get_next(UserId, TargetName, ContextName, Oids, Timeout) -> {ok, SnmpReply, Remaining} | {error, Reason}sync_get_next(UserId, TargetName, ContextName, Oids, Timeout, ExtraInfo) -> {ok, SnmpReply, Remaining} | {error, Reason}
类型
同步get-next-request
...
Remaining
给定或默认超时时间的时间。
当Reason
为{send_failed,...}时
,意味着net_if进程无法发送消息。这可能是由于许多原因造成的,即编码错误。R
是这种情况下的实际原因。
ExtraInfo
是一个传递给net-if进程的不透明数据结构。除了一个例外情况,本应用程序中包含的net-if进程不会使用此信息,因此只有在这种配置下(使用内置net-if时)才能使用它。一个用法例外是:任何
具有snmpm_extra_info_tag
第一个元素的元组都保留供内部使用。
async_get_next2(UserId, TargetName, Oids) -> {ok, ReqId} | {error, Reason}async_get_next2(UserId, TargetName, Oids, SendOpts) -> {ok, ReqId} | {error, Reason}
类型
异步get-next-request
...
通过调用snmpm_user回调函数将答复传递给用户handle_pdu
。
send选项timeout
指定请求有效的时间(之后管理员可以自由删除它)。
send选项extra
指定传递给net-if进程的不透明数据结构。除了一个例外,本应用程序中包含的net-if进程不会使用此信息,因此只有在这种选项(当使用内置net-if时)才会使用它。一个用法例外是:任何
具有snmpm_extra_info_tag
第一个元素的元组都保留供内部使用。
一些发送选项(community
,sec_model
,sec_name
,sec_level
和max_message_size
)是override options
。也就是说,对于此
请求,它们会覆盖代理程序注册时执行的任何配置。
async_get_next(UserId, TargetName, Oids) -> {ok, ReqId} | {error, Reason}async_get_next(UserId, TargetName, ContextName, Oids) -> {ok, ReqId} | {error, Reason}async_get_next(UserId, TargetName, Oids, Expire) -> {ok, ReqId} | {error, Reason}async_get_next(UserId, TargetName, ContextName, Oids, Expire) -> {ok, ReqId} | {error, Reason}async_get_next(UserId, TargetName, ContextName, Oids, Expire, ExtraInfo) -> {ok, ReqId} | {error, Reason}
类型
异步get-next-request
。
通过调用snmpm_user回调函数将答复传递给用户handle_pdu
。
该Expire
时间表示请求的有效时间(在此之后,管理者可以自由地将其删除)。
ExtraInfo
是一个传递给net-if进程的不透明数据结构。除了一个例外情况,本应用程序中包含的net-if进程不会使用此信息,因此只有在这种配置下(使用内置net-if时)才能使用它。一个用法例外是:任何
具有snmpm_extra_info_tag
第一个元素的元组都保留供内部使用。
sync_set2(UserId, TargetName, VarsAndVals) -> {ok, SnmpReply, Remaining} | {error, Reason}sync_set2(UserId, TargetName, VarsAndVals, SendOpts) -> {ok, SnmpReply, Remaining} | {error, Reason}
类型
同步set-request
...
Remaining
是给定(或默认)超时时间的剩余时间。
当Reason
为{send_failed,...}时
,意味着net_if进程无法发送消息。这可能是由于许多原因造成的,即编码错误。ActualReason
是这种情况下的实际原因。
当var_and_val()
是{oid(),value()}时
,管理者根据加载的mib进行有根据的猜测。
send选项extra
指定传递给net-if进程的不透明数据结构。除了一个例外,本应用程序中包含的net-if进程不会使用此信息,因此只有在这种选项(当使用内置net-if时)才会使用它。一个用法例外是:任何
具有snmpm_extra_info_tag
第一个元素的元组都保留供内部使用。
一些发送选项(community
,sec_model
,sec_name
,sec_level
和max_message_size
)是override options
。也就是说,对于此
请求,它们会覆盖代理程序注册时执行的任何配置。
对于SnmpInfo
,请参阅用户回调函数handle_report
。
sync_set(UserId, TargetName, VarsAndVals) -> {ok, SnmpReply, Remaining} | {error, Reason}sync_set(UserId, TargetName, ContextName, VarsAndVals) -> {ok, SnmpReply, Remaining} | {error, Reason}sync_set(UserId, TargetName, VarsAndVals, Timeout) -> {ok, SnmpReply, Remaining} | {error, Reason}sync_set(UserId, TargetName, ContextName, VarsAndVals, Timeout) -> {ok, SnmpReply, Remaining} | {error, Reason}sync_set(UserId, TargetName, ContextName, VarsAndVals, Timeout, ExtraInfo) -> {ok, SnmpReply, Remaining} | {error, Reason}
类型
同步set-request
...
Remaining
给定或默认超时时间的时间。
当Reason
为{send_failed,...}时
,意味着net_if进程无法发送消息。这可能是由于许多原因造成的,即编码错误。R
是这种情况下的实际原因。
当var_and_val()
是{oid(),value()}时
,管理者根据加载的mib进行有根据的猜测。
ExtraInfo
是一个传递给net-if进程的不透明数据结构。除了一个例外情况,本应用程序中包含的net-if进程不会使用此信息,因此只有在这种配置下(使用内置net-if时)才能使用它。一个用法例外是:任何
具有snmpm_extra_info_tag
第一个元素的元组都保留供内部使用。
async_set2(UserId, TargetName, VarsAndVals) -> {ok, ReqId} | {error, Reason}async_set2(UserId, TargetName, VarsAndVals, SendOpts) -> {ok, ReqId} | {error, Reason}
类型
异步set-request
...
通过调用snmpm_user回调函数将答复传递给用户handle_pdu
。
send选项timeout
指定请求有效的时间(之后管理员可以自由删除它)。
当var_and_val()
是{oid(),value()}时
,管理者根据加载的mib进行有根据的猜测。
send选项extra指定传递给net-if进程的不透明数据结构。 除了一个例外,本应用程序中包含的net-if进程不会使用此信息,因此只有在这种选项(当使用内置net-if时)才会使用它。 一个用法例外是:任何以snmpm_extra_info_tag作为其第一个元素的元组都被保留供内部使用。
一些发送选项(community
,sec_model
,sec_name
,sec_level
和max_message_size
)是override options
。也就是说,对于此
请求,它们会覆盖代理程序注册时执行的任何配置。
async_set(UserId, TargetName, VarsAndVals) -> {ok, ReqId} | {error, Reason}async_set(UserId, TargetName, ContextName, VarsAndVals) -> {ok, ReqId} | {error, Reason}async_set(UserId, TargetName, VarsAndVals, Expire) -> {ok, ReqId} | {error, Reason}async_set(UserId, TargetName, ContextName, VarsAndVals, Expire) -> {ok, ReqId} | {error, Reason}async_set(UserId, TargetName, ContextName, VarsAndVals, Expire, ExtraInfo) -> {ok, ReqId} | {error, Reason}
类型
异步set-request
...
通过调用snmpm_user回调函数将答复传递给用户handle_pdu
。
该Expire
时间表示请求的有效时间(在此之后,管理者可以自由地将其删除)。
当var_and_val()
是{oid(),value()}时
,管理者根据加载的mib进行有根据的猜测。
ExtraInfo
是一个传递给net-if进程的不透明数据结构。除了一个例外情况,本应用程序中包含的net-if进程不会使用此信息,因此只有在这种配置下(使用内置net-if时)才能使用它。一个用法例外是:任何
具有snmpm_extra_info_tag
第一个元素的元组都保留供内部使用。
sync_get_bulk2(UserId, TragetName, NonRep, MaxRep, Oids) -> {ok, SnmpReply, Remaining} | {error, Reason}sync_get_bulk2(UserId, TragetName, NonRep, MaxRep, Oids, SendOpts) -> {ok, SnmpReply, Remaining} | {error, Reason}
类型
同步get-bulk-request
(请参阅RFC1905)。
Remaining
是给定(或默认)超时时间的剩余时间。
当Reason
为{send_failed,...}时
,意味着net_if进程无法发送消息。这可能是由于许多原因造成的,即编码错误。ActualReason
是这种情况下的实际原因。
send选项extra
指定传递给net-if进程的不透明数据结构。除了一个例外,本应用程序中包含的net-if进程不会使用此信息,因此只有在这种选项(当使用内置net-if时)才会使用它。一个用法例外是:任何
具有snmpm_extra_info_tag
第一个元素的元组都保留供内部使用。
一些发送选项(community
,sec_model
,sec_name
,sec_level
和max_message_size
)是override options
。也就是说,对于此
请求,它们会覆盖代理程序注册时执行的任何配置。
对于SnmpInfo
,请参阅用户回调函数handle_report
。
sync_get_bulk(UserId, TragetName, NonRep, MaxRep, Oids) -> {ok, SnmpReply, Remaining} | {error, Reason}sync_get_bulk(UserId, TragetName, NonRep, MaxRep, ContextName, Oids) -> {ok, SnmpReply, Remaining} | {error, Reason}sync_get_bulk(UserId, TragetName, NonRep, MaxRep, Oids, Timeout) -> {ok, SnmpReply, Remaining} | {error, Reason}sync_get_bulk(UserId, TragetName, NonRep, MaxRep, ContextName, Oids, Timeout) -> {ok, SnmpReply, Remaining} | {error, Reason}sync_get_bulk(UserId, TragetName, NonRep, MaxRep, ContextName, Oids, Timeout, ExtraInfo) -> {ok, SnmpReply, Remaining} | {error, Reason}
类型
同步get-bulk-request
(请参阅RFC1905)。
Remaining
给定或默认超时时间的时间。
当Reason
为{send_failed,...}时
,意味着net_if进程无法发送消息。这可能是由于许多原因造成的,即编码错误。R
是这种情况下的实际原因。
ExtraInfo
是一个传递给net-if进程的不透明数据结构。除了一个例外情况,本应用程序中包含的net-if进程不会使用此信息,因此只有在这种配置下(使用内置net-if时)才能使用它。一个用法例外是:任何
具有snmpm_extra_info_tag
第一个元素的元组都保留供内部使用。
async_get_bulk2(UserId, TargetName, NonRep, MaxRep, Oids) -> {ok, ReqId} | {error, Reason}async_get_bulk2(UserId, TargetName, NonRep, MaxRep, Oids, SendOpts) -> {ok, ReqId} | {error, Reason}
类型
异步get-bulk-request
(请参阅RFC1905)。
通过调用snmpm_user回调函数将答复传递给用户handle_pdu
。
send选项timeout
指定请求有效的时间(之后管理员可以自由删除它)。
send选项extra
指定传递给net-if进程的不透明数据结构。本应用程序中包含的net-if进程不使用此信息,因此在这种配置中(仅当使用内置的net-if时)才会使用它来进行跟踪。
一些发送选项(community
,sec_model
,sec_name
,sec_level
和max_message_size
)是override options
。也就是说,对于此
请求,它们会覆盖代理程序注册时执行的任何配置。
async_get_bulk(UserId, TargetName, NonRep, MaxRep, Oids) -> {ok, ReqId} | {error, Reason}async_get_bulk(UserId, TargetName, NonRep, MaxRep, ContextName, Oids) -> {ok, ReqId} | {error, Reason}async_get_bulk(UserId, TargetName, NonRep, MaxRep, Oids, Expire) -> {ok, ReqId} | {error, Reason}async_get_bulk(UserId, TargetName, NonRep, MaxRep, ContextName, Oids, Expire) -> {ok, ReqId} | {error, Reason}async_get_bulk(UserId, TargetName, NonRep, MaxRep, ContextName, Oids, Expire, ExtraInfo) -> {ok, ReqId} | {error, Reason}
类型
异步get-bulk-request
(请参阅RFC1905)。
通过调用snmpm_user回调函数将答复传递给用户handle_pdu
。
该Expire
时间表示请求的有效时间(在此之后,管理者可以自由地将其删除)。
ExtraInfo
是一个传递给net-if进程的不透明数据结构。除了一个例外情况,本应用程序中包含的net-if进程不会使用此信息,因此只有在这种配置下(使用内置net-if时)才能使用它。一个用法例外是:任何
具有snmpm_extra_info_tag
第一个元素的元组都保留供内部使用。
cancel_async_request(UserId, ReqId) -> ok | {error, Reason}
类型
取消以前的异步请求。
log_to_txt(LogDir)log_to_txt(LogDir, Block | Mibs)log_to_txt(LogDir, Mibs, Block | OutFile) -> ok | {error, Reason}log_to_txt(LogDir, Mibs, OutFile, Block | LogName) -> ok | {error, Reason}log_to_txt(LogDir, Mibs, OutFile, LogName, Block | LogFile) -> ok | {error, Reason}log_to_txt(LogDir, Mibs, OutFile, LogName, LogFile, Block | Start) -> ok | {error, Reason}log_to_txt(LogDir, Mibs, OutFile, LogName, LogFile, Block, Start) -> ok | {error, Reason}log_to_txt(LogDir, Mibs, OutFile, LogName, LogFile, Start, Stop) -> ok | {error, Reason}log_to_txt(LogDir, Mibs, OutFile, LogName, LogFile, Block, Start, Stop) -> ok | {error, Reason}
类型
将审计跟踪日志转换为可读的文本文件。OutFile
默认为“./snmpm_log.txt”。LogName
默认为“snmpm_log”。LogFile
默认为“snmpm.log”。
该Block
参数指示日志是否应在转换期间被阻止。转换大型日志时这可能是有用的(否则日志可能会在转换过程中进行换行)。默认为true
。
见snmp:log_to_txt
以了解更多信息。
log_to_io(LogDir) -> ok | {error, Reason}log_to_io(LogDir, Block | Mibs) -> ok | {error, Reason}log_to_io(LogDir, Mibs) -> ok | {error, Reason}log_to_io(LogDir, Mibs, Block | LogName) -> ok | {error, Reason}log_to_io(LogDir, Mibs, LogName, Block | LogFile) -> ok | {error, Reason}log_to_io(LogDir, Mibs, LogName, LogFile, Block | Start) -> ok | {error, Reason}log_to_io(LogDir, Mibs, LogName, LogFile, Block, Start) -> ok | {error, Reason}log_to_io(LogDir, Mibs, LogName, LogFile, Start, Stop) -> ok | {error, Reason}log_to_io(LogDir, Mibs, LogName, LogFile, Block, Start, Stop) -> ok | {error, Reason}
类型
将审计跟踪日志转换为可读格式并将其打印在stdio上。LogName
默认为“snmpm_log”。LogFile
默认为“snmpm.log”。
该Block
参数指示日志是否应在转换期间被阻止。转换大型日志时这可能是有用的(否则日志可能会在转换过程中进行换行)。默认为true
。
见snmp:log_to_io
以了解更多信息。
change_log_size(NewSize) -> ok | {error, Reason}
类型
更改审计跟踪日志的日志大小。应用程序必须配置为使用审计跟踪日志功能。有关如何更改日志大小的说明,请参阅“内核参考手册”中的disk_log(3)。
只要日志未被删除,更改就是永久的。这意味着,重新启动时会记住日志大小。
set_log_type(NewType) -> {ok, OldType} | {error, Reason}
类型
更改运行时审核跟踪日志类型。
请注意,这对配置文件定义的应用程序配置没有影响,因此节点重新启动会将配置恢复为这些文件中的任何配置。
此函数主要用于测试/调试场景。
load_mib(Mib) -> ok | {error, Reason}
类型
将Mib加载到管理器中。 MibName是Mib的名称,包括找到已编译的mib的路径。 例如,
Dir = code:priv_dir(my_app) ++ "/mibs/",
snmpm:load_mib(Dir ++ "MY-MIB").
unload_mib(Mib) -> ok | {error, Reason}
类型
从管理器中卸载一个Mib。 MibName是Mib的名称,包括找到已编译的mib的路径。 例如,
Dir = code:priv_dir(my_app) ++ "/mibs/",
snmpm:unload_mib(Dir ++ "MY-MIB").
which_mibs() -> Mibs
类型
获取加载到管理器中的所有mib的列表。
name_to_oid(Name) -> {ok, Oids} | {error, Reason}
类型
把化名转换成它的id。
请注意,别名仅在mib中是唯一的,因此将多个mib加载到管理器时,可能会有多个具有相同别名的实例。
oid_to_name(Oid) -> {ok, Name} | {error, Reason}
类型
将一个id转换成它的别名。
oid_to_type(Oid) -> {ok, Type} | {error, Reason}
类型
Retreive oid的类型(asn1 bertype)。
backup(BackupDir) -> ok | {error, Reason}
类型
备份由经理处理的持久性数据。
BackupDir不能与DbDir相同。
info() -> [{Key, Value}]
类型
返回包含关于经理的信息的列表(字典)。信息包括统计计数器,有关每个进程的其他信息(例如内存分配)等。
verbosity(Ref, Verbosity) -> void()
类型
设定指定进程的详细程度。对于最低的冗长度silence
,什么都不打印。冗长度越高,打印的越多。
format_reason(Reason) -> string()format_reason(Prefix, Reason) -> string()
类型
此实用程序功能用于创建从以下任一项收到的错误原因的格式化(可打印)字符串:
- 在
Reason
返回的值,如果任何一个同步/异步获取/取得下一个/套/取块功能恢复{error, Reason}
- 用户回调函数中的
Reason
参数handle_error
。
Prefix
应该是缩进字符串(例如空格列表)或正整数(用于创建该长度的缩进字符串)。