查看源代码 snmpm (snmp v5.18)

SNMP 工具包管理器的接口函数

模块 snmpm 包含 SNMP 管理器的接口函数。

摘要

类型

值类型取决于根据以下内容的项

完成(代理)注册的时间。

是标识请求的唯一项。

实现 snmpm_user 行为的模块。

是一个唯一的非空字符串。

是标识用户的唯一项。

值类型取决于根据以下内容的项

  • o - 'OBJECT IDENTIFIER'

函数

检索代理配置。

异步 get-bulk-request (参见 RFC1905)。

备份管理器处理的持久性数据。

取消之前的异步请求。

取消之前关于 SNMP 管理器启动的通知请求。

更改审计跟踪日志的日志大小。必须配置应用程序以使用审计跟踪日志功能。有关如何更改日志大小的描述,请参阅 Kernel 参考手册中的 disk_log(3)。

关闭 SNMP 管理器的监控。

此实用函数用于创建从以下任一项接收到的错误原因的格式化(漂亮打印)字符串

返回包含有关管理器的信息的列表(字典)。信息包括统计计数器,有关每个进程的各种信息(例如,内存分配)等等。

Mib 加载到管理器中。MibName 是 Mib 的名称,包括找到编译 mib 的路径。例如,

等同于 log_to_io/7

等同于 log_to_io/7

等同于 log_to_io/7

等同于 log_to_io/7

等同于 log_to_io/7

将审计跟踪日志转换为可读的格式,并将其打印到 stdio。LogName 默认为 "snmpm_log"。LogFile 默认为 "snmpm.log"。

等同于 log_to_txt/8

等同于 log_to_txt/8

等同于 log_to_txt/8

等同于 log_to_txt/8

等同于 log_to_txt/8

等同于 log_to_txt/8

将审计跟踪日志转换为可读的文本文件。OutFile 默认为 "./snmpm_log.txt"。LogName 默认为 "snmpm_log"。LogFile 默认为 "snmpm.log"。

监控 SNMP 管理器。如果发生崩溃,则调用(监控)进程将收到“DOWN”消息(有关更多信息,请参见 erlang 模块)。

将别名转换为其 oid。

请求在 SNMP 管理器启动时发出通知(消息)。

将 oid 转换为其别名。

检索 oid 的类型 (asn1 bertype)。

显式指示管理器使用 UserId 作为负责用户来处理此代理。

注册负责特定代理的管理器实体(=用户)。

注册负责特定代理的受监控的管理器实体(=用户)。

显式指示管理器处理此 USM 用户。请注意,还有一种替代方法可以实现相同的目的:将 usm 用户添加到管理器配置文件(请参阅 usm.conf)。

重新启动指示的进程 (What)。请注意,重新启动进程并非没有风险,因此应谨慎使用。

更改运行时审计跟踪日志类型。

同步 get-bulk-request (参见 RFC1905)。

从管理器中卸载 MibMibName 是 Mib 的名称,包括找到编译 mib 的路径。例如,

注销用户。

注销此 USM 用户。

检索 usm 用户配置。

设置指定进程的详细程度。对于最低的详细程度 silence,不打印任何内容。详细程度越高,打印的内容就越多。

获取所有已注册代理或特定用户注册的所有代理的列表。

获取加载到管理器中的所有 mib 的列表。

获取所有已注册用户的标识列表。

获取所有已注册 usm 用户的列表。

获取具有 engine-id EngineID 的所有已注册 usm 用户的列表。

类型

-type agent_config() ::
          {engine_id, snmp:engine_id()} |
          {address, inet:ip_address()} |
          {port, inet:port_number()} |
          {tdomain, snmp:tdomain()} |
          {community, snmp:community()} |
          {timeout, register_timeout()} |
          {max_message_size, snmp:mms()} |
          {version, snmp:version()} |
          {sec_model, snmp:sec_model()} |
          {sec_name, snmp:sec_name()} |
          {sec_level, snmp:sec_level()}.
-type agent_config_item() ::
          engine_id | address | port | tdomain | community | timeout | max_message_size | version |
          sec_model | sec_name | sec_level.

值类型取决于根据以下内容的项

-type pdu_type() :: snmp:pdu_type() | trappdu.
-type register_timeout() :: pos_integer() | snmp:snmp_timer().

完成(代理)注册的时间。

-opaque request_id()

是标识请求的唯一项。

-type snmp_reply() :: {snmp:error_status(), snmp:error_index(), [snmp:varbind()]}.
-type snmpm_user() :: module().

实现 snmpm_user 行为的模块。

-type target_name() :: string().

是一个唯一的非空字符串。

-type user_id() :: term().

是标识用户的唯一项。

-type usm_config_item() :: sec_name | auth | auth_key | priv | priv_key.

值类型取决于根据以下内容的项

-type value_type() :: o | i | u | g | s | s | b | ip | op | c32 | c64 | tt.
  • o - 'OBJECT IDENTIFIER'

  • i - 'INTEGER'

  • u - 'Unsigned32'

  • g - 'Unsigned32'

  • s - 'OCTET STRING'

  • b - 'BITS'

  • ip - 'IpAddress'

  • op - 'Opaque'

  • c32 - 'Counter32'

  • c64 - 'Counter64'

  • tt - 'TimeTicks'

-type var_and_val() ::
          {OID :: snmp:oid(), ValueType :: value_type(), Value :: term()} |
          {OID :: snmp:oid(), Value :: term()}.

函数

链接到此函数

agent_info(TargetName, Item)

查看源代码
-spec agent_info(TargetName, Item) -> {ok, Value} | {error, Reason}
                    when
                        TargetName :: target_name(),
                        Item :: agent_config_item(),
                        Value :: term(),
                        Reason :: term().

检索代理配置。

链接到此函数

async_get2(UserId, TargetName, Oids)

查看源代码 (自 OTP R14B03 起)
-spec async_get2(UserId, TargetName, Oids) -> {ok, ReqId} | {error, Reason}
                    when
                        UserId :: user_id(),
                        TargetName :: target_name(),
                        Oids :: [snmp:oid()],
                        ReqId :: request_id(),
                        Reason :: term().

等同于 async_get2/4

链接到此函数

async_get2(UserId, TargetName, Oids, SendOpts)

查看源代码 (自 OTP R14B03 起)
-spec async_get2(UserId, TargetName, Oids, SendOpts) -> {ok, ReqId} | {error, Reason}
                    when
                        UserId :: user_id(),
                        TargetName :: target_name(),
                        Oids :: [snmp:oid()],
                        SendOpts :: [SendOpt],
                        SendOpt ::
                            {context, snmp:context_name()} |
                            {timeout, pos_integer()} |
                            {community, snmp:community()} |
                            {sec_model, snmp:sec_model()} |
                            {sec_name, snmp:sec_name()} |
                            {sec_level, snmp:sec_level()} |
                            {max_message_size, snmp:mms()} |
                            {extra, term()},
                        ReqId :: request_id(),
                        Reason :: term().

