Sun ONE logo      上一页      目录      索引      下一页     

Sun ONE Web Server 6.1 管理员指南

第 11 章
监视服务器

本章介绍有关监视服务器的方法的信息,其中包括内置监视工具、服务质量功能和简单网络管理协议 (SNMP)。

您可以将 SNMP 与 Sun ONE 管理信息库 (MIB) 以及网络管理软件(例如 HP OpenView)结合使用以实时监视服务器(就像监视网络中的其他设备一样)。


在 Windows 上,在安装 Sun ONE Web Server 6.1 之前,请确保计算机上已经安装了 Windows SNMP 组件。


您可以通过使用统计数据功能或 SNMP 来实时查看服务器的状态。在 UNIX 或 Linux 中,如果要使用 SNMP,则必须为 Sun ONE 服务器配置 SNMP。本章提供了在 UNIX 或 Linux 上将 SNMP 用于 Sun ONE 服务器所需的信息。

本章包括以下主题:


使用统计数据监视服务器

您可以使用统计数据功能监视服务器的当前活动。统计数据显示了服务器处理的请求的数目以及这些请求的处理状况。您可以查看单个虚拟服务器的某些统计数据,也可以查看整个服务器实例的其他统计数据。如果交互式服务器监视器报告该服务器处理的请求过多,您可能需要调整服务器配置或系统的网络内核以容纳这些请求。有关详细信息,请参见《Sun ONE Web Server 6.1 Performance Tuning, Sizing, and Scaling Guide》。

启用统计数据功能后,您可以查看以下方面的统计数据:

交互式服务器监视器会报告各种服务器统计数据的总计。有关这些数据的说明,请参见联机帮助中的 "Monitor Current Activity" 页面


注意

启用统计数据/探查时,服务器的所有用户都可以使用统计数据信息。有关详细信息,请参见《Sun ONE Web Server 6.1 NSAPI Programmer's Guide》中 stats-xml 的说明。


启用统计数据

要启用统计数据,请执行以下步骤:

  1. 在 Server Manager 中,单击 "Monitor" 选项卡。
  2. 单击 "Monitor Current Activity"。
  3. 单击 "Yes" 启用统计数据。
  4. 单击 "OK"。
  5. 单击 "Apply" 应用所做的更改。您无需重新启动服务器。

有关启用统计数据的更多信息,请参见联机帮助。

使用统计数据

启用统计数据功能后,您可以获得有关服务器实例和虚拟服务器运行状况的各种信息。统计数据按功能被划分为若干方面。

要访问统计数据,请执行以下步骤:

  1. 在 Server Manager 中,单击 "Monitor" 选项卡。
  2. 单击 "Monitor Current Activity"。
  3. 从下拉列表中,选择轮询时间间隔。
  4. 轮询时间间隔是显示的统计数据信息更新之间的间隔秒数。

  5. 从下拉列表中,选择要显示的统计数据类型。
  6. 单击 "Submit"。
  7. 如果您在服务器实例正在运行时启用了统计数据/探查,您将看到一个显示了选定统计数据类型的页面。该页面每隔 5-15 秒更新一次,这取决于您选定的轮询时间间隔。

您可以使用统计数据中显示的数据来优化服务器。有关详细信息,请参见《Sun ONE Web Server 6.1 Performance Tuning, Sizing, and Scaling Guide》。


使用服务质量

服务质量是指为服务器实例虚拟服务器类或虚拟服务器设置的性能限制。例如,如果您是 ISP,则可能希望根据允许虚拟服务器使用的带宽数量对虚拟服务器收取不同的费用。可以在两个方面进行限制:带宽数量和连接数目。

您可以在 Server Manager 的 "Monitor" 选项卡中为整个服务器或虚拟服务器的某个类启用这些设置。然而,您可以为某单个虚拟服务器覆盖这些服务器或类级别的设置。有关为单个服务器设置服务质量限制的详细信息,请参见“配置虚拟服务器的服务质量设置”。

有两个设置用于控制流量的计算方式以及带宽的重新计算频率:重新计算时间间隔和公制时间间隔。重新计算时间间隔是带宽的计算频率(毫秒)。公制时间间隔是数据可用于流量计算的时间段。

本部分包括以下主题:

服务质量实例

以下示例显示了如何收集并计算服务质量信息:

服务器的公制时间间隔为 30 秒。

服务器在 0 秒启动。

在 1 秒时,至/自该服务器的 HTTP 连接产生了 5000 字节的流量。

