Sun Java System Web Proxy Server 4.0.8 管理指南

第 10 章 监视服务器

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

正如监视网络中的其他设备一样,您可以将 SNMP 与 Sun Java System 管理信息库 (management information base, MIB) 及 HP OpenView 等网络管理软件结合使用来实时监视服务器。


注 –

在 Windows 上,在安装 Proxy Server 4 之前,请确保系统中已经安装了 Windows SNMP 组件。


可以使用统计信息功能或 SNMP 来实时查看服务器的状态。如果使用的是 UNIX 或 Linux,必须配置 Proxy Server 以使用 SNMP(如果计划使用它)。

本章包含以下各节:

使用统计信息监视服务器

您可以使用统计信息功能监视服务器的当前活动。统计信息显示了服务器正在处理的请求的数目以及这些请求的处理状况。如果交互式服务器监视器报告该服务器处理的请求过多,您可能需要调整服务器配置或系统的网络内核以容纳这些请求。由于收集统计信息会增加 Proxy Server 开销,因此默认情况下禁用统计信息。如果启用统计信息,服务器将开始收集并保存统计信息。

启用统计信息后,可以查看以下方面的统计信息:

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

处理 Proxy Server 统计信息

可使用一个称为 stats-xml 的内置函数来收集 Proxy Server 统计信息。必须启用此函数才能从 Server Manager 中查看统计信息,或使用 perfdump 函数生成报告。此外,还可使用 stats-xml 函数来启用概要分析,后者是通过使用自定义的 NSAPI 函数监视统计信息所必需的。在服务器上启用统计信息和概要分析后,将会对 obj.conf 文件中一个称为 stats-init服务器函数进行初始化,以开始统计信息的收集。

Init profiling="on" fn="stats-init"

此说明还会创建一条 NameTrans 指令,以便您从浏览器窗口访问统计信息。

NameTrans fn="assign-name" name="stats-xml" from="(/stats-xml|/stats-xml/.*)

最后,启用统计信息还会添加一条 Service 指令,用于在选择 NameTrans 指令时处理 stats-xml 函数。

<Object name="stats-xml">

Service fn="stats-xml"

</Object>

收集统计信息时将会更新 obj.conf 中的 Init 函数。因此,为使这些更改生效,必须停止并启动服务器。

下例显示了 obj.conf 文件中的 stats-init

Init profiling="on" fn="stats-init" update-interval="5"

此外,还可以指定以下值:

可以使用以下 URL 检索 stats-xml 输出:

http://computer_name:proxyport /stats-xml/proxystats.xml

此请求将返回一个包含 Proxy Server 统计信息的 XML 页面。某些浏览器允许您在浏览器窗口中查看数据,而另外一些浏览器则要求将数据保存至外部文件,然后使用外部查看器进行查看。如果不能解析所分析数据的不同视图的统计信息,此信息的用途将不十分明显。借助第三方工具可帮助完成此过程。如果没有解析工具,最好通过 Server Manager 或 perfdump SAF 来观察 stats-xml 输出。

限制对 stats-xml 输出的访问

如果要对可以通过浏览器查看服务器的 stats-xml 统计信息的用户进行限制,应为 /stats-xml URI 创建一个 ACL。

此外,还必须在 obj.conf 文件的 stats-xml 对象定义中引用该 ACL 文件。例如,如果为 /stats-xml URI 创建了一个命名的 ACL,则需要在该对象定义的 PathCheck 语句中引用该 ACL 文件,如下所示:

<Object name="stats-xml">

PathCheck fn="check-acl" acl="stats.acl"

Service fn="stats-xml"

</Object>

启用统计信息

必须先在 Proxy Server 上激活统计信息,才能对性能进行监视。您可以通过 Server Manager 或通过编辑 obj.confmagnus.conf 文件来激活统计信息。为监视和性能调优目的而开发自动化工具或编写自定义程序的用户可能更愿意直接处理 stats-xml


注意 – 注意 –

启用统计信息/概要分析后,服务器的所有用户都可以使用统计信息。