异步 get-request

如果收到回复,将通过调用 snmpm_user 回调函数 handle_pdu 将回复传递给用户。

发送选项 timeout 指定请求的有效期(超时后管理器可以自由删除它)。

发送选项 extra 指定一个不透明的数据结构,传递给 net-if 进程。此应用程序中包含的 net-if 进程,除了一种情况外,不使用此信息,因此它的唯一用途(当使用内置的 net-if 时)将是跟踪。唯一的例外用法是:任何以 snmpm_extra_info_tag 作为第一个元素的元组都保留供内部使用。

一些发送选项(communitysec_modelsec_namesec_levelmax_message_size)是覆盖选项。也就是说,对于请求,它们会覆盖注册代理时所做的任何配置。

链接到此函数

async_get_bulk2(UserId, TargetName, NonRep, MaxRep, Oids)

查看源代码 (自 OTP R14B03 起)
-spec async_get_bulk2(UserId, TargetName, NonRep, MaxRep, Oids) -> {ok, ReqId} | {error, Reason}
                         when
                             UserId :: user_id(),
                             TargetName :: target_name(),
                             NonRep :: non_neg_integer(),
                             MaxRep :: non_neg_integer(),
                             Oids :: [snmp:oid()],
                             ReqId :: request_id(),
                             Reason :: term().

等同于 async_get_bulk2/6

链接到此函数

async_get_bulk2(UserId, TargetName, NonRep, MaxRep, Oids, SendOpts)

查看源代码 (自 OTP R14B03 起)
-spec async_get_bulk2(UserId, TargetName, NonRep, MaxRep, Oids, SendOpts) ->
                         {ok, ReqId} | {error, Reason}
                         when
                             UserId :: user_id(),
                             TargetName :: target_name(),
                             NonRep :: non_neg_integer(),
                             MaxRep :: non_neg_integer(),
                             Oids :: [snmp:oid()],
                             SendOpts :: [SendOpt],
                             SendOpt ::
                                 {context, snmp:context_name()} |
                                 {timeout, pos_integer()} |
                                 {community, snmp:community()} |
                                 {sec_model, snmp:sec_model()} |
                                 {sec_name, snmp:sec_name()} |
                                 {sec_level, snmp:sec_level()} |
                                 {max_message_size, snmp:mms()} |
                                 {extra, term()},
                             ReqId :: request_id(),
                             Reason :: term().

异步 get-bulk-request (参见 RFC1905)。

如果收到回复,将通过调用 snmpm_user 回调函数 handle_pdu 将回复传递给用户。

发送选项 timeout 指定请求的有效期(超时后管理器可以自由删除它)。

发送选项 extra 指定一个不透明的数据结构,传递给 net-if 进程。此应用程序中包含的 net-if 进程不使用此信息,因此在此配置中(当使用内置的 net-if 时),它唯一的用途将是跟踪。

一些发送选项(communitysec_modelsec_namesec_levelmax_message_size)是覆盖选项。也就是说,对于请求,它们会覆盖注册代理时所做的任何配置。

链接到此函数

async_get_next2(UserId, TargetName, Oids)

查看源代码 (自 OTP R14B03 起)
-spec async_get_next2(UserId, TargetName, Oids) -> {ok, ReqId} | {error, Reason}
                         when
                             UserId :: user_id(),
                             TargetName :: target_name(),
                             Oids :: [snmp:oid()],
                             ReqId :: request_id(),
                             Reason :: term().

等同于 async_get_next2/4

链接到此函数

async_get_next2(UserId, TargetName, Oids, SendOpts)

查看源代码 (自 OTP R14B03 起)
-spec async_get_next2(UserId, TargetName, Oids, SendOpts) -> {ok, ReqId} | {error, Reason}
                         when
                             UserId :: user_id(),
                             TargetName :: target_name(),
                             Oids :: [snmp:oid()],
                             SendOpts :: [SendOpt],
                             SendOpt ::
                                 {context, snmp:context_name()} |
                                 {timeout, pos_integer()} |
                                 {community, snmp:community()} |
                                 {sec_model, snmp:sec_model()} |
                                 {sec_name, snmp:sec_name()} |
                                 {sec_level, snmp:sec_level()} |
                                 {max_message_size, snmp:mms()} |
                                 {extra, term()},
                             ReqId :: request_id(),
                             Reason :: term().

异步 get-next-request

如果收到回复,将通过调用 snmpm_user 回调函数 handle_pdu 将回复传递给用户。

发送选项 timeout 指定请求的有效期(超时后管理器可以自由删除它)。

发送选项 extra 指定一个不透明的数据结构,传递给 net-if 进程。此应用程序中包含的 net-if 进程,除了一种情况外,不使用此信息,因此它的唯一用途(当使用内置的 net-if 时)将是跟踪。唯一的例外用法是:任何以 snmpm_extra_info_tag 作为第一个元素的元组都保留供内部使用。

一些发送选项(communitysec_modelsec_namesec_levelmax_message_size)是覆盖选项。也就是说,对于请求,它们会覆盖注册代理时所做的任何配置。

链接到此函数

async_set2(UserId, TargetName, VarsAndVals)

查看源代码 (自 OTP R14B03 起)
-spec async_set2(UserId, TargetName, VarsAndVals) -> {ok, ReqId} | {error, Reason}
                    when
                        UserId :: user_id(),
                        TargetName :: target_name(),
                        VarsAndVals :: [var_and_val()],
                        ReqId :: request_id(),
                        Reason :: term().

等同于 async_set2/4

链接到此函数

async_set2(UserId, TargetName, VarsAndVals, SendOpts)

查看源代码 (自 OTP R14B03 起)
-spec async_set2(UserId, TargetName, VarsAndVals, SendOpts) -> {ok, ReqId} | {error, Reason}
                    when
                        UserId :: user_id(),
                        TargetName :: target_name(),
                        VarsAndVals :: [var_and_val()],
                        SendOpts :: [SendOpt],
                        SendOpt ::
                            {context, snmp:context_name()} |
                            {timeout, pos_integer()} |
                            {community, snmp:community()} |
                            {sec_model, snmp:sec_model()} |
                            {sec_name, snmp:sec_name()} |
                            {sec_level, snmp:sec_level()} |
                            {max_message_size, snmp:mms()} |
                            {extra, term()},
                        ReqId :: request_id(),
                        Reason :: term().

