在线文档教程
Erlang 20

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第一个元素的元组都保留供内部使用。

一些发送选项(communitysec_modelsec_namesec_levelmax_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第一个元素的元组都保留供内部使用。

一些发送选项(communitysec_modelsec_namesec_levelmax_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第一个元素的元组都保留供内部使用。

一些发送选项(communitysec_modelsec_namesec_levelmax_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第一个元素的元组都保留供内部使用。

一些发送选项(communitysec_modelsec_namesec_levelmax_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作为其第一个元素的元组都被保留供内部使用。

一些发送选项(communitysec_modelsec_namesec_levelmax_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第一个元素的元组都保留供内部使用。

一些发送选项(communitysec_modelsec_namesec_levelmax_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时)才会使用它来进行跟踪。

一些发送选项(communitysec_modelsec_namesec_levelmax_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 应该是缩进字符串(例如空格列表)或正整数(用于创建该长度的缩进字符串)。