本节介绍 Sun Java System Web Server 的监视功能,并提供了您可以在实例和配置级别进行监视的服务器参数的详细列表。
选择“监视”父选项卡下的“配置”或“实例”选项卡后,将显示可以监视的服务器参数。
从 Sun Java System Web Server 管理控制台,您可以执行以下操作:
在实例和配置级别查看服务器统计信息。
在配置级别启用/禁用监视。
在实例级别查看错误/访问日志。
要在配置级别监视服务器参数,请单击“监视”>“配置”选项卡。表中列出了可用配置以及以下信息:
节点-已在其中部署了配置的节点的数量。
请求-所有虚拟服务器收到的请求总数。
错误-所有虚拟服务器记录的错误总数。
响应时间-任何虚拟服务器的最大响应时间。
单击配置名称以获取配置级别的统计信息。常规统计信息分为 3 种类型:
请求统计信息
错误统计信息
响应时间统计信息
在管理控制台中,可以查看以下类别的服务器统计信息:
常规统计信息。
实例统计信息。
虚拟服务器统计信息。
类别 |
描述 |
---|---|
常规统计信息 |
“常规统计信息”显示配置的全部请求、错误和响应统计信息。 |
实例统计信息 |
“实例统计信息”显示实例的全部请求、错误和响应统计信息以及有关服务器崩溃和虚拟服务器计数的信息。 |
虚拟服务器统计信息 |
“虚拟服务器统计信息”显示虚拟服务器的全部请求、错误和响应统计信息以及打开的连接数和已接收/传输的总字节数。 |
单击“监视”选项卡。
从配置列表中选择相应的配置。
查看常规、实例和虚拟服务器统计信息。
使用 CLI
可以使用 get-config-stats
、get-virtual-serevr-stats
、get-webapp-stats
和 get-servlet-stats
命令监视服务器。
wadm> get-config-stats --user=admin --password-file=admin.passwd --host=localhost --port=8989 --config=test --node=cat.test.com --ssl=true
以上命令将获取指定实例的统计信息。要在配置级别获取统计信息,可以使用不包含 --node
选项的上述命令。
wadm> get-virtual-server-stats --user=admin --password-file=admin.passwd --host=localhost --port=8989 --config=test --vs=www.test.com --node=cat.test.com --ssl=true
以上命令将获取部署了指定配置的所有节点中该配置的聚合虚拟服务器统计信息。要获取指定节点中部署的配置的统计信息,可以使用 --node
选项。
wadm> get-webapp-stats --user=admin --password-file=admin.passwd --host=localhost --port=8989 --config=test --node=cat.test.com --vs=www.test.com --uri=/foo --ssl=true
以上命令将获取指定实例的指定虚拟服务器中部署的指定 Web 应用程序的统计信息。要获取部署了指定配置的所有节点中配置的聚合 Web 应用程序统计信息,可以使用不包含 --node
选项的上述命令。
wadm> get-servlet-stats --user=admin --password-file=admin.pwd --host=localhost --port=8989 --config=test --node=cat.test.com --vs=www.test.com --uri=/servlet-simple --ssl=true
以上命令将获取 servlet servlet-simple 的统计信息。
在“日常任务”页中单击“配置”选项卡,然后从列表中选择相应的配置
单击“编辑虚拟服务器”选项卡
单击“监视设置”选项卡
启用“XML 报告”复选框并提供发布 URI
单击“保存”按钮
单击屏幕右上角的“部署暂挂”链接
单击“部署”按钮
例如,如果配置了默认 URI,则可以在浏览器中键入以下 URL 以查看 stats-xml 文件。
http://host:port/stats-xml
如果要查看 stats-xml 文件的 .dtd,请在浏览器中键入以下 URL。
http://host:port/stats-xml/yyy.dtd
服务器通过 SNMP 执行监视操作。SNMP 是用于交换有关网络活动的数据的协议。利用 SNMP,数据可以在被管理设备和网络管理站 (Network Management Station, NMS) 之间进行传输。被管理设备即运行 SNMP 的任何设备: 主机、路由器、Web 服务器和网络上的其他服务器。NMS 是用于远程管理网络的计算机。NMS 软件通常以图形的方式来显示收集的数据,或使用这些数据确保服务器在特定的参数值范围内运行。
NMS 通常是安装有一个或多个网络管理应用程序的功能强大的工作站。网络管理应用程序(例如 HP OpenView)以图形方式显示有关被管理设备(例如 Web 服务器)的信息。例如,它可能显示您的企业中服务器的打开或关闭情况,或者收到的错误消息的数量和类型。将 SNMP 与 Sun Java System Web Server 配合使用时,将通过使用两种类型的代理(子代理和主代理)在 NMS 和服务器之间传输此信息。
子代理收集有关服务器的信息,并将这些信息传送给服务器的主代理。每个 Sun Java System Web Server(Administration Server 除外)都有子代理。
对 SNMP 配置进行任何更改后,必须单击“保存”按钮,然后重新启动 SNMP 子代理。
要更改配置的设置,请执行以下任务:
单击配置选项卡。
选择需要更改监视设置的配置。
单击监视设置子选项卡。
要更改某个配置的常规监视设置,请在“常规设置”部分下编辑相应的值。下表提供了常规监视参数的字段说明:
表 13–2 字段说明 > 常规监视设置
要更改某个配置的 SNMP 子代理设置,请在“SNMP 子代理设置”部分下编辑相应的值。下表提供了 SNMP 子代理参数的字段说明:
表 13–3 字段说明 > SNMP 子代理设置
字段 |
描述 |
---|---|
已启用 |
一般而言,要使用 SNMP,必须在系统上安装并运行一个主代理和至少一个子代理。启用子代理之前,您需要先安装主代理。 选择此选项可以启用/禁用 SNMP 统计信息收集。 |
主机 |
输入服务器(仅限 UNIX)的名称和域。 |
描述 |
输入服务器的简短说明,其中包括操作系统信息。 |
组织 |
输入代表组织的简短名称。 |
位置 |
在此字段中输入服务器的位置信息。 |
联系 |
在此字段中输入服务器的联系信息。 |
SNMP 是用于交换有关网络活动的数据的协议。利用 SNMP,数据可以在被管理设备和网络管理站 (Network Management Station, NMS) 之间进行传输。被管理设备即运行 SNMP 的任何设备: 主机、路由器、Web 服务器和网络上的其他服务器。NMS 是用于远程管理网络的计算机。NMS 软件通常以图形的方式来显示收集的数据,或使用这些数据确保服务器在特定的参数值范围内运行。
NMS 通常是安装有一个或多个网络管理应用程序的功能强大的工作站。网络管理应用程序(例如 Sun Management Center)以图形方式显示有关被管理设备(例如 Web 服务器)的信息。例如,它可能显示您的企业中服务器的打开或关闭情况,或者收到的错误消息的数量和类型。将 SNMP 与 Sun Java System Web Server 配合使用时,将通过使用两种类型的代理(子代理和主代理)在 NMS 和服务器之间传输此信息。
子代理收集有关服务器的信息,并将这些信息传送给服务器的主代理。
要启动 SNMP 子代理,请执行以下步骤:
单击节点选项卡
单击节点列表中的可用节点。
单击 SNMP 子代理选项卡
单击启动 SNMP 子代理按钮以启动子代理。
启动 SNMP 子代理之前,请验证主代理是否正在运行。仅在主代理运行时才能启动子代理。
要停止 SNMP 子代理,请执行以下步骤:
单击节点选项卡
单击节点列表中的可用节点。
单击 SNMP 子代理选项卡
单击停止 SNMP 子代理按钮以停止子代理。
一般而言,要使用 SNMP,必须在系统上安装并运行一个主代理和至少一个子代理。启用子代理之前,您需要先安装主代理。
设置 SNMP 的过程因系统而异。下表概述了在不同情况下要执行的过程。稍后将在本章详细介绍实际过程。
开始前,应当验证两件事情:
有关如何验证此信息的说明,请参见您的系统文档。
在更改了 Administration Server 中的 SNMP 设置、安装了新的服务器或删除了现有服务器后,您必须执行以下步骤:
(Windows) 重新启动 Windows SNMP 服务或重新引导计算机。
(UNIX) 使用 Administration Server 重新启动 SNMP 主代理。
配置 SNMP 参数。
设置配置的 SNMP 参数。
wadm> enable-snmp --user=admin --password-file=../admin.passwd --host=serverhost --port=8989 --ssl=true --no-prompt --rcfile=null --config=config1 --loconfig1ion=india --master-host=hostname --description=cli-snmp --organization=sun --contact=internal |
部署配置。
wadm> deploy-config --user=admin --password-file=admin.pwd --host=serverhost --port=8989 config1 |
启动服务器实例。
$ ./https-test/bin/startserv |
以超级用户身份运行主代理 (magt)。
要运行 magt,必须停止本地 snmpd。
$ cd /etc/init.d/ $ init.dmi stop; init.snmpdx stop; init.sma stop |
删除 https-admserv/config/logs/pid.masteragt 文件(如果存在)。
$ rm ./https-admserv/config/logs/pid.masteragt wadm> start-snmp-master-agent --snmp-port 161 hostname |
启动子代理。
删除 https-admserv/config/logs/pid.httpagt 文件(如果存在)。
$ rm ./https-admserv/config/logs/pid.httpagt |
如果 httpagt 已在运行,请将其中止
wadm> start-snmp-subagent hostname |
配置 SNMP 参数。
设置配置的 SNMP 参数。
wadm> enable-snmp --user=admin --password-file=../admin.passwd --host=serverhost --port=8989 --ssl=true --no-prompt --rcfile=null --config=config1 --loconfig1ion=india --master-host=hostname --description=cli-snmp --organization=sun --contact=internal |
部署配置。
wadm deploy-config --user=admin --password-file=admin.pwd --host=serverhost --port=8989 config1 |
启动服务器实例。
$ ./https-test/bin/startserv |
以超级用户身份运行本地主代理 (snmpd)。
要与 snmpd 直接通信,请在 /etc/snmp/snmpd.conf 中添加以下行并重新启动 snmpd。
smuxpeer 1.3.6.1.4.1.42.2.190.1
view systemview included .1.3.6.1.4.1.42.2.190.1
# cd /etc/init.d/ # ./snmpd stop # ./snmpd start |
启动子代理。
删除 https-admserv/config/logs/pid.httpagt 文件(如果存在)。
$ rm ./https-admserv/config/logs/pid.httpagt |
如果 httpagt 已在运行,请将其中止
wadm> start-snmp-subagent hostname |
配置 SNMP 参数。
设置配置的 SNMP 参数。
wadm> enable-snmp --user=admin --password-file=../admin.passwd --host=serverhost --port=8989 --ssl=true --no-prompt --rcfile=null --config=config1 --loconfig1ion=india --master-host=hostname --description=cli-snmp --organization=sun --contact=internal |
向系统路径环境变量中添加 install-root/lib 目录。
重新启动计算机。
使用“Windows 服务”选项启动 Web Server 实例。
启动 SNMP 服务。
如果 Administration Server 是以非超级用户身份安装的,则无法通过管理界面启动 SNMP 主代理。要允许 Administration Server 的非超级用户通过管理界面启动主代理,必须使用 RBAC 为非超级用户授予权限,以便绑定到在其中运行 SNMP 主代理的特权端口。默认 SMUX 端口为 199,默认 SNMP 端口为 161。
另一种解决方法是,以超级用户身份使用以下命令手动启动主代理:magt CONFIG INIT。magt 命令位于 server-root/lib/snmp/magt/ 下面。
通过执行以下步骤,可以配置基于对等点的主代理以便与 Solaris 10 和 Linux 上的 OS 本地主代理进行集成。
Solaris 10 OS 本地主代理为 snmpd。默认情况下,它在 SNMP 默认 UDP 端口 161 上运行。可以使用 /etc/sma/snmp/snmpd.conf 文件对其进行配置。该文件提供用于将请求/响应转发到其他主代理或子代理的代理指令。有关更多信息,请参阅 snmpd.conf 手册页。
对于 Solaris 8 和 9,不能与 OS 本地主代理 snmpd 进行完整的集成。对于 linux,httpagt 可以直接与 snmpd 集成。在这种情况下,无需运行 magt。对于 Windows,Sun Java System Web Server snmp 库直接与 Windows SNMP 服务通信。
如上述注释所述,通过指定 SNMP 端口 (11161) 启动主代理程序。
向 Solaris 10 的 /etc/sma/snmp/snmpd.conf 中添加以下内容。
proxy -v 1 -c public myserver:11161 .1.3.6.1.4.1.42.2.190.1 |
重新启动 snmpd。
# cd /etc/init.d # init.dmi stop; init.snmpdx stop; init.sma stop # init.dmi start; init.snmpdx start; init.sma start |
要获取 SNMP 数据,可以对端口使用 snmpwalk:
$ snmpwalk -c public -v 1 <host-name>:<port> 1.3.6.1.4.1.42.2.190.1 |
Administration Server 日志文件记录了有关服务器的数据,包括遇到的错误类型以及有关服务器访问的信息。这些日志提供了遇到的错误类型以及特定文件被访问的时间等数据,通过查看这些日志可以监视服务器的活动并排除故障。
可以使用管理控制台中的“日志首选项”页面指定管理服务器日志中记录的数据的类型和格式。例如,可以选择记录有关访问管理服务器的每个客户机的数据,也可以忽略某些客户机。此外,您还可以选择通用日志格式,它提供固定数量的服务器信息;也可以创建更符合您要求的自定义日志文件格式。
日志类型大致可分为:
访问日志-访问日志记录了有关对服务器的请求以及服务器的响应的信息。
服务器日志-服务器日志列出了自创建日志文件以来服务器所遇到的所有错误。它还包含有关服务器的信息消息,如服务器何时启动以及谁试图登录服务器但未成功。
查看服务器日志。
wadm> get-log --user=admin --password-file=admin.passwd --host=localhost --port=8989 --start-date=01/01/2006:09:00:00 --end-date=04/01/2006:10:00:00 --config=test cat.test.com
以上命令将显示在日期 01/Jan/2006: 09:00:00
与日期 04/Jan/2006: 10:00:00
之间指定配置的服务器日志。
查看访问日志。
wadm> get-access-log --user=admin --password-file=admin.passwd --host=localhost --port=8989 --status-code=300 --config=test cat.test.com
以上命令将只显示指定配置中状态代码为 300 的那些访问日志条目。
在以上命令中,start-date 和 end-date 选项应采用格式-dd/MM/yyyy:HH:mm:ss。也可以自定义日期格式。可以使用 rcfile 中的 wadm_log_date_format 变量指定您自己的日期格式,而不使用默认日期格式。
在 Sun Java System Web Server 中,可以通过执行以下命令来启用访问日志:
enable-access-log --user=admin --host=serverhost --password-file=../admin.passwd --port=8989 --ssl=true --no-prompt --rcfile=null --config=config1 --vs=vs --uri-pattern="*.html" --file=../logs/access.new --log-ip=true--format="%Req->reqpb. protocol% %Req->headers.authorization% %vsid% %Ses->client.dns%"
要为某个配置启用和编辑日志设置,请执行以下步骤:
单击配置选项卡
选择需要启用/编辑日志设置的配置。
单击常规设置 > 日志设置选项卡
下表介绍了“访问日志首选项”部分中的字段:
表 13–5 字段说明 > 编辑访问日志首选项
字段 |
描述 |
---|---|
访问日志 |
已启用/已禁用。默认情况下,已启用访问日志。选择该选项可以禁用访问日志。请注意,启用访问日志将会稍微降低服务器性能。 |
文件位置 |
访问日志文件存储位置的服务器路径。默认值为 ../logs/access |
日志格式 |
下表介绍了“服务器日志首选项”部分中的字段:
表 13–6 字段说明 > 编辑服务器日志首选项
字段 |
描述 |
服务器日志位置 |
存储服务器日志文件的服务器路径。默认值为 ../logs/errors |
日志详尽程度 |
该选项为您提供了一种设置日志粒度的好方法。对于测试和调试 Web 应用程序,建议将日志级别设置为 finest。 对于生产环境,建议将日志级别设置为 failure 或 security。catastrophe 日志级别记录的信息量非常少。 |
记录虚拟服务器名 |
如果选择此选项,则在记录错误的同时,还会记录处理请求的虚拟服务器名称。 |
记录到系统日志中 |
将所有消息都记录到系统日志中。 |
记录到控制台中 |
如果选择此选项,则会记录由已部署 Web 应用程序引发的异常(如果写入控制台)。 默认情况下,启用该选项。 |
日期格式 |
用于将时间戳附加至错误消息的时间格式。默认值为 [%d/%b/%Y:%H:%M:%S] |
您可以将日志文件设置为自动归档。在某个特定时间或指定的间隔后,服务器将轮转您的访问日志。服务器会保存旧的日志文件,并用包含了保存日期和时间的名称来标记所保存的文件。
例如,您可以将文件设置为每小时轮转一次,则服务器将保存文件并将其命名为 "access.199907.0152400",其中“名称|年|月|日|24 小时制时间”连接在一起构成一个字符串。根据所设置的日志轮转类型,访问日志归档文件的实际格式会有所不同。
访问日志轮转在服务器启动时进行初始化。如果启用轮转,服务器将创建一个带有时间戳的访问日志文件并在服务器启动时开始进行轮转。
轮转开始后,如果需要将请求记录到访问日志文件中,并且该请求出现在以前安排的“下次轮转时间”之后,服务器将新建一个带有时间戳的访问日志文件。
您可以使用日志轮转选项为配置的实例创建错误/访问日志轮转的进度表。要设置日志轮转,请执行以下步骤:
单击配置选项卡
选择需要启用/编辑日志设置的配置。
单击常规设置 > 日志设置选项卡
单击日志归档部分下的新建按钮
以下部分介绍新建日志轮转页面中的字段:
表 13–7 字段说明 > 设置日志轮转
字段 |
描述 |
---|---|
事件 |
访问日志轮转/服务器日志轮转。选择这些选项中的任何一个或两个选项可以配置相应日志类型的轮转。 |
时间 |
配置的事件启动时间。从下拉式框中选择小时和分钟值。 每天-每天在指定的时间启动指定的事件。 特定日期-在特定日期启动指定的事件。 1. 星期几-指定从星期日至星期六的任意一天。 2. 日期-指定一个月中从 1 日至 31 日间的任意一天(以逗号分隔条目)。例如,4,23,9。 特定月份-在特定时间和月份启动指定的事件。指定从一月至十二月之间的月份。 |
时间间隔 |
每隔此时间段即启动指定的事件。 1. 间隔小时数-从下拉式框中选择小时数。 2. 间隔秒数-从下拉式框中选择秒数。 |
如果需要删除安排的日志轮转,请单击日志归档部分中的删除按钮。
在服务器轮转日志文件后,可以指定该命令的绝对路径。日志文件的轮转后文件名将作为参数传递给归档命令。归档命令还会压缩已轮转的日志文件。
管理服务器记录所有使用管理控制台执行的配置更改。记录的某些常见操作包括创建新配置、创建虚拟服务器和配置实例设置。但是,配置级别详细信息(例如,访问 Web 应用程序或访问 Web 应用程序时引发的异常)则由相应配置单独记录。
单击 Administration Server > 常规选项卡。
转至日志首选项部分。
编辑“服务器日志位置”字段。
用于存储错误的日志位置。提供用于维护日志文件的有效服务器路径。还将检查管理服务器在 UNIX 系统的指定目录中是否具有写入权限。
默认位置为 ../log/errors
单击 Administration Server > 常规选项卡。
转至日志首选项部分。
选择“日志详尽程度”。
该选项为您提供了一种设置日志粒度的好方法。对于测试和调试,建议将日志级别设置为 finest。
对于生产环境,建议将日志级别设置为 failure 或 security。catastrophe 日志级别记录的信息量非常少。