之后没有进行更多连接。在 30 秒时,最后 30 秒内的总流量为 5000 字节。

在 32 秒时,在 1 秒时获得的流量采样数据被放弃,因为已经超过了 30 秒的公制时间间隔。现在,最后 30 秒的总流量为 0。

重新计算时间间隔的工作方式与此类似。服务器的重新计算时间间隔为 100 毫秒。

我们继续前面的示例,每隔 100 毫秒重新计算一次带宽。该计算以流量和公制时间间隔为基础。

在 0 秒时,将首次计算带宽。总流量为 0,除以 30 秒的公制时间间隔,得出带宽为 0。

在 1 秒时,将第 10 次(1000 毫秒/100 毫秒)计算带宽。总流量为 5000 字节,除以 30 秒,得出带宽为 5000/30 = 166 字节/秒。

在 30 秒时,将第 300 次计算带宽。总流量为 5000 字节,除以 30 秒,得出带宽为 5000/30 = 166 字节/秒。

在 32 秒时,将第 320 次计算带宽。现在流量为 0(因为产生流量的那次连接发生的时间太早,所以不能计算在内),除以 30 秒,得出带宽为 0 字节/秒。

设置服务质量

要为服务器实例或虚拟服务器的某个类配置服务质量设置,您需要通过用户界面配置这些设置。要实际施行服务质量设置,您还必须在 obj.conf 文件中设置服务器应用程序函数 (SAF)。

要配置服务质量,请执行以下步骤:

  1. 在 Server Manager 中,单击 "Monitor" 选项卡。
  2. 单击 "Quality of Service"。
  3. 将显示一个页面,其中列出了服务质量的常规设置,下面还有一个列表,列出了作为一个整体的服务器实例以及虚拟服务器的每个类。

  4. 要为整个服务器实例启用服务质量,请单击 "Enable"。
  5. 默认情况下,服务质量被启用。启用服务质量会略微增加服务器的负担。

  6. 选择 "Recompute Interval"。
  7. 重新计算时间间隔是所有服务器、类及虚拟服务器的每次带宽计算之间的毫秒数。默认值为 100 毫秒。

  8. 选择 "Metric Interval"。
  9. 公制时间间隔是测量其间流量的时间间隔(秒)。默认值为 30 秒。此时间段内测量的所有带宽将被平均以得出每秒的字节数。

    如果站点中要传输很多大型文件,请在此字段中使用较大的值(几分钟或更长时间)。如果公制时间间隔较短,大量文件的传输可能会占用所允许的所有带宽。如果您强制了最大带宽设置,这将导致连接被拒绝。由于带宽是按公制时间间隔均分的,因此较长的时间间隔可以缓和由大量文件引起的高峰流量。

    如果带宽限制比可用带宽低很多(例如,带宽限制为 1 MB/秒,但是与主干的连接为 1 GB/秒),则应缩短公制时间间隔。

    请注意,如果传输很大的静态文件,而带宽限制又远远低于可用带宽,则需要确定要优化前者还是后者,因为两者的解决方案恰好相反。

  10. 为服务器实例和/或虚拟服务器类启用服务质量。
  11. 屏幕的底部列出了服务器实例和服务器类。在要为其启用服务质量的项的旁边,选择 "Enable" 操作。

  12. 设置最大带宽(字节/秒)。
  13. 选择是否强制最大带宽设置。
  14. 如果选择强制最大带宽,当服务器达到其带宽限制时,额外的连接将被拒绝。

    如果没有强制最大带宽,当超过最大值时,服务器将在错误日志中记录一条消息。

  15. 选择允许的最大连接数。
  16. 该数值是处理的并行请求数。

  17. 选择是否强制最大连接数设置。
  18. 如果选择强制最大连接数,当服务器达到其限制时,额外的连接将被拒绝。

  19. 如果没有强制最大连接数,当超过最大值时,服务器将在错误日志中记录一条消息。
  20. 单击 "OK"。

需要对 obj.conf 进行的更改

要启用服务质量,您必须在 obj.conf 中包含指令以调用两个服务器应用程序函数 (SAF):AuthTrans qos-handler 和 Error qos-error

要能够正常工作,qos-handler AuthTrans 指令必须是在默认对象中配置的第一个 AuthTrans。服务质量处理程序的作用是检查虚拟服务器、虚拟服务器类以及整个服务器的当前统计数据并通过返回错误来强制限制。

Sun ONE Web Server 包含一个称为 qos-handler 的内置样例服务质量处理程序 SAF。当达到限制时,此 SAF 将进行记录并向服务器返回一个 503 "Server busy" 错误,以便由 NSAPI 处理。