异步 set-request

答复将通过调用 snmpm_user 回调函数 handle_pdu 传递给用户。

发送选项 timeout 指定请求的有效期(超时后管理器可以自由删除它)。

var_and_val(){oid(), value()} 时,管理器会根据加载的 mibs 进行有根据的猜测。

发送选项 extra 指定一个不透明的数据结构,传递给 net-if 进程。此应用程序中包含的 net-if 进程,除了一种情况外,不使用此信息,因此它的唯一用途(当使用内置的 net-if 时)将是跟踪。唯一的例外用法是:任何以 snmpm_extra_info_tag 作为第一个元素的元组都保留供内部使用。

一些发送选项(communitysec_modelsec_namesec_levelmax_message_size)是覆盖选项。也就是说,对于请求,它们会覆盖注册代理时所做的任何配置。

-spec backup(BackupDir) -> ok | {error, Reason} when BackupDir :: snmp:dir(), Reason :: term().

备份管理器处理的持久性数据。

BackupDir 不能与 DbDir 相同。

链接到此函数

cancel_async_request(UserId, ReqId)

查看源代码
-spec cancel_async_request(UserId, ReqId) -> ok | {error, Reason}
                              when UserId :: user_id(), ReqId :: request_id(), Reason :: term().

取消之前的异步请求。

链接到此函数

cancel_notify_started(Pid)

查看源代码
-spec cancel_notify_started(Pid) -> snmp:void() when Pid :: pid().

取消之前关于 SNMP 管理器启动的通知请求。

链接到此函数

change_log_size(NewSize)

查看源代码
-spec change_log_size(NewSize) -> ok | {error, Reason} when NewSize :: snmp:log_size(), Reason :: term().

更改审计跟踪日志的日志大小。必须配置应用程序以使用审计跟踪日志功能。有关如何更改日志大小的描述,请参阅 Kernel 参考手册中的 disk_log(3)。

只要日志不被删除,该更改就是永久性的。这意味着,日志大小会在重启后被记住。

-spec demonitor(Ref) -> true when Ref :: reference().

关闭 SNMP 管理器的监控。

-spec format_reason(Reason) -> FReason when Reason :: term(), FReason :: string().

等同于 format_reason/2

链接到此函数

format_reason(Prefix, Reason)

查看源代码
-spec format_reason(Prefix, Reason) -> FReason
                       when
                           Prefix :: non_neg_integer() | string(), Reason :: term(), FReason :: string().

此实用函数用于创建从以下任一项接收到的错误原因的格式化(漂亮打印)字符串

  • 如果任何同步/异步 get/get-next/set/get-bulk 函数返回 {error, Reason},则返回的 Reason 值。
  • handle_error 用户回调函数中的 Reason 参数。

Prefix 应该是一个缩进字符串(例如,空格列表)或一个正整数(它将被用来创建该长度的缩进字符串)。

-spec info() -> [{Key, Value}] when Key :: atom(), Value :: term().

返回包含有关管理器的信息的列表(字典)。信息包括统计计数器,有关每个进程的各种信息(例如,内存分配)等等。

-spec load_mib(MibName) -> ok | {error, Reason} when MibName :: snmp:mib_name(), Reason :: term().

Mib 加载到管理器中。MibName 是 Mib 的名称,包括找到编译 mib 的路径。例如,

          Dir = code:priv_dir(my_app) ++ "/mibs/",
          snmpm:load_mib(Dir ++ "MY-MIB").
链接到此函数

log_to_io(LogDir)

查看源代码 (自 OTP R15B01 起)
-spec log_to_io(LogDir) -> ok | {ok, Cnt} | {error, Reason}
                   when
                       LogDir :: snmp:dir(),
                       Cnt :: {NumOK, NumERR},
                       NumOK :: non_neg_integer(),
                       NumERR :: pos_integer(),
                       Reason :: term().

等同于 log_to_io/7

链接到此函数

log_to_io/2

查看源代码 (自 OTP R15B01 起)
-spec log_to_io(LogDir, Block) -> ok | {ok, Cnt} | {error, Reason}
                   when
                       LogDir :: snmp:dir(),
                       Block :: boolean(),
                       Cnt :: {NumOK, NumERR},
                       NumOK :: non_neg_integer(),
                       NumERR :: pos_integer(),
                       Reason :: term();
               (LogDir, Mibs) -> ok | {ok, Cnt} | {error, Reason}
                   when
                       LogDir :: snmp:dir(),
                       Mibs :: [snmp:mib_name()],
                       Cnt :: {NumOK, NumERR},
                       NumOK :: non_neg_integer(),
                       NumERR :: pos_integer(),
                       Reason :: term().

等同于 log_to_io/7

链接到此函数

log_to_io/3

查看源代码 (自 OTP R15B01 起)
-spec log_to_io(LogDir, Mibs, Block) -> ok | {ok, Cnt} | {error, Reason}
                   when
                       LogDir :: snmp:dir(),
                       Mibs :: [snmp:mib_name()],
                       Block :: boolean(),
                       Cnt :: {NumOK, NumERR},
                       NumOK :: non_neg_integer(),
                       NumERR :: pos_integer(),
                       Reason :: term();
               (LogDir, Mibs, LogName) -> ok | {ok, Cnt} | {error, Reason}
                   when
                       LogDir :: snmp:dir(),
                       Mibs :: [snmp:mib_name()],
                       LogName :: string(),
                       Cnt :: {NumOK, NumERR},
                       NumOK :: non_neg_integer(),
                       NumERR :: pos_integer(),
                       Reason :: term().

等同于 log_to_io/7

链接到此函数

log_to_io/4

查看源代码 (自 OTP R15B01 起)
-spec log_to_io(LogDir, Mibs, LogName, Block) -> ok | {ok, Cnt} | {error, Reason}
                   when
                       LogDir :: snmp:dir(),
                       Mibs :: [snmp:mib_name()],
                       LogName :: string(),
                       Block :: boolean(),
                       Cnt :: {NumOK, NumERR},
                       NumOK :: non_neg_integer(),
                       NumERR :: pos_integer(),
                       Reason :: term();
               (LogDir, Mibs, LogName, LogFile) -> ok | {ok, Cnt} | {error, Reason}
                   when
                       LogDir :: snmp:dir(),
                       Mibs :: [snmp:mib_name()],
                       LogName :: string(),
                       LogFile :: string(),
                       Cnt :: {NumOK, NumERR},
                       NumOK :: non_neg_integer(),
                       NumERR :: pos_integer(),
                       Reason :: term().