Procedure从 Server Manager 中启用统计信息

  1. 访问 Server Manager 并单击 "Server Status" 选项卡。

  2. 单击 "Monitor Current Activity" 链接。

    此时将显示 "Monitor Current Activity" 页面。

  3. 对于 "Activate Statistics/Profiling",选择 "Yes" 选项以启用统计信息。

  4. 单击 "OK"。

  5. 单击 "Restart required"。

    此时将显示 "Apply Changes" 页面。

  6. 单击 "Restart Proxy Server" 按钮以应用更改。

Procedure使用 stats-xml 启用统计信息

  1. obj.conf 文件的默认对象下添加下行:


    NameTrans fn="assign-name" name="stats-xml" from="
    (/stats-xml|/stats-xml/.*)"
  2. obj.conf 中添加以下 Service 函数:

    <Object name="stats-xml">

    Service fn="stats-xml"

    </Object>

  3. obj.conf 中添加 stats-init SAF。

使用统计信息

启用统计信息后,便可获取有关服务器实例运行状况的各种信息。统计信息按功能被划分为若干方面。

在 Server Manager 中显示统计信息

本节介绍如何在 Server Manager 中查看 proxystats.xml 数据的子集。

可以采用总计图、最大值图、峰数图和条形图来查看与 Proxy Server 连接、DNS 处理、保持活动值、高速缓存和服务器请求有关的信息。

以下部分将介绍可获取的上述各项的信息类型。

连接统计信息

可从 Server Manager 获取以下连接统计信息:

DNS 统计信息

可从 Server Manager 获取以下 DNS 统计信息:

保持活动统计信息

可从 Server Manager 获取以下保持活动统计信息:

服务器请求统计信息

可从 Server Manager 获取以下服务器统计信息:

Procedure访问统计信息

  1. 访问 Server Manager 并单击 "Server Status" 选项卡。

  2. 单击 "Monitor Current Activity" 链接。

  3. 从 "Select Refresh Interval" 下拉式列表中选择刷新间隔。

    刷新间隔是两次更新所显示的统计信息的间隔秒数。

  4. 从 "Select Statistics To Be Displayed" 下拉式列表中选择要显示的统计信息种类。

    有关统计信息类型的更多信息,请参见在 Server Manager 中显示统计信息

  5. 单击 "Submit"。

    如果服务器实例正在运行,并且已启用了统计信息/概要分析,将会看到一个显示有所选统计信息种类的页面。该页面每隔 5-15 秒更新一次,具体依刷新间隔的值而定。

  6. 从下拉式列表中选择进程 ID。

    可通过 Server Manager 查看当前活动,但这些类别并不完全与服务器的调节相关。建议使用 perfdump 统计信息来调节服务器。有关更多信息,请参见下一节。

使用 perfdump 实用程序监视当前活动

perfdump 实用程序是 Proxy Server 中内置的一个服务器应用函数 (Server Application Function, SAF),用于从 Proxy Server 内部统计信息中收集各种性能数据片断并以 ASCII 文本形式进行显示。与通过 Server Manager 获得的统计信息种类相比,使用 perfdump 实用程序可监视更多种统计信息。

利用 perfdump 可将统计信息整合起来。不再是监视单个进程,而是将统计信息乘以进程数,这样可以从总体上更准确地了解服务器的情况。

启用 perfdump 实用程序

只有在启用 stats-xml 函数之后,才能启用 perfdump SAF。

Procedure启用 perfdump SAF

  1. obj.conf 文件的默认对象后面添加以下对象:

    <Object name="perf">

    Service fn="service-dump"

    </Object>

  2. 将下行添加到默认对象:

    NameTrans fn=assign-name from="/.perf" name="perf"

  3. 重新启动服务器软件。

  4. 通过转到 http:// computer_name:proxyport/.perf 访问 perfdump

    您可以请求 perfdump 统计信息,并指定浏览器的自动刷新频率(以秒为单位)。以下示例将刷新频率设置为每隔 5 秒一次:

    http:// computer_name:proxyport/.perf?refresh=5

perfdump 输出样例

以下显示了 perfdump 输出样例:


			 
proxyd pid: 6751