Sun ONE Web Server 还包含一个称为 qos-error 的内置样例错误 SAF,它将返回一个错误页面,说明引起 503 错误的限制以及触发该限制的统计数据的值。您可以更改样例代码以提供不同的错误信息。

可以在 server_root/plugins/nsapi/examples/qos.c 处获得这些样例。您可以使用这些样例,以可以编写自己的 SAF。

有关这些 SAF 以及如何使用它们的详细信息,请参见《Sun ONE Web Server 6.1 NSAPI Programmer's Guide》。

服务质量的已知限制

使用服务质量功能时,请记住以下限制:


SNMP 基本原理

SNMP 是用于交换有关网络活动的数据的协议。利用 SNMP,可以在被管理的设备和网络管理站 (NMS) 之间传输数据。被管理的设备即运行 SNMP 的任何设备:主机、路由器、Web 服务器和网络上的其他服务器。NMS 是用于远程管理网络的计算机。NMS 软件通常提供图像来显示收集的数据,或使用这些数据确保服务器在特定的参数值范围内运行。

NMS 通常是安装有一个或多个网络管理应用程序的功能强大的工作站。网络管理应用程序(例如 HP OpenView)以图形方式显示有关被管理设备(例如 Web 服务器)的信息。例如,它可能显示您的企业中服务器的打开或关闭情况,或者收到的错误消息的数量和类型。将 SNMP 与 Sun ONE 服务器一起使用时,这些信息将通过两种代理(子代理和主代理)在 NMS 和服务器之间传输。

子代理收集有关服务器的信息并将信息传递给服务器的主代理。每个 Sun ONE 服务器(除 Administration Server 外)都具有子代理。


对 SNMP 配置进行任何更改后,必须单击 "Apply" 按钮,然后重新启动 SNMP 子代理。


主代理与 NMS 进行通信。主代理随 Administration Server 一起安装。

您可以在一台主机上安装多个子代理,但是只能安装一个主代理。例如,如果在同一台主机上安装了 Directory Server、Sun ONE Web Server 及 Messaging Server,则每个服务器的子代理将与同一个主代理通信,如下所示:


Sun ONE Web Server MIB

Sun ONE Web Server 存储了与网络管理有关的变量。主代理可以访问的变量称为被管理对象。这些对象在称为管理信息库 (MIB) 的树状结构中定义。MIB 提供了对 Web 服务器的网络配置、状态和统计数据的访问。使用 SNMP 可以从网络管理工作站 (NMS) 查看此信息。

服务器的 MIB 包含有关该特定服务器的网络管理的变量定义。下图显示了 MIB 树的顶层。

MIB 树的顶层显示出 Internet 对象标识符具有四个子树:directory (1)、mgmt (2)、experimental (3) 和 private (4)。private (4) 子树包含 enterprises (1) 节点。enterprises (1) 节点中的每个子树都被分配给一个单独的企业,企业是注册有自己特定 MIB 扩展的组织。然后,企业可以在其子树下创建特定产品的子树。由企业创建的 MIB 位于 enterprises (1) 节点下。Sun ONE MIB 位于 enterprises (1) 节点下。

每个 Sun ONE 服务器子代理都提供了一个用于 SNMP 通信的 MIB。服务器通过发送包含这些变量的消息(或陷阱)将重要事件报告给网络管理站 (NMS)。NMS 也可以查询服务器的 MIB 以获取数据,或以远程方式更改 MIB 中的变量。

每个 Sun ONE 服务器都有其自己的管理信息库 (MIB)。所有 Sun ONE MIB 都位于:

Sun ONE Web Server 的 MIB 是一个名为 webserv61.mib 的文件。此 MIB 包含与 Sun ONE Web Server 的网络管理有关的各种变量的定义。

Sun ONE Web Server 6.1 MIB 具有一个对象标识符
http 60 (iws60 OBJECT IDENTIFIER ::= {http 60 }),它位于 server_root/plugins/snmp 目录下。

您可以使用 Sun ONE Web Server MIB 查看有关 Web 服务器的管理信息并实时监视服务器。表 11-1 列出并说明了存储在 webserv61.mib 中的被管理对象。

表 11-1 webserv61.mib 被管理对象和说明 

被管理对象

说明

iwsInstanceTable

Sun ONE Web Server 实例。

iwsInstanceEntry

Sun ONE Web Server 实例。

iwsInstanceIndex

