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

SNMP-TARGET-MIB 的检测函数

模块 snmp_target_mib 实现了 SNMP-TARGET-MIB 的检测函数,以及配置数据库的函数。

配置文件在《SNMP 用户手册》中有描述。

为了向后兼容,旧的 API 函数 add_addr/10(未指定传输域)和具有单独的 IpAddrPortNumber 参数的 add_addr/11 仍然像以前一样工作。

数据类型

请参阅 snmpa_conf 中的数据类型

摘要

类型

注意

“与 snmpTargetAddrTable 中的条目关联的最大消息大小值。”

注意

“与此 snmpTargetAddrEntry 关联的本地任意但唯一的标识符。”

注意

“此对象的值标识 snmpTargetParamsTable 中的一个条目。”

注意

“此对象指定当未收到生成的消息的响应时尝试的默认重试次数。”

注意

“一个包含标签值列表的八位字节字符串。标签值最好采用人类可读的形式。”

注意

“一个包含标签值的八位字节字符串。标签值最好采用人类可读的形式。”

注意

“与 snmpTargetAddrTable 中的条目关联的掩码值。此对象的值必须与相应的 snmpTargetAddrTAddress 实例具有相同的长度,或者必须具有长度 0。”

函数

向代理配置添加目标地址定义。相当于 target_addr.conf 文件中的一行。

向代理配置添加目标参数定义。相当于 target_params.conf 文件中的一行。

此函数在系统启动时从 supervisor 调用。

从代理配置中删除目标地址定义。

从代理配置中删除目标参数定义。

将配置文件中的所有数据插入到数据库中,并销毁所有旧数据,包括具有 StorageType nonVolatile 的行。从配置文件创建的行将具有 StorageType nonVolatile

更改 snmpTargetAddrTable 中目标的目标引擎 ID。如果通知作为 Inform 请求发送到目标,则必须设置其引擎 ID。

类型

-type mms() :: 484..65535.

注意

“与 snmpTargetAddrTable 中的条目关联的最大消息大小值。”

Integer32 (484..65535)

-type name() :: snmp_framework_mib:admin_string().

注意

“与此 snmpTargetAddrEntry 关联的本地任意但唯一的标识符。”

SnmpAdminString (SIZE(1..32))

-type params() :: snmp_framework_mib:admin_string().

注意

“此对象的值标识 snmpTargetParamsTable 中的一个条目。”

SnmpAdminString (SIZE(1..32))

-type retry_count() :: 0..255.

注意

“此对象指定当未收到生成的消息的响应时尝试的默认重试次数。”

Integer32 (0..255)

-type tag_list() :: string().

注意

“一个包含标签值列表的八位字节字符串。标签值最好采用人类可读的形式。”

“为了方便国际化,此信息使用 ISO/IEC IS 10646-1 字符集表示,并使用 RFC 2279 中描述的 UTF-8 字符编码方案编码为八位字节字符串。”

OCTET STRING (SIZE (0..255))

-type tag_value() :: string().

注意

“一个包含标签值的八位字节字符串。标签值最好采用人类可读的形式。”

OCTET STRING (SIZE (0..255))

-type tmask() :: snmpa_conf:transportAddressMask().

注意

“与 snmpTargetAddrTable 中的条目关联的掩码值。此对象的值必须与相应的 snmpTargetAddrTAddress 实例具有相同的长度,或者必须具有长度 0。”

OCTET STRING (SIZE (0..255))

函数

-spec add_addr(Name, TDomain, TAddr, Timeout, Retry, TagList, Params, EngineId, TMask, MMS) ->
                  {ok, Key} | {error, Reason}
                  when
                      Name :: name(),
                      TDomain :: snmpa_conf:transportDomain(),
                      TAddr :: snmpa_conf:transportAddress(),
                      Timeout :: snmp:time_interval(),
                      Retry :: integer(),
                      TagList :: tag_list(),
                      Params :: params(),
                      EngineId :: snmp_framework_mib:engine_id(),
                      TMask :: tmask(),
                      MMS :: snmp_framework_mib:max_message_size(),
                      Key :: term(),
                      Reason :: term();
              (Name, Ip, Port, Timeout, Retry, TagList, Params, EngineId, TMask, MMS) ->
                  {ok, Key} | {error, Reason}
                  when
                      Name :: name(),
                      Ip :: snmpa_conf:transportAddressWithoutPort(),
                      Port :: inet:port_number(),
                      Timeout :: snmp:time_interval(),
                      Retry :: integer(),
                      TagList :: tag_list(),
                      Params :: params(),
                      EngineId :: snmp_framework_mib:engine_id(),
                      TMask :: tmask(),
                      MMS :: snmp_framework_mib:max_message_size(),
                      Key :: term(),
                      Reason :: term().

向代理配置添加目标地址定义。相当于 target_addr.conf 文件中的一行。

此函数的链接

add_params(Name, MPModel, SecModel, SecName, SecLevel)

查看源代码
-spec add_params(Name, MPModel, SecModel, SecName, SecLevel) -> {ok, Key} | {error, Reason}
                    when
                        Name :: name(),
                        MPModel :: snmp_framework_mib:message_processing_model(),
                        SecModel :: snmp_framework_mib:security_model(),
                        SecName :: snmp_framework_mib:admin_string(),
                        SecLevel :: snmp_framework_mib:security_level(),
                        Key :: term(),
                        Reason :: term().

向代理配置添加目标参数定义。相当于 target_params.conf 文件中的一行。

-spec configure(ConfDir) -> snmp:void() when ConfDir :: string().

此函数在系统启动时从 supervisor 调用。

将配置文件中的所有数据插入到数据库中,并销毁所有具有 StorageType volatile 的旧行。从配置文件创建的行将具有 StorageType nonVolatile

所有 snmp 计数器都设置为零。

如果在配置文件中发现错误,则使用错误报告模块的函数 config_err/2 报告,并且该函数因原因 configuration_error 而失败。

ConfDir 是一个指向配置文件所在目录的字符串。

读取的配置文件是:target_addr.conftarget_params.conf

-spec delete_addr(Key) -> ok | {error, Reason} when Key :: term(), Reason :: term().

从代理配置中删除目标地址定义。

-spec delete_params(Key) -> ok | {error, Reason} when Key :: term(), Reason :: term().

从代理配置中删除目标参数定义。

-spec reconfigure(ConfDir) -> snmp:void() when ConfDir :: string().

将配置文件中的所有数据插入到数据库中,并销毁所有旧数据,包括具有 StorageType nonVolatile 的行。从配置文件创建的行将具有 StorageType nonVolatile

因此,在调用此函数后,SNMP-TARGET-MIB 中的数据是来自配置文件的数据。

所有 snmp 计数器都设置为零。

如果在配置文件中发现错误,则使用 的函数 config_err/2 报告,并且该函数因原因 configuration_error 而失败。

ConfDir 是一个指向配置文件所在目录的字符串。

读取的配置文件是:target_addr.conftarget_params.conf

此函数的链接

set_target_engine_id(TargetAddrName, EngineId)

查看源代码
-spec set_target_engine_id(TargetAddrName, EngineId) -> boolean()
                              when TargetAddrName :: name(), EngineId :: snmp_framework_mib:engine_id().

更改 snmpTargetAddrTable 中目标的目标引擎 ID。如果通知作为 Inform 请求发送到目标,则必须设置其引擎 ID。