Sun Java System Web Proxy Server 4.0 B05/02/2005 15:32 (SunOS DOMESTIC)

Server started Thu May 19 13:15:14 2005
Process 6751 started Thu May 19 13:15:14 2005

ConnectionQueue:
-----------------------------------------
Current/Peak/Limit Queue Length            0/1/4096
Total Connections Queued                   1
Average Queue Length (1, 5, 15 minutes)    0.00, 0.00, 0.00
Average Queueing Delay                     0.09 milliseconds

ListenSocket ls1:
------------------------
Address                   http://0.0.0.0:8081
Acceptor Threads          1

KeepAliveInfo:
--------------------
KeepAliveCount        0/256
KeepAliveHits         0
KeepAliveFlushes      0
KeepAliveRefusals     0
KeepAliveTimeouts     0
KeepAliveTimeout      30 seconds

SessionCreationInfo:
------------------------
Active Sessions           1
Keep-Alive Sessions       0
Total Sessions Created    48/128

DiskCacheInfo:
------------------
Hit Ratio               0/0 (  0.00%)
Misses                  0
Cache files at startup  0
Cache files created     0
Cache files cleaned up  0

Native pools:
---------------------------
NativePool:
Idle/Peak/Limit               1/1/128
Work Queue Length/Peak/Limit  0/0/0

Server DNS cache disabled

Async DNS disabled

Performance Counters:
------------------------------------------------
 ..........................Average         Total      Percent

Total number of requests:                      1
Request processing time:    0.2559        0.2559

default-bucket (Default bucket)
Number of Requests:                            1    (100.00%)
Number of Invocations:                         7    (100.00%)
Latency:                    0.2483        0.2483    ( 97.04%)
Function Processing Time:   0.0076        0.0076    (  2.96%)
Total Response Time:        0.2559        0.2559    (100.00%)

Sessions:
----------------------------
Process  Status     Function
6751     response   service-dump


            

有关这些参数的更多信息,请参见《Sun ONE Web Server 6.1 Performance Tuning, Sizing, and Scaling Guide》的第 2 章中的 "Using Statistics to Tune Your Server"。

限制对 perfdump 输出的访问

如果要对可以通过浏览器查看服务器的 perfdump 统计信息的用户进行限制,需要为 /.perf URI 创建一个 ACL。

此外,还必须在 obj.conf 文件的 perf 对象定义中引用该 ACL 文件。例如,如果为 /.perf URI 创建了一个命名的 ACL,则需要在该对象定义的 PathCheck 语句中引用该 ACL 文件,如下所示:

<Object name="perf">

PathCheck fn="check-acl" acl="perf.acl"

Service fn="service-dump"

</Object>

使用性能存储桶

通过性能存储桶,可以定义存储桶并将其链接到各种服务器函数。每次调用其中某个函数时,服务器都会收集统计数据并将其添加到存储桶中。例如,send-cgi 和 NSServletService 函数分别用于为 CGI 请求和 Java servlet 请求提供服务。您可以定义两个存储桶来维护 CGI 请求和 servlet 请求各自的计数器,也可创建一个存储桶来对两种类型的动态内容请求进行计数。收集此信息的开销很少,对服务器性能的影响通常可以忽略不计。之后,可以使用 perfdump 实用程序访问此信息。

存储桶中存储的信息如下:

default-bucket 由服务器预定义,用于记录未与任何用户定义的存储桶关联的函数的统计信息。

配置

必须为 magnus.confobj.conf 文件中的性能存储桶指定所有配置信息。只有默认存储桶才会自动启用。

首先,必须按使用 perfdump 实用程序监视当前活动中所述启用性能测量。

以下示例说明了如何在 magnus.conf 文件中定义新的存储桶:

Init fn="define-perf-bucket" name="acl-bucket" description="ACL bucket"

Init fn="define-perf-bucket" name="file-bucket" description="Non-cached responses"

Init fn="define-perf-bucket" name="cgi-bucket" description="CGI Stats"

此示例将创建三个存储桶:acl-bucketfile-bucketcgi-bucket。要将这些存储桶与函数关联,请在要测量性能的 obj.conf 函数中添加 bucket=bucket-name

