首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

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

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

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

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

7.1 管理员信息

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

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

{Variable, Value}.

  • Variable 是以下之一:
代码语言:txt
复制
-  `transports` - which defines the transport domains and their addresses for the manager. **Mandatory**  
代码语言:txt
复制
    -  `Domain` is one of `transportDomainUdpIpv4` or `transportDomainUdpIpv6`.
代码语言:txt
复制
    -  `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 
代码语言:txt
复制
-  `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.
代码语言:txt
复制
-  `engine_id` - The `SnmpEngineID` as defined in SNMP-FRAMEWORK-MIB. **Mandatory**.
代码语言:txt
复制
-  `max_message_size` - The `snmpEngineMaxMessageSize` as defined in SNMP-FRAMEWORK-MIB. **Mandatory**.
  • Value 是变量的值。

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

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

代码语言:javascript
复制
{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 是任何术语(用于唯一标识用户)。
  • UserMod 是用户回调模块(原子)。
  • UserData是任何术语(在调用时传递给用户)UserMod
  • DefaultAgentConfig是默认代理配置的列表。当这个用户注册代理时,这些值被用作默认值。

7.3 代理

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

每个条目都是一个元组:

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

  • UserId是负责该代理的经理用户(术语)的标识。
  • TargetName是唯一的非空字符串。
  • Comm是社区字符串(字符串)。
  • 域是传输域,可以是transportDomainUdpIpv4或transportDomainUdpIpv6。
  • Addr是传输域中的地址,可以是{IpAddr,IpPort}元组,也可以是包含端口号的传统SNMP整数列表。 IpAddr是一个普通的Erlang / OTP ip_address()或一个传统的SNMP整数列表,不包含端口号,IpPort是一个整数。
  • EngineID是代理(字符串)的引擎ID。
  • 超时是重传超时(无限|整数)。
  • MaxMessageSize是传出此代理的邮件的最大邮件大小(整数)。
  • 版本是版本(v1 | v2 | v3)。
  • SecModel是安全模型(任何| v1 | v2c | usm)。
  • SecName是安全名称(字符串)。
  • SecLevel是安全级别(noAuthNoPriv | authNoPriv | authPriv)。

使用元组没有遗留的配置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 是一个字符串。
  • UserName 是一个字符串。
  • SecName 是一个字符串。
  • AuthP是一个usmNoAuthProtocolusmHMACMD5AuthProtocolusmHMACSHAAuthProtocol
  • AuthKey是一个列表(整数)。这是用户的秘密本地化身份验证密钥。它在MIB中不可见。这个密钥的长度需要16如果usmHMACMD5AuthProtocol被使用,如果20 usmHMACSHAAuthProtocol使用。
  • PrivP是一个usmNoPrivProtocolusmDESPrivProtocolusmAesCfb128Protocol
  • PrivKey是一个列表(整数)。这是用户的秘密本地化加密密钥。它在MIB中不可见。如果usmDESPrivProtocolusmAesCfb128Protocol使用此密钥的长度需要为16 。

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com