等同于 log_to_io/7

链接到此函数

log_to_io/5

查看源代码 (自 OTP R15B01 起)
-spec log_to_io(LogDir, Mibs, LogName, LogFile, Block) -> ok | {ok, Cnt} | {error, Reason}
                   when
                       LogDir :: snmp:dir(),
                       Mibs :: [snmp:mib_name()],
                       LogName :: string(),
                       LogFile :: string(),
                       Block :: boolean(),
                       Cnt :: {NumOK, NumERR},
                       NumOK :: non_neg_integer(),
                       NumERR :: pos_integer(),
                       Reason :: term();
               (LogDir, Mibs, LogName, LogFile, Start) -> ok | {ok, Cnt} | {error, Reason}
                   when
                       LogDir :: snmp:dir(),
                       Mibs :: [snmp:mib_name()],
                       LogName :: string(),
                       LogFile :: string(),
                       Start :: null | snmp:log_time(),
                       Cnt :: {NumOK, NumERR},
                       NumOK :: non_neg_integer(),
                       NumERR :: pos_integer(),
                       Reason :: term().

等同于 log_to_io/7

链接到此函数

log_to_io/6

查看源代码 (自 OTP R15B01 起)
-spec log_to_io(LogDir, Mibs, LogName, LogFile, Block, Start) -> ok | {ok, Cnt} | {error, Reason}
                   when
                       LogDir :: snmp:dir(),
                       Mibs :: [snmp:mib_name()],
                       LogName :: string(),
                       LogFile :: string(),
                       Block :: boolean(),
                       Start :: null | snmp:log_time(),
                       Cnt :: {NumOK, NumERR},
                       NumOK :: non_neg_integer(),
                       NumERR :: pos_integer(),
                       Reason :: term();
               (LogDir, Mibs, LogName, LogFile, Start, Stop) -> ok | {ok, Cnt} | {error, Reason}
                   when
                       LogDir :: snmp:dir(),
                       Mibs :: [snmp:mib_name()],
                       LogName :: string(),
                       LogFile :: string(),
                       Start :: null | snmp:log_time(),
                       Stop :: null | snmp:log_time(),
                       Cnt :: {NumOK, NumERR},
                       NumOK :: non_neg_integer(),
                       NumERR :: pos_integer(),
                       Reason :: term().

等同于 log_to_io/7

链接到此函数

log_to_io(LogDir, Mibs, LogName, LogFile, Block, Start, Stop)

查看源代码 (自 OTP R16B03 起)
-spec log_to_io(LogDir, Mibs, LogName, LogFile, Block, Start, Stop) -> ok | {ok, Cnt} | {error, Reason}
                   when
                       LogDir :: snmp:dir(),
                       Mibs :: [snmp:mib_name()],
                       LogName :: string(),
                       LogFile :: string(),
                       Block :: boolean(),
                       Start :: null | snmp:log_time(),
                       Stop :: null | snmp:log_time(),
                       Cnt :: {NumOK, NumERR},
                       NumOK :: non_neg_integer(),
                       NumERR :: pos_integer(),
                       Reason :: term().

将审计跟踪日志转换为可读的格式,并将其打印到 stdio。LogName 默认为 "snmpm_log"。LogFile 默认为 "snmpm.log"。

Block 参数指示在转换期间是否应阻塞日志。这在转换大型日志时可能很有用(否则日志可能会在转换期间回绕)。默认为 true

StartStop 指示应转换哪些日志条目,从何时 (Start) 到何时 (Stop)。Start = null => 从日志开头开始。Stop = null => 在日志末尾停止转换。默认为 Start = nullStop = null(整个日志)。

有关更多信息,请参阅 snmp:log_to_io/7

链接到此函数

log_to_txt(LogDir)

查看源代码 (自 OTP R16B03 起)
-spec log_to_txt(LogDir :: snmp:dir()) -> snmp:void().

等同于 log_to_txt/8

-spec log_to_txt(LogDir :: snmp:dir(), Block :: boolean()) -> snmp:void();
                (LogDir :: snmp:dir(), Mibs :: [snmp:mib_name()]) -> snmp:void().

等同于 log_to_txt/8

-spec log_to_txt(LogDir :: snmp:dir(), Mibs :: [snmp:mib_name()], Block :: boolean()) -> snmp:void();
                (LogDir :: snmp:dir(), Mibs :: [snmp:mib_name()], OutFile :: file:filename()) ->
                    snmp:void().

等同于 log_to_txt/8

-spec log_to_txt(LogDir :: snmp:dir(),
                 Mibs :: [snmp:mib_name()],
                 OutFile :: file:filename(),
                 Block :: boolean()) ->
                    snmp:void();
                (LogDir :: snmp:dir(),
                 Mibs :: [snmp:mib_name()],
                 OutFile :: file:filename(),
                 LogName :: string()) ->
                    snmp:void().

等同于 log_to_txt/8

-spec log_to_txt(LogDir :: snmp:dir(),
                 Mibs :: [snmp:mib_name()],
                 OutFile :: file:filename(),
                 LogName :: string(),
                 Block :: boolean()) ->
                    snmp:void();
                (LogDir :: snmp:dir(),
                 Mibs :: [snmp:mib_name()],
                 OutFile :: file:filename(),
                 LogName :: string(),
                 LogFile :: string()) ->
                    snmp:void().

等同于 log_to_txt/8

-spec log_to_txt(LogDir :: snmp:dir(),
                 Mibs :: [snmp:mib_name()],
                 OutFile :: file:filename(),
                 LogName :: string(),
                 LogFile :: string(),
                 Block :: boolean()) ->
                    snmp:void();
                (LogDir :: snmp:dir(),
                 Mibs :: [snmp:mib_name()],
                 OutFile :: file:filename(),
                 LogName :: string(),
                 LogFile :: string(),
                 Start :: null | snmp:log_time()) ->
                    snmp:void().

等同于 log_to_txt/8

-spec log_to_txt(LogDir :: snmp:dir(),
                 Mibs :: [snmp:mib_name()],
                 OutFile :: file:filename(),
                 LogName :: string(),
                 LogFile :: string(),
                 Block :: boolean(),
                 Start :: null | snmp:log_time()) ->
                    snmp:void();
                (LogDir :: snmp:dir(),
                 Mibs :: [snmp:mib_name()],
                 OutFile :: file:filename(),
                 LogName :: string(),
                 LogFile :: string(),
                 Start :: null | snmp:log_time(),
                 Stop :: null | snmp:log_time()) ->
                    snmp:void().

等同于 log_to_txt/8

链接到此函数