示例

PathCheck fn="check-acl" acl="default" bucket="acl-bucket"

...

Service method="(GET|HEAD|POST)" type="*~magnus-internal/*" fn="send-file" bucket="file-bucket"

...

<Object name="cgi">

ObjectType fn="force-type" type="magnus-internal/cgi"

Service fn="send-cgi" bucket="cgi-bucket"

</Object>

性能报告

可以使用 perfdump 实用程序来访问存储桶中的服务器统计信息。性能存储桶信息位于 perfdump 所返回报告的最后一部分。

该报告包含以下信息:

以下显示了可通过 perfdump 获取的性能存储桶信息样例:


Performance Counters:
------------------------------------------------
                           Average         Total      Percent

Total number of requests:                      1
Request processing time:    0.2559        0.2559

default-bucket (Default bucket)
Number of Requests:                            1    (100.00%)
Number of Invocations:                         7    (100.00%)
Latency:                    0.2483        0.2483    ( 97.04%)
Function Processing Time:   0.0076        0.0076    (  2.96%)
Total Response Time:        0.2559        0.2559    (100.00%)


            

SNMP 基本原理

SNMP 是一种用于交换有关网络活动的数据的协议。利用 SNMP,可在被管理的设备和网络管理站 (network management station, NMS) 之间传输数据。被管理的设备即运行 SNMP 的任何设备:主机、路由器、代理服务器和网络上的其他服务器。NMS 是一种用于远程管理网络的系统。NMS 软件通常提供图形来显示收集的数据,或使用这些数据确保服务器在特定的容限内运行。

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

子代理收集有关服务器的信息,并将这些信息传送给服务器的主代理。每个服务器(Administration Server 除外)均有一个子代理。


注 –

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


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

您可以在一台主机上安装多个子代理,但是只能安装一个主代理。例如,如果在同一台主机上安装了 Directory Server、Proxy Server 和 Messaging Server,则每个服务器的子代理都将与同一个主代理进行通信。

管理信息库

Proxy Server 可存储与网络管理有关的变量。主代理可以访问的变量称为被管理对象。这些对象是在称为管理信息库 (management information base, MIB) 的树状结构中定义的。MIB 提供了对 Proxy Server 网络配置、状态和统计信息的访问。使用 SNMP 可从 NMS 中查看此信息。

MIB 树的顶层表明 Internet 对象标识符具有四个子树:directory、mgmt、experimental 和 private。private 子树包含 enterprises 节点。enterprises 节点中的每个子树都被分配给一个单独的企业,企业是注册有自己特定 MIB 扩展的组织。然后,企业可以在其子树下创建特定产品的子树。由企业创建的 MIB 位于 enterprises 节点下。Sun Java System 服务器 MIB 也位于 enterprises 节点下。每个 Sun Java System 服务器子代理都提供了一个用于 SNMP 通信的 MIB。服务器通过发送包含这些变量的消息或陷阱,将重要事件向 NMS 报告。NMS 也可以查询服务器的 MIB 以获取数据,或以远程方式更改 MIB 中的变量。每个 Sun Java System 服务器均有各自的 MIB。所有 Sun Java System 服务器 MIB 都位于:

server-root/plugins/snmp

Proxy Server 的 MIB 是一个称为 proxyserv40.mib 的文件。此 MIB 包含与 Proxy Server 的网络管理有关的各种变量的定义。您可以使用 Proxy Server MIB 来查看有关 Proxy Server 的管理信息,以及实时监视服务器。

设置 SNMP

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

设置 SNMP 的过程根据不同的系统而不同。

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

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


注 –

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


表 10–1 启用 SNMP 主代理和子代理的过程概述

如果服务器满足以下条件 

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

  • 当前没有运行本地代理

  1. 启动主代理。

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

  • 本地代理当前正在运行

  • 无 SMUX

  • 不需要继续使用本地代理

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

  2. 启动主代理。

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

  • 本地代理当前正在运行

  • 无 SMUX

  • 需要继续使用本地代理

  1. 安装 SNMP 代理的代理程序。

  2. 启动主代理。

  3. 启动 SNMP 代理的代理程序。

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

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

  • 本地代理当前正在运行

  • 支持 SMUX

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

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