服务器实例索引。

iwsInstanceId

服务器实例标识符。

iwsInstanceVersion

字符串,例如 SunONE-WebServer/6.1 BB1-01/24/2001 17:15 (SunOS DOMESTIC)

iwsInstanceDescription

服务器实例的说明。

iwsInstanceOrganization

负责服务器实例的组织。

iwsInstanceContact

负责服务器实例的人员的联系信息。

iwsInstanceLocation

服务器的位置。

iwsInstanceStatus

服务器实例的状态。

iwsInstanceUptime

服务器已经运行的时间。

iwsInstanceDeathCount

服务器实例进程关闭的次数。

iwsInstanceRequests

服务器实例处理的请求数。

iwsInstanceInOctets

服务器实例接收的八位字节数。如果此信息不可用,将显示 0。

iwsInstanceOutOctets

服务器实例传输的八位字节数。如果此信息不可用,将显示 0。

iwsInstanceCount2xx

服务器实例发出的 200 级(成功)响应的数目。

iwsInstanceCount3xx

服务器实例发出的 300 级(重定向)响应的数目。

iwsInstanceCount4xx

服务器实例发出的 400 级(客户机错误)响应的数目。

iwsInstanceCount5xx

服务器实例发出的 500 级(服务器错误)响应的数目。

iwsInstanceCountOther

服务器实例发出的其他(非 2xx、3xx、4xx 或 5xx)响应的数目。

iwsInstanceCount200

服务器实例发出的 200(请求已满足)响应的数目。

iwsInstanceCount302

服务器实例发出的 302(暂时移动)响应的数目。

iwsInstanceCount304

服务器实例发出的 304(未修改)响应的数目。

iwsInstanceCount400

服务器实例发出的 400(错误请求)响应的数目。

iwsInstanceCount401

服务器实例发出的 401(未授权)响应的数目。

iwsInstanceCount403

服务器实例发出的 403(禁止)响应的数目。

iwsInstanceCount404

服务器实例发出的 404(未找到)响应的数目。

iwsInstanceCount503

已发出的 503(不可用)响应的数目。

iwsVsTable

Sun ONE Web Server 虚拟服务器。

iwsVsEntry

Sun ONE Web Server 虚拟服务器。

iwsVsIndex

虚拟服务器索引。

iwsVsId

虚拟服务器标识符。

iwsVsRequests

虚拟服务器处理的请求数。

iwsVsInOctets

虚拟服务器接收的八位字节数。

iwsVsOutOctets

虚拟服务器传输的八位字节数。

iwsVsCount2xx

虚拟服务器发出的 200 级(成功)响应的数目。

iwsVsCount3xx

虚拟服务器发出的 300 级(重定向)响应的数目。

iwsVsCount4xx

虚拟服务器发出的 400 级(客户机错误)响应的数目。

iwsVsCount5xx

虚拟服务器发出的 500 级(服务器错误)响应的数目。

iwsVsCountOther

虚拟服务器发出的其他(非 2xx、3xx、4xx 或 5xx)响应的数目。

iwsVsCount200

虚拟服务器发出的 200(请求已满足)响应的数目。

iwsVsCount302

虚拟服务器发出的 302(暂时移动)响应的数目。

iwsVsCount304

虚拟服务器发出的 304(未修改)响应的数目。

iwsVsCount400

虚拟服务器发出的 400(错误请求)响应的数目。

iwsVsCount401

虚拟服务器发出的 401(未授权)响应的数目。

iwsVsCount403

虚拟服务器发出的 403(禁止)响应的数目。

iwsVsCount404

虚拟服务器发出的 404(未找到)响应的数目。

iwsVsCount503

已发出的 503(不可用)响应的数目。

iwsProcessTable

Sun ONE Web Server 进程。

iwsProcessEntry

Sun ONE Web Server 进程。

iwsProcessIndex

进程索引。

iwsProcessId

操作系统进程标识符。

iwsProcessThreadCount

请求处理线程的数目。

iwsProcessThreadIdle

当前处于空闲状态的请求处理线程数。

iwsProcessConnectionQueueCount

连接队列中的当前连接数。

iwsProcessConnectionQueuePeak

同时排队的最大连接数。

iwsProcessConnectionQueueMax

连接队列中所允许的最大连接数。

iwsProcessConnectionQueueTotal

已接受的连接数。

iwsProcessConnectionQueueOverflows

由于连接队列溢出而被拒绝的连接数。

iwsProcessKeepaliveCount