log_to_txt(LogDir, Mibs, OutFile, LogName, LogFile, Block, Start, Stop)

查看源代码 (自 OTP R16B03 起)
-spec log_to_txt(LogDir :: snmp:dir(),
                 Mibs :: [snmp:mib_name()],
                 OutFile :: file:filename(),
                 LogName :: string(),
                 LogFile :: string(),
                 Block :: boolean(),
                 Start :: snmp:log_time(),
                 Stop :: snmp:log_time()) ->
                    snmp:void().

将审计跟踪日志转换为可读的文本文件。OutFile 默认为 "./snmpm_log.txt"。LogName 默认为 "snmpm_log"。LogFile 默认为 "snmpm.log"。

Block 参数指示在转换期间是否应阻塞日志。这在转换大型日志时可能很有用(否则日志可能会在转换期间回绕)。默认为 true

StartStop 指示应转换哪些日志条目,从何时 (Start) 到何时 (Stop)。Start = null => 从日志开头开始。Stop = null => 在日志末尾停止转换。默认为 Start = nullStop = null(整个日志)。

有关更多信息,请参阅 snmp:log_to_txt/8

-spec monitor() -> MRef when MRef :: reference().

监控 SNMP 管理器。如果发生崩溃,则调用(监控)进程将收到“DOWN”消息(有关更多信息,请参见 erlang 模块)。

链接到此函数

name_to_oid(AliasName)

查看源代码
-spec name_to_oid(AliasName) -> {ok, OIDs} | {error, Reason}
                     when AliasName :: atom(), OIDs :: [snmp:oid()], Reason :: term().

将别名转换为其 oid。

请注意,别名名称在 mib 中是唯一的,因此当将多个 mib 加载到管理器中时,可能会有多个相同的别名名称的实例。

链接到此函数

notify_started(Timeout)

查看源代码
-spec notify_started(Timeout) -> Pid when Timeout :: pos_integer(), Pid :: pid().

请求在 SNMP 管理器启动时发出通知(消息)。

Timeout 是请求有效的时长。该值必须大于零。

Pid 是处理 SNMP 管理器启动监管的进程。当管理器启动后,将从该进程向客户端发送完成消息:{snmpm_started, Pid}。如果 SNMP 管理器未及时启动,则将向客户端发送超时消息:{snmpm_start_timeout, Pid}

依赖于 SNMP 管理器的客户端应用程序将使用此函数来接收管理器何时启动的通知。在以下两种情况下,这很有用:

  • 在系统启动期间,当客户端应用程序可能在 SNMP 管理器之前启动但依赖于它时,因此必须等待它启动。
  • 当 SNMP 管理器崩溃时,依赖的客户端应用程序必须等待 SNMP 管理器重新启动后才能重新连接

该函数返回处理程序进程的 pid(),该进程代表客户端应用程序执行监管。请注意,客户端应用程序已链接到此处理程序。

此函数与监视器函数一起使用。

-spec oid_to_name(OID) -> {ok, AliasName} | {error, Reason}
                     when OID :: snmp:oid(), AliasName :: atom(), Reason :: term().

将 oid 转换为其别名。

-spec oid_to_type(OID) -> {ok, Type} | {error, Reason}
                     when OID :: snmp:oid(), Type :: atom(), Reason :: term().

检索 oid 的类型 (asn1 bertype)。

链接到此函数

register_agent(UserId, TargetName, Config)

查看源代码
-spec register_agent(UserId, TargetName, Config) -> ok | {error, Reason}
                        when
                            UserId :: user_id(),
                            TargetName :: target_name(),
                            Config :: [ConfigEntry],
                            ConfigEntry :: {Item, Value},
                            Item :: agent_config_item(),
                            Value :: term(),
                            Reason :: term().

显式指示管理器使用 UserId 作为负责用户来处理此代理。

调用此函数是为了指示管理器应处理此代理。当用户预先知道管理器应处理哪些代理时,使用此函数。请注意,还有另一种方法可以执行相同的操作:将代理添加到管理器配置文件(请参阅 agents.conf)。

TargetName 是一个非空字符串,唯一标识该代理。

Val 的类型取决于 Item

[mandatory] engine_id = engine_id()
[mandatory] address = inet:ip_address()  % Depends on tdomain
[optional]  port = inet:port_number()
[optional]  tdomain = snmp:tdomain()
[optional]  community = snmp:community()
[optional]  timeout = register_timeout()
[optional]  max_message_size = snmp:mms()
[optional]  version = snmp:version()
[optional]  sec_model = snmp:sec_model()
[optional]  sec_name = snmp:sec_name()
[optional]  sec_level = snmp:sec_level()

请注意,如果没有给出 tdomain,则使用默认值 transportDomainUdpIpv4

请注意,如果没有给出 port,并且如果 taddress 不包含端口号,则使用默认值。

链接到此函数

register_user(UserId, Module, Data)

查看源代码
-spec register_user(UserId, Module, Data) -> ok | {error, Reason}
                       when
                           UserId :: user_id(), Module :: snmpm_user(), Data :: term(), Reason :: term().

等同于 register_user/4

链接到此函数

register_user(UserId, Module, Data, DefaultAgentConfig)

查看源代码
-spec register_user(UserId, Module, Data, DefaultAgentConfig) -> ok | {error, Reason}
                       when
                           UserId :: user_id(),
                           Module :: snmpm_user(),
                           Data :: term(),
                           DefaultAgentConfig :: [DefaultConfigEntry],
                           DefaultConfigEntry :: {Item, Value},
                           Item :: agent_config_item(),
                           Value :: term(),
                           Reason :: term().

注册负责特定代理的管理器实体(=用户)。

Module 是回调模块(snmpm_user 行为),每当发生某些事情(检测到的代理、传入的回复或传入的陷阱/通知)时,都会调用该模块。

Data 是一个不透明的数据结构,管理器不会检查它,它将包含在所有对 Module 回调模块(snmpm_user 行为)的回调调用中。

当此用户注册代理时,参数 DefaultAgentConfig 用作默认值。

请注意,此操作(注册用户)可能已经作为节点配置的结果完成。(请参阅 users.conf)。

链接到此函数

register_user_monitor(UserId, Module, Data)

查看源代码
-spec register_user_monitor(UserId, Module, Data) -> ok | {error, Reason}
                               when
                                   UserId :: user_id(),
                                   Module :: snmpm_user(),
                                   Data :: term(),
                                   Reason :: term().

等同于 register_user_monitor/4

链接到此函数

register_user_monitor(UserId, Module, Data, DefaultAgentConfig)