使用 SNMP 代理的代理程序 (UNIX)

如果已有一个本地代理正在运行,并且想要继续与 Proxy Server 主代理一起同时使用它,则需要使用 SNMP 代理的代理程序。在启动之前,请确保停止本地主代理。有关更多信息,请参见您的系统文档。


注 –

要使用代理的代理程序,必须先安装它然后再启动。此外,还必须使用 Proxy Server 主代理所运行端口号以外的其他端口号,重新启动本地 SNMP 主代理。


本节包括以下主题:

安装 SNMP 代理的代理程序

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

Procedure安装 SNMP 代理的代理程序

  1. 安装 SNMP 主代理。

    参见安装 SNMP 主代理

  2. 安装并启动 SNMP 代理的代理程序,然后重新启动本地 SNMP 守护程序。

    参见使用 SNMP 代理的代理程序 (UNIX)

  3. 启动 SNMP 主代理。

    参见启用和启动 SNMP 主代理

  4. 启用子代理。

    参见启用子代理

    要安装 SNMP 代理的代理程序,请编辑 CONFIG 文件,该文件位于服务器根目录的 plugins/snmp/sagt 中。添加 SNMP 守护程序将要侦听的端口。此文件还应包括 SNMP 代理的代理程序将要转发的 MIB 树和陷阱。

    以下示例显示了一个 CONFIG 文件。


    AGENT AT PORT 1161 WITH COMMUNITY public
    SUBTREES       1.3.6.1.2.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 代理的代理程序

要启动 SNMP 代理的代理程序,请在命令提示符下键入:

# sagt -c CONFIG&

重新启动本地 SNMP 守护程序

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

# snmpd -P port-number

其中 port-number 是在 CONFIG 文件中指定的端口号。例如,在 Solaris 平台上,若要使用上述 CONFIG 文件示例中的端口,则应输入:

# snmpd -P 1161

重新配置 SNMP 本地代理

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

AIX 使用多个配置文件来筛选其通信。您必须编辑 snmpd.conf 文件,以便 SNMP 守护程序接受 SMUX 子代理的传入消息。有关更多信息,请参见 snmpd.conf 的联机手册页。在此文件中添加一行以定义每个子代理。

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

smux 1.3.6.1.4.1.1.1450.1 ““ IP-address net-mask

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


注 –

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


安装 SNMP 主代理

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

Procedure安装 SNMP 主代理

  1. 以 root 用户身份登录。

  2. 检查端口 161 上是否运行有 SNMP 守护程序 (snmpd)。

    • 如果没有运行 SNMP 守护程序,请转到安装 SNMP 主代理

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

  3. 在 Administration Server 的 "Global Settings" 选项卡中,单击 "Set SNMP Master Agent Trap" 链接。

  4. 键入正在运行网络管理软件的系统的名称。

  5. 键入网络管理系统用来侦听陷阱的端口号。(常用的端口是 162。)

    有关陷阱的更多信息,请参见配置陷阱目标

  6. 键入要在陷阱中使用的团体字符串。

    有关团体字符串的更多信息,请参见配置团体字符串

  7. 单击 "OK"。

  8. 在 Administration Server 的 "Global Settings" 选项卡中,单击 "Set SNMP Master Agent Community" 链接。

  9. 键入主代理的团体字符串。

  10. 选择团体的操作。

  11. 单击 "New"。

启用和启动 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 主代理。

Procedure手动在其他端口上启动主代理

  1. /server-root /plugins/snmp/magt/CONFIG 文件中指定所需端口。

  2. 运行以下启动脚本:

    cd / server-root/proxy-admserv

    ./start -shell /server-root/plugins/snmp/magt/magt

    /server-root /plugins/snmp/magt/CONFIG

    / server-root/plugins/snmp/magt/INIT

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

手动配置 SNMP 主代理