保持活动的队列中的当前连接数。

iwsProcessKeepaliveMax

保持活动的队列中所允许的最大连接数。

iwsProcessSizeResident

进程驻留大小(千字节)。

iwsProcessSizeVirtual

进程大小(千字节)。

iwsProcessFractionSystemMemoryUsage

进程内存在系统内存中所占比例。

iwsListenTable

Sun ONE Web Server 侦听套接字。

iwsListenEntry

Sun ONE Web Server 侦听套接字。

iwsListenIndex

侦听套接字索引。

iwsListenId

侦听套接字标识符。

iwsListenAddress

套接字侦听的地址。

iwsListenPort

套接字侦听的端口。

iwsListenSecurity

加密支持。

iwsThreadPoolTable

Sun ONE Web Server 线程池。

iwsThreadPoolEntry

Sun ONE Web Server 线程池。

iwsThreadPoolIndex

线程池索引。

iwsThreadPoolID

线程池标识符。

iwsThreadPoolCount

排队的请求数。

iwsThreadPoolPeak

同时排队的最大请求数。

iwsThreadPoolMax

队列中所允许的最大请求数。

iwsInstanceStatusChange

iwsInstanceStatusChange 陷阱表示 iwsInstanceStatus 已经更改。

iwsInstanceLoad1MinuteAverage

1 分钟内的系统负载平均值。

iwsInstanceLoad5MinuteAverage

5 分钟内的系统负载平均值。

iwsInstanceLoad15MinuteAverage

15 分钟内的系统负载平均值。

iwsInstanceNetworkInOctets

网络上每秒传输的八位字节数。

iwsInstanceNetworkOutOctets

网络上每秒接收的八位字节数。

iwsCpuIndex

CPU 索引。

iwsCpuId

CPU ID。

iwsCpuIdleTime

CPU 空闲时间。

iwsCpuUserTime

CPU 用户时间。

iwsCpuKernelTime

CPU 内核时间。


设置 SNMP

一般来讲,要使用 SNMP,系统上必须安装了一个主代理和至少一个子代理,并且正在运行。要启用子代理,需要先安装主代理。

设置 SNMP 的过程根据不同的系统而不同。表 8.1 概述了在不同情况下所要执行的过程。本章后面将对实际过程进行详细介绍。

开始前,应当验证两件事情:

有关如何验证这些信息的说明,请参见您的系统文档。


在更改了 Administration Server 中的 SNMP 设置、安装了新的服务器或删除了现有服务器后,您必须执行以下步骤:

  • (Windows) 重新启动 Windows SNMP 服务或重新引导计算机。
  • (UNIX) 使用 Administration Server 重新启动 SNMP 主代理。

表 2 启用 SNMP 主代理和子代理的过程概述。

如果服务器满足以下条件

请执行以下过程。这些过程将在后续各部分中详细讨论。

  • 当前没有运行本地代理

1.启动主代理。

2.为系统上安装的每个服务器启用子代理。

  • 本地代理当前正在运行
  • 无 SMUX
  • 不需要继续使用本地代理

1.为 Administration Server 安装主代理时,停止本地代理。

2.启动主代理。

3.为系统上安装的每个服务器启用子代理。

  • 本地代理当前正在运行
  • 无 SMUX
  • 需要继续使用本地代理

1.安装代理 SNMP Agent。

2.启动主代理。

3.启动代理 SNMP Agent。

4.使用主代理端口号以外的其他端口号重新启动本地代理。

5.为系统上安装的每个服务器启用子代理。

  • 本地代理当前正在运行
  • 支持 SMUX

 

1.重新配置 SNMP 本地代理。

2.为系统上安装的每个服务器启用子代理。


使用代理 SNMP Agent (UNIX/Linux)

如果已经运行了一个本地代理,并且希望将它与一个 Sun ONE Web Server 主代理一起并行使用,则需要使用一个代理 SNMP Agent。在启动之前,请确保停止本地主代理。(有关更多信息,请参见您的系统文档。)


要使用代理的代理程序,您需要安装并启动它。还必须使用 Sun ONE Web Server 主代理在其上运行的端口号以外的其他端口号来重新启动本地 SNMP 主代理。


本部分包括以下主题:

安装代理 SNMP Agent

如果某个 SNMP 代理正在系统上运行,并且您希望继续使用本地 SNMP 守护程序,请执行以下各节中的步骤:

  1. 安装 SNMP 主代理。请参见“安装 SNMP 主代理”。
  2. 安装并启动代理 SNMP Agent,然后重新启动本地 SNMP 守护程序。请参见“使用代理 SNMP Agent (UNIX/Linux)”。
  3. 启动 SNMP 主代理。请参见“启用和启动 SNMP 主代理”。
  4. 启用子代理。请参见“启用子代理”。