查看源代码
-spec register_user_monitor(UserId, Module, Data, DefaultAgentConfig) -> ok | {error, Reason}
                               when
                                   UserId :: user_id(),
                                   Module :: snmpm_user(),
                                   Data :: term(),
                                   DefaultAgentConfig :: [DefaultConfigEntry],
                                   DefaultConfigEntry :: {Item, Value},
                                   Item :: agent_config_item(),
                                   Value :: term(),
                                   Reason :: term().

注册负责特定代理的受监控的管理器实体(=用户)。

将监视执行注册的进程。这意味着,如果该进程死亡,则将注销该用户进程注册的所有代理。所有未完成的请求将被取消。

Module 是回调模块(snmpm_user 行为),每当发生某些事情(检测到的代理、传入的回复或传入的陷阱/通知)时,都会调用该模块。

Data 是一个不透明的数据结构,管理器不会检查它,它将包含在所有对 Module 回调模块(snmpm_user 行为)的回调调用中。

当此用户注册代理时,参数 DefaultAgentConfig 用作默认值。

链接到此函数

register_usm_user(EngineID, UserName, Config)

查看源代码
-spec register_usm_user(EngineID, UserName, Config) -> ok | {error, Reason}
                           when
                               EngineID :: snmp:engine_id(),
                               UserName :: snmp:usm_name(),
                               Config :: [ConfigEntry],
                               ConfigEntry :: {Item, Value},
                               Item :: usm_config_item(),
                               Value :: term(),
                               Reason :: term().

显式指示管理器处理此 USM 用户。请注意,还有一种替代方法可以实现相同的目的:将 usm 用户添加到管理器配置文件(请参阅 usm.conf)。

链接到此函数

restart(What)

查看源代码 (自 OTP 22.3 起)
-spec restart(What) -> snmp:void() when What :: net_if.

重新启动指示的进程 (What)。请注意,重新启动进程并非没有风险,因此应谨慎使用。

-spec set_log_type(NewType) -> {ok, OldType} | {error, Reason}
                      when NewType :: snmp:atl_type(), OldType :: snmp:atl_type(), Reason :: term().

更改运行时审计跟踪日志类型。

请注意,这不会影响配置文件定义的应用程序配置,因此节点重启会将配置恢复为这些文件中的内容。

此函数主要在测试/调试场景中很有用。

链接到此函数

sync_get2(UserId, TargetName, Oids)

查看源代码 (自 OTP R14B03 起)
-spec sync_get2(UserId, TargetName, Oids) -> {ok, SnmpReply, Remaining} | {error, Reason}
                   when
                       UserId :: user_id(),
                       TargetName :: target_name(),
                       Oids :: [snmp:oid()],
                       SnmpReply :: snmp_reply(),
                       Remaining :: non_neg_integer(),
                       Reason ::
                           {send_failed, ReqId, ActualReason} |
                           {invalid_sec_info, SecInfo, SnmpInfo} |
                           term(),
                       ReqId :: request_id(),
                       ActualReason :: term(),
                       SecInfo :: {SecTag, ExpectedValue, ReceivedValue},
                       SecTag :: atom(),
                       ExpectedValue :: term(),
                       ReceivedValue :: term(),
                       SnmpInfo :: term().

等同于 sync_get2/4

链接到此函数

sync_get2(UserId, TargetName, Oids, SendOpts)

查看源代码 (自 OTP R14B03 起)
-spec sync_get2(UserId, TargetName, Oids, SendOpts) -> {ok, SnmpReply, Remaining} | {error, Reason}
                   when
                       UserId :: user_id(),
                       TargetName :: target_name(),
                       Oids :: [snmp:oid()],
                       SendOpts :: [SendOpt],
                       SendOpt ::
                           {context, snmp:context_name()} |
                           {timeout, pos_integer()} |
                           {community, snmp:community()} |
                           {sec_model, snmp:sec_model()} |
                           {sec_name, snmp:sec_name()} |
                           {sec_level, snmp:sec_level()} |
                           {max_message_size, snmp:mms()} |
                           {extra, term()},
                       SnmpReply :: snmp_reply(),
                       Remaining :: non_neg_integer(),
                       Reason ::
                           {send_failed, ReqId, ActualReason} |
                           {invalid_sec_info, SecInfo, SnmpInfo} |
                           term(),
                       ReqId :: request_id(),
                       ActualReason :: term(),
                       SecInfo :: {SecTag, ExpectedValue, ReceivedValue},
                       SecTag :: atom(),
                       ExpectedValue :: term(),
                       ReceivedValue :: term(),
                       SnmpInfo :: term().

同步 get-request

Remaining 是给定(或默认)超时时间的剩余时间。

Reason{send_failed, ...} 时,表示 net-if 进程未能发送 (get-request) 消息。这可能是由于多种原因造成的,例如编码错误。在这种情况下,ActualReason 是实际原因。

发送选项 extra 指定一个不透明的数据结构,传递给 net-if 进程。此应用程序中包含的 net-if 进程,除了一种情况外,不使用此信息,因此它的唯一用途(当使用内置的 net-if 时)将是跟踪。唯一的例外用法是:任何以 snmpm_extra_info_tag 作为第一个元素的元组都保留供内部使用。

一些发送选项(communitysec_modelsec_namesec_levelmax_message_size)是覆盖选项。也就是说,对于请求,它们会覆盖注册代理时所做的任何配置。

对于 SnmpInfo,请参阅用户回调函数 handle_report

链接到此函数

sync_get_bulk2(UserId, TargetName, NonRep, MaxRep, Oids)

查看源代码 (自 OTP R14B03 起)
-spec sync_get_bulk2(UserId, TargetName, NonRep, MaxRep, Oids) ->
                        {ok, SnmpReply, Remaining} | {error, Reason}
                        when
                            UserId :: user_id(),
                            TargetName :: target_name(),
                            NonRep :: non_neg_integer(),
                            MaxRep :: non_neg_integer(),
                            Oids :: [snmp:oid()],
                            SnmpReply :: snmp_reply(),
                            Remaining :: non_neg_integer(),
                            Reason ::
                                {send_failed, ReqId, ActualReason} |
                                {invalid_sec_info, SecInfo, SnmpInfo} |
                                term(),
                            ReqId :: request_id(),
                            ActualReason :: term(),
                            SecInfo :: {SecTag, ExpectedValue, ReceivedValue},
                            SecTag :: atom(),
                            ExpectedValue :: term(),
                            ReceivedValue :: term(),
                            SnmpInfo :: term().

等同于 sync_get_bulk2/6

链接到此函数

sync_get_bulk2(UserId, TargetName, NonRep, MaxRep, Oids, SendOpts)

