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)
。
Type
is 的默认值normal
。
start_manager() -> ok | {error, Reason}start_manager(Type) -> ok | {error, Reason}
类型
SNMP应用程序由多个实体组成,其中管理器就是其中一个。该功能启动应用程序的管理器实体。
请注意,以这种方式真正启动管理器的唯一方法是在启动应用程序后添加与管理器相关的配置(例如,它不能是普通应用程序配置的一部分; sys.config)。这通过调用:完成application:set_env(snmp, manager, Conf)
。
Type
is 的默认值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
其中Tag
是request
,response
,report
,trap
或inform
; 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()
类型
用于生成由versions1
和versions2
函数生成的版本信息的格式化打印输出的效用函数
例子:
{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)