要安装代理 SNMP Agent,请编辑位于服务器根目录下的 plugins/snmp/sagt 中的 CONFIG 文件(您可以为此文件指定其他名称),以使其包含 SNMP 守护程序要侦听的端口。其中还需要包括代理 SNMP Agent 要转发的 MIB 树和陷阱。

下面是一个 CONFIG 文件示例:

AGENT AT PORT 1161 WITH COMMUNITY public
SUBTREES 1.3.6.1.2.1.1,
1.3.6.1.2.1.2,
1.3.6.1.2.1.3,
1.3.6.1.2.1.4,
1.3.6.1.2.1.5,
1.3.6.1.2.1.6,
1.3.6.1.2.1.7,
1.3.6.1.2.1.8
FORWARD ALL TRAPS;

启动代理 SNMP Agent

要启动代理 SNMP Agent,请在命令提示符下输入:

重新启动本地 SNMP 守护程序进程

启动代理 SNMP Agent,您需要在 CONFIG 文件中指定的端口重新启动本地 SNMP 守护程序。要启动本地 SNMP 守护程序,请在命令提示符下输入:

其中 port_number 是在 CONFIG 文件中指定的端口号。例如,在 Solaris 平台上,使用前面提到的 CONFIG 文件实例中的端口,您需要输入:


重新配置 SNMP 本地代理

如果 SNMP 守护程序运行在 AIX 上,则它支持 SMUX。因此,您无需安装主代理。但是,您必须更改 AIX SNMP 守护程序配置。

AIX 使用多个配置文件来筛选其通信。需要更改 snmpd.conf(其中一个配置文件)以使 SNMP 守护程序接受从 SMUX 子代理传入的消息。有关详细信息,请参见 snmpd.conf 的联机手册页。您需要添加一行以定义每个子代理。

例如,您可以将此行添加到 snmpd.conf 中:

IP_address 是运行子代理的主机的 IP 地址,net_mask 是该主机的网络掩码。


请勿使用回送地址 127.0.0.1;而应使用实际的 IP 地址。



安装 SNMP 主代理

要配置 SNMP 主代理,您必须以 root 用户身份安装 Administration Server 实例。但是,即使是非 root 用户,也可以通过配置 SNMP 子代理以便与主代理一起工作,从而在 Web 服务器实例上完成基本 SNMP 任务(例如 MIB 浏览)。

要使用 Server Manager 安装 SNMP 主代理,请执行以下步骤:

  1. 以 root 用户身份登录。
  2. 检查端口 161 上是否运行有 SNMP 守护程序 (snmpd)。
  3. 如果没有运行 SNMP 守护程序,请转到步骤 4

    如果运行有 SNMP 守护程序,请确保知道如何重新启动它以及它支持哪些 MIB 树。

  4. 如果运行有 SNMP 守护程序,请结束它的进程。
  5. 在 Server Manager 中,从 "Global Settings" 选项卡中选择 "SNMP Master Agent Trap" 页面。将显示 "Manager Entries" 页面。
  6. 键入正在运行网络管理软件的系统的名称。
  7. 键入网络管理系统用来侦听陷阱的端口号。(常用的端口是 162。)有关陷阱的详细信息,请参见“配置陷阱目标”。
  8. 键入要在陷阱中使用的社区字符串。有关社区字符串的详细信息,请参见“配置社区字符串”。
  9. 单击 "OK"。
  10. 在 Server Manager 中,从 "Global Settings" 选项卡中选择 "SNMP Master Agent Community" 页面。将显示 "Community Strings" 页面。
  11. 键入主代理的社区字符串。
  12. 选择社区的操作。
  13. 单击 "OK"。


启用和启动 SNMP 主代理

主代理操作在名为 CONFIG 的代理配置文件中进行了定义。您可以使用 Server Manager 编辑 CONFIG 文件,也可以手动编辑该文件。要启用 SNMP 子代理,必须先安装 SNMP 主代理。

如果在重新启动主代理时出现类似于 "System Error: Could not bind to port" 的绑定错误,请使用 ps -ef | grep snmp 检查 magt 是否在运行。如果正在运行,请使用 kill -9 pid 命令结束该进程。然后,SNMP 的 CGI 将重新开始工作。