查看源代码 (自 OTP R14B03 起)
-spec sync_get_bulk2(UserId, TargetName, NonRep, MaxRep, Oids, SendOpts) ->
                        {ok, SnmpReply, Remaining} | {error, Reason}
                        when
                            UserId :: user_id(),
                            TargetName :: target_name(),
                            NonRep :: non_neg_integer(),
                            MaxRep :: non_neg_integer(),
                            Oids :: [snmp:oid()],
                            SendOpts :: [SendOpt],
                            SendOpt ::
                                {context, snmp:context_name()} |
                                {timeout, pos_integer()} |
                                {community, snmp:community()} |
                                {sec_model, snmp:sec_model()} |
                                {sec_name, snmp:sec_name()} |
                                {sec_level, snmp:sec_level()} |
                                {max_message_size, snmp:mms()} |
                                {extra, term()},
                            ReqId :: request_id(),
                            SnmpReply :: snmp_reply(),
                            Remaining :: non_neg_integer(),
                            Reason ::
                                {send_failed, ReqId, ActualReason} |
                                {invalid_sec_info, SecInfo, SnmpInfo} |
                                term(),
                            ReqId :: request_id(),
                            ActualReason :: term(),
                            SecInfo :: {SecTag, ExpectedValue, ReceivedValue},
                            SecTag :: atom(),
                            ExpectedValue :: term(),
                            ReceivedValue :: term(),
                            SnmpInfo :: term().

同步 get-bulk-request (参见 RFC1905)。

Remaining 是给定(或默认)超时时间的剩余时间。

Reason{send_failed, ...} 时,表示 net-if 进程未能发送消息。这可能是由于多种原因造成的,例如编码错误。在这种情况下,ActualReason 是实际原因。

发送选项 extra 指定一个不透明的数据结构,传递给 net-if 进程。此应用程序中包含的 net-if 进程,除了一种情况外,不使用此信息,因此它的唯一用途(当使用内置的 net-if 时)将是跟踪。唯一的例外用法是:任何以 snmpm_extra_info_tag 作为第一个元素的元组都保留供内部使用。

一些发送选项(communitysec_modelsec_namesec_levelmax_message_size)是覆盖选项。也就是说,对于请求,它们会覆盖注册代理时所做的任何配置。

对于 SnmpInfo,请参阅用户回调函数 snmpm_user:handle_report/3

链接到此函数

sync_get_next2(UserId, TargetName, Oids)

查看源代码 (自 OTP R14B03 起)
-spec sync_get_next2(UserId, TargetName, Oids) -> {ok, SnmpReply, Remaining} | {error, Reason}
                        when
                            UserId :: user_id(),
                            TargetName :: target_name(),
                            Oids :: [snmp:oid()],
                            SnmpReply :: snmp_reply(),
                            Remaining :: non_neg_integer(),
                            Reason ::
                                {send_failed, ReqId, ActualReason} |
                                {invalid_sec_info, SecInfo, SnmpInfo} |
                                term(),
                            ReqId :: request_id(),
                            ActualReason :: term(),
                            SecInfo :: {SecTag, ExpectedValue, ReceivedValue},
                            SecTag :: atom(),
                            ExpectedValue :: term(),
                            ReceivedValue :: term(),
                            SnmpInfo :: term().

等同于 sync_get_next2/4

链接到此函数

sync_get_next2(UserId, TargetName, Oids, SendOpts)

查看源代码 (自 OTP R14B03 起)
-spec sync_get_next2(UserId, TargetName, Oids, SendOpts) -> {ok, SnmpReply, Remaining} | {error, Reason}
                        when
                            UserId :: user_id(),
                            TargetName :: target_name(),
                            Oids :: [snmp:oid()],
                            SendOpts :: [SendOpt],
                            SendOpt ::
                                {context, snmp:context_name()} |
                                {timeout, pos_integer()} |
                                {community, snmp:community()} |
                                {sec_model, snmp:sec_model()} |
                                {sec_name, snmp:sec_name()} |
                                {sec_level, snmp:sec_level()} |
                                {max_message_size, snmp:mms()} |
                                {extra, term()},
                            SnmpReply :: snmp_reply(),
                            Remaining :: non_neg_integer(),
                            Reason ::
                                {send_failed, ReqId, ActualReason} |
                                {invalid_sec_info, SecInfo, SnmpInfo} |
                                term(),
                            ReqId :: request_id(),
                            ActualReason :: term(),
                            SecInfo :: {SecTag, ExpectedValue, ReceivedValue},
                            SecTag :: atom(),
                            ExpectedValue :: term(),
                            ReceivedValue :: term(),
                            SnmpInfo :: term().

同步 get-next-request

Remaining 是给定(或默认)超时时间的剩余时间。

Reason{send_failed, ...} 时,表示 net-if 进程未能发送消息。这可能是由于多种原因造成的,例如编码错误。在这种情况下,ActualReason 是实际原因。

发送选项 extra 指定一个不透明的数据结构,传递给 net-if 进程。此应用程序中包含的 net-if 进程,除了一种情况外,不使用此信息,因此它的唯一用途(当使用内置的 net-if 时)将是跟踪。唯一的例外用法是:任何以 snmpm_extra_info_tag 作为第一个元素的元组都保留供内部使用。

一些发送选项(communitysec_modelsec_namesec_levelmax_message_size)是覆盖选项。也就是说,对于请求,它们会覆盖注册代理时所做的任何配置。

对于 SnmpInfo,请参阅用户回调函数 handle_report

链接到此函数

sync_set2(UserId, TargetName, VarsAndVals)

查看源代码 (自 OTP R14B03 起)
-spec sync_set2(UserId, TargetName, VarsAndVals) -> {ok, SnmpReply, Remaining} | {error, Reason}
                   when
                       UserId :: user_id(),
                       TargetName :: target_name(),
                       VarsAndVals :: [var_and_val()],
                       SnmpReply :: snmp_reply(),
                       Remaining :: non_neg_integer(),
                       Reason ::
                           {send_failed, ReqId, ActualReason} |
                           {invalid_sec_info, SecInfo, SnmpInfo} |
                           term(),
                       ReqId :: request_id(),
                       ActualReason :: term(),
                       SecInfo :: {SecTag, ExpectedValue, ReceivedValue},
                       SecTag :: atom(),
                       ExpectedValue :: term(),
                       ReceivedValue :: term(),
                       SnmpInfo :: term().

等同于 sync_set2/4

链接到此函数

sync_set2(UserId, TargetName, VarsAndVals, SendOpts)

