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
是变量的值。
传统和中间变量address
与domain
仍然支持这么老的配置将起作用。
以下示例显示了一个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
元件,以及与所有TDomain
,Ip
并且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
是一个字符串。