本部分包括以下主题:

在其他端口上启动主代理

管理界面只能在 161 端口上启动 SNMP 主代理。但是,您可以使用以下步骤在其他端口上手动启动主代理:

  1. 编辑 /server_root/plugins/snmp/magt/CONFIG 以指定所希望的端口。
  2. 运行以下启动脚本:
  3. cd /server_root/https-admserv

    ./start -shell /server_root/plugins/snmp/magt/magt

    /server_root/plugins/snmp/magt/CONFIG

    /server_root/plugins/snmp/magt/INIT

然后,主代理将在所希望的端口上启动。但是,用户界面能够检测出主代理正在运行。

手动配置 SNMP 主代理

要手动配置 SNMP 主代理,请执行以下步骤:

  1. 以超级用户身份登录。
  2. 检查端口 161 上是否运行有 SNMP 守护程序 (snmpd)。
  3. 如果运行有 SNMP 守护程序,请确保知道如何重新启动它以及它支持哪些 MIB 树。然后结束它的进程。

  4. 编辑位于服务器根目录下 plugins/snmp/magt 中的 CONFIG 文件。
  5. (可选)在 CONFIG 文件中定义 sysContactsysLocation 变量。

编辑主代理的 CONFIG 文件

CONFIG 文件定义了将与主代理一起工作的社区和管理器。管理器的值应当是有效的系统名称或 IP 地址。

下面是一个基本 CONFIG 文件的示例:

COMMUNITY          public
                   ALLOW ALL OPERATIONS

MANAGER            manager_station_name
                   SEND ALL TRAPS TO PORT 162
                    WITH COMMUNITY public

定义 sysContact 和 sysLocation 变量

您可以编辑 CONFIG 文件,为指定了 sysContactsysLocation MIB-II 变量的 sysContactsysLocation 添加初始值。此示例中 sysContactsysLocation 的字符串放在了引号内。任何包含空格、换行符、制表符等的字符串都必须放在引号内。您也可以用十六进制记数法来指定值。

下面是一个 CONFIG 文件示例,其中定义了 sysContract sysLocation 变量:

COMMUNITY          public
                   ALLOW ALL OPERATIONS

MANAGER            nms2
                   SEND ALL TRAPS TO PORT 162
                   WITH COMMUNITY public

INITIAL            sysLocation "Server room
501 East Middlefield Road
Mountain View, CA 94043
USA"

INITIAL            sysContact "John Doe
email:jdoe@netscape.com"

配置 SNMP 子代理

您可以配置 SNMP 子代理以监视服务器。

要配置 SNMP 子代理,请执行以下步骤:

  1. 在 Administration Server 中,选择服务器实例并单击 "Manage"。
  2. 选择 "Monitor" 选项卡。
  3. 选择 "SNMP Subagent Configuration"。
  4. (只适用于 UNIX)在 "Master Host" 字段中,输入服务器的名称和域。
  5. 输入服务器的说明,包括操作系统信息。
  6. 输入负责该服务器的组织。
  7. 在 "Location" 字段中,输入服务器的绝对路径。
  8. 在 "Contact" 字段中,输入负责该服务器的人员的姓名和联系信息。
  9. 选择 "On" 启用 SNMP 统计数据收集。
  10. 单击 "OK"。
  11. 单击 "Apply"。
  12. 选择 "Apply Changes" 重新启动服务器,使更改生效。

启动 SNMP 主代理

安装 SNMP 主代理后,您可以手动启动它或通过 Administration Server 启动。

手动启动 SNMP 主代理

要手动启动主代理,请在命令提示符下输入以下内容:

INIT 文件是包含 MIB-II 系统组信息(包括系统位置和联系信息)的非易失性文件。如果 INIT 不存在,首次启动主代理时将创建它。如果 CONFIG 文件中的管理器名称无效,将导致主代理启动失败。

要在非标准端口上启动主代理,请使用以下两种方法之一:

方法一:CONFIG 文件中,为主代理用来侦听来自管理器的 SNMP 请求的每个接口指定传输映射。传输映射允许主代理接受标准端口和非标准端口上的连接。主代理还可以在非标准端口上接受 SNMP 通信。并行 SNMP 的最大数目受限于目标系统对每个进程的打开的套接字或文件描述符数目的限制。下面是一个传输映射条目示例:

手动编辑 CONFIG 文件后,您应当在命令提示符下键入以下内容以便手动启动主代理:

方法二:编辑 /etc/services 文件,以允许主代理接受标准端口和非标准端口上的连接。