查看源代码 (自 OTP R14B03 起)
-spec sync_set2(UserId, TargetName, VarsAndVals, SendOpts) ->
                   {ok, SnmpReply, Remaining} | {error, Reason}
                   when
                       UserId :: user_id(),
                       TargetName :: target_name(),
                       VarsAndVals :: [var_and_val()],
                       SendOpts :: [SendOpt],
                       SendOpt ::
                           {context, snmp:context_name()} |
                           {timeout, pos_integer()} |
                           {community, snmp:community()} |
                           {sec_model, snmp:sec_model()} |
                           {sec_name, snmp:sec_name()} |
                           {sec_level, snmp:sec_level()} |
                           {max_message_size, snmp:mms()} |
                           {extra, term()},
                       SnmpReply :: snmp_reply(),
                       Remaining :: non_neg_integer(),
                       Reason ::
                           {send_failed, ReqId, ActualReason} |
                           {invalid_sec_info, SecInfo, SnmpInfo} |
                           term(),
                       ReqId :: request_id(),
                       ActualReason :: term(),
                       SecInfo :: {SecTag, ExpectedValue, ReceivedValue},
                       SecTag :: atom(),
                       ExpectedValue :: term(),
                       ReceivedValue :: term(),
                       SnmpInfo :: term().

同步 set-request

Remaining 是给定(或默认)超时时间的剩余时间。

Reason{send_failed, ...} 时,表示 net-if 进程未能发送消息。这可能是由于多种原因造成的,例如编码错误。在这种情况下,ActualReason 是实际原因。

var_and_val(){oid(), value()} 时,管理器会根据加载的 mibs 进行有根据的猜测。

发送选项 extra 指定一个不透明的数据结构,传递给 net-if 进程。此应用程序中包含的 net-if 进程,除了一种情况外,不使用此信息,因此它的唯一用途(当使用内置的 net-if 时)将是跟踪。唯一的例外用法是:任何以 snmpm_extra_info_tag 作为第一个元素的元组都保留供内部使用。

一些发送选项(communitysec_modelsec_namesec_levelmax_message_size)是覆盖选项。也就是说,对于请求,它们会覆盖注册代理时所做的任何配置。

对于 SnmpInfo,请参阅用户回调函数 snmpm_user:handle_report/3

-spec unload_mib(MibName) -> ok | {error, Reason} when MibName :: snmp:mib_name(), Reason :: term().

从管理器中卸载 MibMibName 是 Mib 的名称,包括找到编译 mib 的路径。例如,

          Dir = code:priv_dir(my_app) ++ "/mibs/",
          snmpm:unload_mib(Dir ++ "MY-MIB").
链接到此函数

unregister_agent(UserId, TargetName)

查看源代码
-spec unregister_agent(UserId, TargetName) -> ok | {error, Reason}
                          when UserId :: user_id(), TargetName :: target_name(), Reason :: term().

注销代理。

链接到此函数

unregister_user(UserId)

查看源代码
-spec unregister_user(UserId) -> ok | {error, Reason} when UserId :: user_id(), Reason :: term().

注销用户。

链接到此函数

unregister_usm_user(EngineID, UserName)

查看源代码
-spec unregister_usm_user(EngineID, UserName) -> ok | {error, Reason}
                             when
                                 EngineID :: snmp:engine_id(),
                                 UserName :: snmp:usm_name(),
                                 Reason :: term().

注销此 USM 用户。

链接到此函数

update_agent_info(UserId, TargetName, Info)

查看源代码 (自 OTP R14B04 起)
-spec update_agent_info(UserId, TargetName, Info) -> ok | {error, Reason}
                           when
                               UserId :: user_id(),
                               TargetName :: target_name(),
                               Info :: [{Item, Value}],
                               Item :: agent_config_item(),
                               Value :: term(),
                               Reason :: term().

更新代理配置。

当需要原子性地更新多个值时,应使用此函数 update_agent_info/3

有关允许的项类型的更多信息,请参阅函数 register_agent/3

链接到此函数

update_agent_info(UserId, TargetName, Item, Value)

查看源代码
-spec update_agent_info(UserId, TargetName, Item, Value) -> ok | {error, Reason}
                           when
                               UserId :: user_id(),
                               TargetName :: target_name(),
                               Item :: agent_config_item(),
                               Value :: term(),
                               Reason :: term().

更新代理配置。

有关允许的项类型的更多信息,请参阅函数 register_agent/3

链接到此函数

update_usm_user_info(EngineID, UserName, Item, Value)

查看源代码
-spec update_usm_user_info(EngineID, UserName, Item, Value) -> ok | {error, Reason}
                              when
                                  EngineID :: snmp:engine_id(),
                                  UserName :: snmp:usm_name(),
                                  Item :: usm_config_item(),
                                  Value :: term(),
                                  Reason :: term().

更新 usm 用户配置。

链接到此函数

usm_user_info(EngineID, UserName, Item)

查看源代码
-spec usm_user_info(EngineID, UserName, Item) -> {ok, Value} | {error, Reason}
                       when
                           EngineID :: snmp:engine_id(),
                           UserName :: snmp:usm_name(),
                           Item :: usm_config_item(),
                           Value :: term(),
                           Reason :: term().

检索 usm 用户配置。

链接到此函数

verbosity(Target, Verbosity)

查看源代码
-spec verbosity(Target, Verbosity) -> snmp:void()
                   when
                       Target :: config | server | net_if | note_store | all,
                       Verbosity :: snmp:verbosity().

设置指定进程的详细程度。对于最低的详细程度 silence,不打印任何内容。详细程度越高,打印的内容就越多。

-spec which_agents() -> Agents when Agents :: [target_name()].

等同于 which_agents/1

-spec which_agents(UserId) -> Agents when UserId :: user_id(), Agents :: [target_name()].

获取所有已注册代理或特定用户注册的所有代理的列表。

-spec which_mibs() -> Mibs
                    when Mibs :: [{MibName, MibFile}], MibName :: snmp:mib_name(), MibFile :: string().

获取加载到管理器中的所有 mib 的列表。

-spec which_users() -> Users when Users :: [user_id()].

获取所有已注册用户的标识列表。

-spec which_usm_users() -> UsmUsers
                         when
                             UsmUsers :: [{EngineID, UserName}],
                             EngineID :: snmp:engine_id(),
                             UserName :: snmp:usm_name().

获取所有已注册 usm 用户的列表。

链接到此函数

which_usm_users(EngineID)

查看源代码
-spec which_usm_users(EngineID) -> UsmUsers
                         when
                             EngineID :: snmp:engine_id(),
                             UsmUsers :: [UserName],
                             UserName :: snmp:usm_name().

获取具有 engine-id EngineID 的所有已注册 usm 用户的列表。