非常教程

Erlang 20参考手册

snmp

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

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_conf
37.snmpm_mpd
38.snmpm_network_interface
39.snmpm_network_interface_filter
40.snmpm_user
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