使用 Administration Server 启动 SNMP 主代理

要使用 Administration Server 启动 SNMP 主代理,请执行以下步骤:

  1. 登录 Administration Server。
  2. 在 Server Manager 中,从 "Global Settings" 选项卡中选择 "SNMP Master Agent Control" 页面。将显示 "SNMP Master Agent Control" 页面。
  3. 单击 "Start"。
  4. 您还可以在 "SNMP Master Agent Control" 页面中停止和重新启动 SNMP 主代理。


配置 SNMP 主代理

在主机上启用了主代理和子代理后,您需要配置主机的 Administration Server。这要求指定社区字符串和陷阱目标。

配置社区字符串

社区字符串是 SNMP 代理用来进行授权的文本字符串。这意味着网络管理站在发送给代理的每条消息中都带有一个社区字符串。然后,代理就可以验证网络管理站是否被授权获取信息。社区字符串在 SNMP 包中发送时没有被隐藏;字符串以 ASCII 文本格式发送。

您可以在 Server Manager 的 "Community Strings" 页面中为 SNMP 主代理配置社区字符串。还可以定义特定社区所能执行的与 SNMP 相关的操作。在 Server Manager 中,您还可以查看、编辑和删除已配置的社区。

配置陷阱目标

SNMP 陷阱是 SNMP 代理发送给网络管理站的消息。例如,当接口的状态由打开变为关闭时,SNMP 代理将发送一个陷阱。SNMP 代理必须知道网络管理站的地址,以便知道向何处发送陷阱。您可以通过 Sun ONE Web Server 为 SNMP 主代理配置陷阱目标。还可以查看、编辑并删除已配置的陷阱目标。使用 Sun ONE Web Server 配置陷阱目标时,实际上是在编辑 CONFIG 文件。


启用子代理

安装了 Administration Server 附带的主代理后,您必须在尝试启动它之前为您的服务器实例启用子代理。有关安装主代理的详细信息,请参见“安装 SNMP 主代理”。您可以使用 Server Manager 启用子代理。

要在 UNIX/Linux 平台上停止 SNMP 功能,您必须先停止子代理,然后再停止主代理。如果先停止主代理,可能无法停止子代理。如果发生这种情况,请重新启动主代理,停止子代理,然后停止主代理。

要启用 SNMP 子代理,请使用 Server Manager 中的 "SNMP Subagent Configuration" 页面,然后在 "SNMP Subagent Control" 页面中启动子代理。有关更多信息,请参见联机帮助中的相应小节。

启用子代理后,您可以通过 "SNMP Subagent Control" 页面或 Windows 的服务控制面板来启动、停止或重新启动子代理。


对 SNMP 配置进行任何更改后,必须单击 "Apply" 按钮,然后重新启动 SNMP 子代理。



了解 SNMP 消息

GET 和 SET 是 SNMP 定义的两种消息。GET 和 SET 消息由网络管理站 (NMS) 发送给主代理。您可以通过 Administration Server 使用其中一个或两个都使用。

SNMP 以协议数据单元 (PDU) 的格式交换网络信息。这些单元包含有关存储在被管理设备(例如 Web 服务器)上的变量的信息。这些变量(也称为被管理对象)具有值和标题,值和标题将在需要时报告给 NMS。由服务器发送给 NMS 的协议数据单元称为“陷阱”。以下实例显示了 GET、SET 和“陷阱”消息的使用。

NMS 启动的通信。NMS 将从服务器请求信息,或者更改存储在服务器 MIB 中的变量的值。例如:

  1. NMS 将消息发送给 Administration Server 主代理。消息可能是数据请求(一条 GET 消息),也可能是在 MIB 中设置变量的说明(一条 SET 消息)。
  2. 主代理将消息转发给相应的子代理。
  3. 子代理将检索数据或更改 MIB 中的变量。
  4. 子代理将数据或状态报告给主代理,然后主代理将消息(一条 GET 消息)转发回 NMS。
  5. NMS 通过其网络管理应用程序以文字或图形方式显示该数据。

服务器启动的通信。发生重要事件时,服务器子代理将向 NMS 发送一条消息(或“陷阱”)。例如:

  1. 子代理通知主代理服务器已停止。
  2. 主代理发送一条消息(或“陷阱”),将该事件报告给 NMS。
  3. NMS 通过其网络管理应用程序以文字或图形方式显示该信息。


上一页      目录      索引      下一页     


版权所有 2004 Sun Microsystems, Inc. 保留所有权利。