Procedure手动配置 SNMP 主代理

  1. 以超级用户身份登录。

  2. 检查端口 161 上是否运行有 SNMP 守护程序 (snmpd)。

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

  3. 编辑位于服务器根目录下 plugins/snmp/magt 中的 CONFIG 文件。

  4. (可选)在 CONFIG 文件中定义 sysContactsysLocation 变量。

编辑主代理的 CONFIG 文件

Procedure手动配置 SNMP 主代理

  1. 以超级用户身份登录。

  2. 检查端口 161 上是否运行有 SNMP 守护程序 (snmpd)。

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

  3. 编辑位于服务器根目录下 plugins/snmp/magt 中的 CONFIG 文件。

  4. (可选)在 CONFIG 文件中定义 sysContactsysLocation 变量。

定义 sysContactsysLocation 变量

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

以下示例显示了一个 CONFIG 文件,其中定义了 sysContractsysLocation 变量:

COMMUNITY public

ALLOW ALL OPERATIONS

MANAGER nms2

SEND ALL TRAPS TO PORT 162

WITH COMMUNITY public

INITIAL sysLocation "Server room

987 East Cannon RoadMountain View, CA 94043 USA" INITIAL sysContact "Jill Dawson email: jdawson@example.com"

配置 SNMP 子代理

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

Procedure配置 SNMP 子代理

  1. 访问 Server Manager 并单击 "Server Status" 选项卡。

  2. 单击 "Configure SNMP Subagent" 链接。

    此时将显示 "Configure SNMP Subagent" 页面。

  3. 在 "Master Host" 字段中,键入服务器的名称和域。

  4. 键入服务器的说明,包括操作系统信息。

  5. 键入负责该服务器的组织。

  6. 在 "Location" 字段中,键入服务器的绝对路径。

  7. 在 "Contact" 字段中,键入负责该服务器的人员的姓名和联系信息。

  8. 选择 "On" 启用 SNMP 统计信息收集。

  9. 单击 "OK"。

  10. 单击 "Restart required"。

    此时将显示 "Apply Changes" 页面。

  11. 单击 "Restart Proxy Server" 按钮以应用更改。

启动 SNMP 主代理

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

手动启动 SNMP 主代理

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

# magt CONFIG INIT&

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

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

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

TRANSPORT extraordinary SNMP

OVER UDP SOCKET

AT PORT 11161

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

# magt CONFIG INIT&

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

Procedure使用 Administration Server 启动 SNMP 主代理

  1. 登录 Administration Server。

  2. 在 Administration Server 的 "Global Settings" 选项卡中,单击 "Control SNMP Master Agent" 链接。

  3. 单击 "Start"。

    您还可以通过 "Control SNMP Master Agent" 页面来停止和重新启动 SNMP 主代理。

配置 SNMP 主代理

在主机上启用了主代理和子代理后,需要配置主机的 Administration Server。在此配置中,要求指定团体字符串和陷阱目标。

配置团体字符串

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

通过 Administration Server 中的 "Set SNMP Master Agent Community" 页面,可为 SNMP 主代理配置团体字符串,还可以定义特定团体所能执行的与 SNMP 相关的操作。在 Administration Server 中,还可以查看、编辑和删除已配置的团体。

配置陷阱目标

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

启用子代理

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

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

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

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


注 –

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


了解 SNMP 消息

GET 和 SET 是 SNMP 所定义的两种类型的消息。GET 和 SET 消息由网络管理站 (network management station, NMS) 发送给主代理。您可以通过 Administration Server 使用这些消息。

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

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

  1. NMS 将消息发送给 Administration Server 主代理。消息可能是数据请求(一条 GET 消息),也可能是在 MIB 中设置变量的指令(一条 SET 消息)。

  2. 主代理将消息转发给相应的子代理。

  3. 子代理将检索数据或更改 MIB 中的变量。

  4. 子代理将数据或状态报告给主代理,然后主代理将 GET 消息转发回 NMS。

  5. NMS 通过其网络管理应用程序以文本或图形方式显示该数据。

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

  6. 子代理通知主代理服务器已停止。

  7. 主代理发送一条消息或陷阱,将该事件报告给 NMS。

  8. NMS 通过其网络管理应用程序以文本或图形方式显示该信息。