IBM HTTP Server 帮助:SNMP

SNMP

SNMP 模块是一个扩展功能,可以通过简单网络管理协议 (SNMP) 来检索 Apache HTTP Server 的状态。众所周知,SNMP 是一个因特网许可的硬 件(如路由器、网桥和调制解调器)和软件(如操作系统、网络层和应用程序)的管理框架,并通过管理信息库 (MIB) 提供状态。MIB 代表通过 SNMP 代理可访问的远程设备的管理目标的集合。管理器可以查询代理并获取由该代理管理的对象值。

IBM HTTP Server 支持下列 MIB:

MIB 描述
SNMPv2-MIB 每个 SNMP 代理的强制性 MIB。MIB 由 SNMPv2 工作组定义。
WWW-MIB 定义用于 WWW 服务管理的 MIB。MIB 由 IETF 的 SYSAPPL MIB 工作组定义。
APACHE-MIB 为 Apache HTTP Server 指定的 MIB。

要启用 SNMP,请使用下列 SNMP 伪指令修改 IBM HTTP Server 配置文件 (httpd.conf):

要启用 apScoreBoardGroup MIB 的 SNMP 访问,请添加或修改下列伪指令:

SNMP 的 LoadModule 伪指令

您必须通过 LoadModule 伪指令装入 SNMP 模块,以启用 SNMP。

对于 Windows NT:
语法:LoadModule snmp_agt_module modules/IBMModuleSNMP.dll

对于 unix:
语法:LoadModule snmp_agt_module libexec/mod_snmp.so

相应的 AddModule 是:AddModule mod_snmp.c

SNMPenable

语法:SNMPenable

缺少 SNMPenable 将导致 SNMP 不可用。

<SNMP>

语法:<SNMP number>...</SNMP>
模块:snmp_agt_module

number 设置 SNMP 代理将侦听的端口。 Number 值的范围是 0 - 65635;有些端口号(特别是 1024 以下的端口号)是为特殊协议所保留的。 查看 /etc/services 以获取一些所定义端口的列表;SNMP 协议的标准端口是 161。

端口 161 是 Unix 特殊端口之一。保留所有 1024 以下的端口号以供系统使用,即普通用户(非 root 用户)不能使用这些端口,他们只能用 1024 以上的端口。要使用端口 161,您必须以 root 帐户启动服务器。

如果您无法使用端口 161,请选择其它未使用的端口。非 root 用户将只能选择端口号大于 1023 的端口,如 8000。

示例:

另见 SNMPcommunitysysDescrsysContactsysLocation

SNMPcommunity

语法:SNMPcommunity string
缺省:community public
模块:snmp_agt_module

公共体用于定义 SNMP 代理可访问的公共体。在 SNMP 版本 1 和版本 2C 中公共体用于‘安全性’。只有有效的公共体才可以访问来自 SNMP 代理的信息。

最常见的公共体是 'public'。大多数人使用它,但并不是必需的。如果未给定公共体,则将使用缺省的公共体。公共名的字符串长度通常至多为 64 个字符。

安全性:如果您不希望其他人使用来自于 SNMP 代理的信息,您必须使用知名的名称或来自于字典的词。

示例:

sysDescr

语法:sysDescr string
缺省:缺省编译反映各种版本/协议的标志和其它详细信息。
模块:snmp_agt_module

SysDescr 伪指令用于定义运行 SNMP 代理的主机的系统描述,用于 SNMPv2-MIB(也称为 MIB-II 的一部分)的 SysDescr 对象实例。

定义陈述:

示例:

另见 sysContactsysLocation

sysContact

语法:sysContact string
模块:snmp_agt_module

SysContact 伪指令用于定义系统的联系地址,该系统用于 SNMPv2-MIB 的 SysContact 对象实例(作为 MIB-II 的一部分)。

定义陈述:

示例:

另见 sysDescrsysLocation

sysLocation

语法:sysLocation string
模块:snmp_agt_module

sysLocation 伪指令用于定义运行 SNMP 代理(也可是服务器)的主机的位置,并用于 SNMPv2-MIB 的 sysLocation 对象实例(作为 MIB-II 的一部分)。

定义陈述:

示例:

另见 sysDescr sysContact

Status 模块的 LoadModule 伪指令

您必须通过 apScoreBoardGroup MIB 的 LoadModule 伪指令来装入 Status 模块。

对于 Windows NT:
语法:LoadModule status_module modules/ApacheModuleStatus.dll

对于 unix:
语法:LoadModule status_module libexec/mod_status.so

相应的 AddModule 为:AddModule mod_status.c

ExtendedStatus

语法:<ExtendedStatus On>
模块:mod_status

缺少 ExtendedStatus 将阻止 apScoreBoardGroup 数据的任何成功请求。

<LocationMatch server-status>

语法:<LocationMatch server-status>...</LocationMatch>
模块:mod_status

示例: