在线文档教程
Erlang 20

snmp

SNMP

模块

SNMP

模块摘要

与SNMP工具包的接口函数

描述

该模块snmp包含SNMP工具包的接口功能。

公共数据类型

以下函数使用下列数据类型:

  • datetime() = {date(), time()}

calendar以了解更多信息。

输出

config() -> ok | {error, Reason}

简单的交互式配置工具。可以生成简单的配置文件,但更复杂的配置仍然需要手动编辑。

该工具是一个基于文本的工具,它提出一些问题并生成sys.config*.conf档案。

请注意,如果应用程序应支持版本3,则必须在运行此函数(密码生成)之前启动加密应用程序。

还要注意,代理和管理器的一些配置文件共享相同的名称。这意味着它们必须存储在不同的目录中!

start() -> ok | {error, Reason}start(Type) -> ok | {error, Reason}

类型

启动SNMP应用程序。

application以了解更多信息。

start_agent() -> ok | {error, Reason}start_agent(Type) -> ok | {error, Reason}

类型

SNMP应用程序由多个实体组成,代理就是其中之一。此函数启动应用程序的代理实体。

请注意,以这种方式实际启动代理的唯一方法是在启动应用程序后添加代理相关的配置(例如,它不能是普通应用程序配置的一部分; sys.config)。这通过调用:完成application:set_env(snmp, agent, Conf)

Typeis 的默认值normal

start_manager() -> ok | {error, Reason}start_manager(Type) -> ok | {error, Reason}

类型

SNMP应用程序由多个实体组成,其中管理器就是其中一个。该功能启动应用程序的管理器实体。

请注意,以这种方式真正启动管理器的唯一方法是在启动应用程序后添加与管理器相关的配置(例如,它不能是普通应用程序配置的一部分; sys.config)。这通过调用:完成application:set_env(snmp, manager, Conf)

Typeis 的默认值normal

date_and_time() -> DateAndTime

类型

按照RFC1903中的规定,将当前日期和时间作为数据类型DateAndTime返回。这是一个OCTET STRING。

date_and_time_to_universal_time_dst(DateAndTime) -> [utc()]

类型

将DateAndTime列表转换为可能的通用时间列表。世界时间值与日历(3)中定义的格式相同。

date_and_time_to_string(DateAndTime) -> string()date_and_time_to_string(DateAndTime, Validate) -> string()

类型

根据RFC2579中的DISPLAY-HINT定义,将DateAndTime列表转换为可打印的字符串。

验证的乐趣,Validate允许对参数进行更“灵活”的验证DateAndTime。无论何时发现数据不遵循RFC2579,都会调用这个乐趣来实现更“松散”的验证。有关validate_date_and_time/2更多Validate函数的信息,请参阅该功能。

date_and_time_to_string2(DateAndTime) -> string()

类型

根据RFC2579中的DISPLAY-HINT定义,将DateAndTime列表转换为可打印的字符串,其扩展名也允许值“从UTC开始的小时数”= 14以及“从UTC开始的分钟数”= 0。

local_time_to_date_and_time_dst(Local) -> [DateAndTime]

类型

将本地时间值转换为可能的DateAndTime列表的列表。与日历(3)中定义的格式相同的本地时间值。

universal_time_to_date_and_time(UTC) -> DateAndTime

类型

将通用时间值转换为DateAndTime列表。世界时间值与日历(3)中定义的格式相同。

validate_date_and_time(DateAndTime) -> bool()validate_date_and_time(DateAndTime, Validate) -> bool()

类型

DateAndTime按RFC2579中的规定检查是否有正确的DateAndTime值。该功能可用于检测功能来验证DateAndTime值。

验证的函数,Validate允许对参数进行更“灵活”的验证DateAndTime。无论何时发现数据不遵循RFC2579,都会调用这个乐趣来实现更“松散”的验证。验证乐趣的输入如下所示:

Kind Data -------------- ---------------------- year {Year1, Year2} month Month day Day hour Hour minute Minute seconds Seconds deci_seconds DeciSeconds diff [Sign, Hour, Minute] valid_date {Year, Month, Day}

passwd2localized_key(Alg, Passwd, EngineID) -> Key

类型

使用MD5 och SHA生成可用作身份验证或隐私密钥的密钥。这个键是为EngineID本地化的。

octet_string_to_bits(S) -> Val

类型

用于将OCTET-STRING类型的值转换为BITS的实用程序功能

bits_to_octet_string(B) -> Val

类型

将BITS类型的值转换为OCTET-STRING的实用程序功能。

read_mib(FileName) -> {ok, mib()} | {error, Reason}

类型

阅读已编译的mib。

log_to_txt(LogDir, Mibs, OutFile, LogName, 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, Start, Block | Stop) -> ok | {error, Reason}log_to_txt(LogDir, Mibs, OutFile, LogName, LogFile, Start, Stop, Block) -> ok | {error, Reason}

类型

将审计跟踪日志转换为可读的文本文件,其中每个项目都有一个尾随的TAB字符,并且项目主体中的任何TAB字符已被ESC TAB取代。

该功能可用于正在运行的系统,或通过复制整个日志目录并调用此函数。SNMP必须运行以提供MIB信息。

LogDir是存储审计跟踪日志的目录的名称。 Mibs是要使用的Mib的列表。 该函数使用Mib中的信息将例如对象标识符转换为它们的符号名称。 OutFile是生成的文本文件的名称。 LogName是日志的名称,LogFile是日志文件的名称。 开始是日志事件将被转换的开始(第一个)日期和时间,Stop是日志事件将被转换到的停止(最后)日期和时间。 阻止参数指示日志是否应在转换期间被阻止。 转换大型日志时这可能是有用的(否则日志可能会在转换过程中进行换行)。 默认为true。

审计跟踪日志文本项的格式如下:

Tag Addr - Community [TimeStamp] Vsn

PDU

其中Tagrequestresponsereporttrapinform; Addr是IP:Port(或逗号空格分隔的这样的列表); Community是社区参数(SNMP版本v1和v2)或SecLevel:"AuthEngineID":"UserName"(SNMP v3); TimeStamp是日期和时间戳,并且Vsn是SNMP版本。PDU是协议数据单元的文本版本。Vsn和之间有一条新的线PDU

log_to_io(LogDir, Mibs, LogName, LogFile) -> ok | {error, Reason}log_to_io(LogDir, Mibs, LogName, LogFile, Block | Start) -> ok | {error, Reason}log_to_io(LogDir, Mibs, LogName, LogFile, Start, Block | Stop) -> ok | {error, Reason}log_to_io(LogDir, Mibs, LogName, LogFile, Start, Stop, Block) -> ok | {error, Reason}

类型

将审计跟踪日志转换为可读格式并将其打印在stdio上。请参阅log_to_txt上面的更多信息。

change_log_size(LogName, NewSize) -> ok | {error, Reason}

类型

更改审计跟踪日志的日志大小。应用程序必须配置为使用审计跟踪日志功能。有关如何更改日志大小的说明,请参阅“内核参考手册”中的disk_log(3)。

只要日志未被删除,更改就是永久的。这意味着,重新启动时会记住日志大小。

print_version_info() -> void()print_version_info(Prefix) -> void()

类型

用于生成由该versions1函数生成的版本信息的格式化打印输出的实用程序功能

类似的,例如:

{ok, V} = snmp:versions1(), snmp:print_versions(V).

versions1() -> {ok, Info} | {error, Reason}versions2() -> {ok, Info} | {error, Reason}

类型

用于检索某些系统和应用程序信息的实用函数。

这两个函数的不同之处在于它们如何让模块进行检查。versions1使用应用程序文件和versions2使用函数application:get_key...

print_versions(VersionInfo) -> void()print_versions(Prefix, VersionInfo) -> void()

类型

用于生成由versions1versions2函数生成的版本信息的格式化打印输出的效用函数

例子:

{ok, V} = snmp:versions1(), snmp:print_versions(V).

enable_trace() -> void()

启动一个将跟踪事件输出到标准输出的dbg跟踪器(使用简单的io格式)。

disable_trace() -> void()

停止示踪剂。

set_trace(Targets) -> void()

类型

此功能用于为给定的模块或模块设置函数的默认跟踪。跟踪的范围将是所有导出的函数(呼叫信息和返回值)。时间戳信息也将包括在内。

reset_trace(Targets) -> void()

类型

此功能用于重置(禁用)给定模块的跟踪。

set_trace(Targets, Opts) -> void()

类型

此功能用于设置给定模块或功能模块的功能跟踪。

以下示例在模块的导出函数(默认值)和模块的snmp_generic所有函数上设置跟踪snmp_generic_mnesia。使用返回值(默认值)和两种情况下的时间戳(这也是默认值):

snmp:enable_trace(), snmp:set_trace([snmp_generic, {snmp_generic_mnesia, [{scope, all_functions}]}]), . . . snmp:set_trace(snmp_generic, disable), . . . snmp:disable_trace(),

另见

calendar(3)