Erlang 20

7. Manager配置文件的定义 | 7. Definition of Manager Configuration Files

7 管理员配置文件的定义

配置数据可能包含在位于配置目录中的配置文件中。该目录的名称在config_dir配置参数中给出。这些文件在启动时读取。

找到配置文件的目录作为参数提供给管理器。

所有文件中的条目格式都是由Erlang分隔的'和换行符在下面的章节中,将会描述这些术语的格式评论可能被指定为普通的Erlang评论

如果在这些文件中发现语法错误,则会在启动时使用错误报告模块的函数config_err / 2进行报告。

7.1 管理员信息

管理员信息应存储在一个名为manager.conf的文件中。

每个条目都是大小为2的元组:

{Variable, Value}.

  • Variable 是以下之一:

- `transports` - which defines the transport domains and their addresses for the manager. **Mandatory** Value is a list of {Domain, Addr} tuples or Domain atoms.

- `Domain` is one of `transportDomainUdpIpv4` or `transportDomainUdpIpv6`.

- `Addr` is for the currently supported domains either an `IpAddr` or an `{IpAddr, IpPort}` tuple.`IpAddr` is either a regular Erlang/OTP `ip_address()` or a traditional SNMP integer list and `IpPort` is an integer. When Addr does not contain a port number, the value of port is used. When a Addr is not specified i.e by using only a Domain atom, the host's name is resolved to find the IP address, and the value of port is used.

- `port` - which defines which UDP port the manager uses for communicating with agents. **Mandatory** if `transports` does not define a port number for every transport.

- `engine_id` - The `SnmpEngineID` as defined in SNMP-FRAMEWORK-MIB. **Mandatory**.

- `max_message_size` - The `snmpEngineMaxMessageSize` as defined in SNMP-FRAMEWORK-MIB. **Mandatory**.

  • Value 是变量的值。

传统和中间变量addressdomain仍然支持这么老的配置将起作用。

以下示例显示了一个manager.conf文件:

{transports, [{transportDomainUdpIpv4, {{141,213,11,24}, 5000}}, {transportDomainUdpIpv6, {{0,0,0,0,0,0,0,1}, 5000}}]}. {engine_id, "mgrEngine"}. {max_message_size, 484}.

engine_id是一个字符串,它应该有一个非常特定的结构。有关详细信息,请参阅RFC 2271/2571。

7.2 用户

对于每位经理用户,经理需要一些信息。该信息可以在users.conf配置文件中添加,register_user在运行时也可以调用该函数。

每一行定义了经理的经理用户

每个条目都是一个大小为四的元组:

{UserId, UserMod, UserData, DefaultAgentConfig}.

  • UserId 是任何术语(用于唯一标识用户)。

7.3 代理

处理代理所需的信息应存储在名为agents.conf的文件中。 也可以通过调用register_agent在运行时添加代理。

每个条目都是一个元组:

{UserId, TargetName, Comm, Domain, Addr, EngineID, Timeout, MaxMessageSize, Version, SecModel, SecName, SecLevel}.

  • UserId是负责该代理的经理用户(术语)的标识。

使用元组没有遗留的配置Domain元件,以及与所有TDomainIp并且Port元件仍然工作。

7.4 USM的安全数据

有关USM安全数据的信息应存储在名为usm.conf的文件中,如果管理员希望在与代理通信时使用SNMPv3,该文件必须存在。 也可以通过调用register_usm_user在运行时添加usm数据。

相应的表usmUserTable位于SNMP-USER-BASED-SM-MIB中。

每个条目都是一个术语:

{EngineID, UserName, AuthP, AuthKey, PrivP, PrivKey}.

{EngineID, UserName, SecName, AuthP, AuthKey, PrivP, PrivKey}.

第一种情况是当我们有身份函数(SecName= UserName)时。

  • EngineID 是一个字符串。