系统管理指南:基本管理

对 Oracle Java Web Console 软件进行故障排除

下面提供的信息有助于解决在使用 Oracle Java Web Console 软件时可能遇到的任何问题。

检查控制台的状态和属性

可以使用 smcwebserverwcadminsvcs 命令来获取有关控制台的不同类型的信息,这些信息对解决问题很有用。

Procedure如何检查控制台是否正在运行且处于启用状态

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 检查服务器的状态。


    # smcwebserver status
    Sun Java(TM) Web Console is running
  3. Solaris 10 11/06:检查控制台的 SMF 状态和启用状态。


    # svcs -l system/webconsole:console
    

    如果您使用 smcwebserver 命令来启动和停止服务器,而不启用和禁用它,则 enabled 属性可能显示为 false (temporary)true (temporary)

Procedure如何列出控制台资源和控制台属性

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 列出控制台资源和控制台属性。

    如果您所运行的版本不低于 Solaris 10 11/06 发行版,请使用以下命令:


    # wcadmin list
    
    Deployed web applications (application name, context name, status):
     
        console      ROOT            [running]
        console      com_sun_web_ui  [running]
        console      console         [running]
        console      manager         [running]
        legacy       myapp           [running]
     
    Registered jar files (application name, identifier, path):
     
        console  audit_jar     /usr/lib/audit/Audit.jar
        console  console_jars  /usr/share/webconsole/lib/*.jar
        console  jato_jar      /usr/share/lib/jato/jato.jar
        console  javahelp_jar  /usr/jdk/packages/javax.help-2.0/lib/*.jar
        console  shared_jars   /usr/share/webconsole/private/container/shared/lib/*.jar
     
    Registered login modules (application name, service name, identifier):
     
        console  ConsoleLogin  userlogin
        console  ConsoleLogin  rolelogin
     
    Shared service properties (name, value):
     
        ENABLE            yes
        java.home         /usr/jdk/jdk1.5.0_06

    注 –

    由于 SMF 使用自身的启用属性(如上一个过程中所示),此 ENABLE 属性将被忽略。ENABLE 属性用于旧式系统,该系统的控制台服务器不是由 SMF 管理。


    对于 Oracle Solaris 10、Solaris 10 1/06 和 Solaris 10 6/06 发行版,请使用以下命令:


    # smreg list
    
     The list of registered plugin applications:
    
    com.sun.web.console_2.2.4       /usr/share/webconsole/console
    com.sun.web.ui_2.2.4    /usr/share/webconsole/com_sun_web_ui
    com.sun.web.admin.example_2.2.4 /usr/share/webconsole/example
    
    The list of registered jar files:
    
    com_sun_management_services_api.jar scoped to ALL
    com_sun_management_services_impl.jar scoped to ALL
    com_sun_management_console_impl.jar scoped to ALL
    com_sun_management_cc.jar scoped to ALL
    com_sun_management_webcommon.jar scoped to ALL
    com_iplanet_jato_jato.jar scoped to ALL
    com_sun_management_solaris_impl.jar scoped to ALL
    com_sun_management_solaris_implx.jar scoped to ALL
    
    The list of registered login modules for service ConsoleLogin:
    
    com.sun.management.services.authentication.PamLoginModule optional
    use_first_pass="true" commandPath="/usr/lib/webconsole";
    com.sun.management.services.authentication.RbacRoleLoginModule requisite
    force_role_check="true" commandPath="/usr/lib/webconsole";
    
    The list of registered server configuration properties:
    
    session.timeout.value=15
    authentication.login.cliservice=ConsoleLogin
    logging.default.handler=com.sun.management.services.logging.ConsoleSyslogHandler
    logging.default.level=info
    logging.default.resource=com.sun.management.services.logging.resources.Resources
    logging.default.filter=none
    logging.debug.level=off
    audit.default.type=None
    audit.None.class=com.sun.management.services.audit.LogAuditSession
    audit.Log.class=com.sun.management.services.audit.LogAuditSession audit.class.fail=none
    authorization.default.type=SolarisRbac
    authorization.SolarisRbac.class=
    com.sun.management.services.authorization.SolarisRbacAuthorizationService
    authorization.PrincipalType.class=
    com.sun.management.services.authorization.PrincipalTypeAuthorizationService
    debug.trace.level=0
    .
    .
    .
    No environment properties have been registered.

访问控制台时遇到的问题

控制台访问问题可能表示控制台服务器尚未启用或者安全设置受到限制。有关更多信息,请参见检查控制台的状态和属性Oracle Java Web Console 安全注意事项

应用程序注册问题

本节包含有关解决控制台应用程序可能会遇到的注册问题的信息。有关特定控制台应用程序的信息,应当参阅相应应用程序的文档。


注 –

控制台应用程序通常在安装过程中进行注册,因此,您通常不需要亲自注册应用程序。


从 Solaris 10 11/06 发行版开始,Web 控制台更改了应用程序的注册方法,但仍然支持为早期版本的控制台开发的应用程序。当前的应用程序可以在控制台服务器正在运行时使用一条命令来注册和部署,针对早期版本的控制台开发的应用程序称为传统应用程序,而且要求在注册过程中控制台服务器处于停止状态。如果您需要注册或注销应用程序,则必须首先确定该应用程序是否为传统应用程序,如下面的过程所述。

Procedure如何确定应用程序是否为传统应用程序

  1. 查看应用程序的 app.xml 文件。

    app.xml 文件位于应用程序的 WEB-INF 目录中。

  2. 检查 app.xml 文件中的 registrationInfo 标记。

    对于传统应用程序,registrationInfo 标记的版本为 2.x。例如,registrationInfo version="2.2.4"

    对于当前应用程序,registrationInfo 标记中的版本至少为 3.0。例如,registrationInfo version="3.0"

Procedure如何列出已部署的应用程序

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 列出已部署的应用程序。

    如果您所运行的版本不低于 Solaris 10 11/06 发行版,请使用以下命令:


    # wcadmin list -a
    
    Deployed web applications (application name, context name, status):
     
        console  ROOT            [running]
        console  com_sun_web_ui  [running]
        console  console         [running]
        console  manager         [running]
        legacy   myapp           [running]

    该命令会列出所有已注册和已部署的应用程序。所列出的传统应用程序的名称中会显示 legacy。请参见如何确定应用程序是否为传统应用程序。列出的所有其他应用程序都是当前的应用程序,应当按照如何使用 Oracle Java Web Console 注册当前应用程序中的说明进行注册。

    通常,显示的应用程序状态包含 runningstopped。如果状态为 running,则应用程序当前已装入并且可用。如果状态为 stopped,则应用程序当前未装入,从而不可用。有时应用程序会成功注册和部署,但由于应用程序中的问题而不会装入。如果这样,则应用程序的状态为 stopped。请检查 console_debug_log,以确定尝试装入应用程序时,从控制台的基础 Web 容器 Tomcat 追溯是否有错误。有关 console_debug_log 的更多信息,请参见使用控制台调试跟踪日志

    如果所有的应用程序都显示 stopped (包括控制台应用程序),则通常意味着控制台的 Web 容器没有运行。本例中的应用程序列表是从在 Web 容器中注册的静态 context.xml 文件中获取的。

    对于 Oracle Solaris 10、Solaris 10 1/06 和 Solaris 10 6/06 发行版,请使用以下命令:


    # smreg list -a
    
    The list of registered plugin applications:
    
            com.sun.web.console_2.2.4       /usr/share/webconsole/console
            com.sun.web.ui_2.2.4    /usr/share/webconsole/com_sun_web_ui
            com.sun.web.admin.yourapp_2.2.4 /usr/share/webconsole/yourapp

Procedure如何使用 Oracle Java Web Console 注册传统应用程序


注 –

此过程适用于 Oracle Solaris 10、Solaris 10 1/06 和 Solaris 10 6/06 发行版中的所有控制台应用程序。从 Solaris 10 11/06 发行版开始,此过程适用于那些标识为传统应用程序的应用程序。有关当前应用程序的注册过程,请参见如何使用 Oracle Java Web Console 注册当前应用程序。另请参见如何确定应用程序是否为传统应用程序


  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 停止 Web 服务器。


    # smcwebserver stop
    
  3. 注册应用程序。


    # smreg add -a /directory/containing/application-files
    
    

    smreg 命令管理 Oracle Java Web Console 注册表中的信息。此脚本还执行部署应用程序所需的一些其他工作。有关此命令的其他选项,请参见 smreg(1M) 手册页。

  4. 重新启动 Web 服务器。


    # smcwebserver start
    

示例 3–8 注册传统应用程序

以下示例说明如何注册其文件位于 /usr/share/webconsole/example 目录中的传统应用程序。请注意,对于传统应用程序,在注册应用程序之前必须停止控制台服务器,在注册应用程序之后必须启动控制台服务器。可忽略 smreg 发出的警告,因为该应用程序是传统的控制台应用程序。


# smcwebserver stop
# smreg add -a /usr/share/webconsole/example

    Warning: smreg is obsolete and is preserved only for
    compatibility with legacy console applications. Use wcadmin instead.

    Type "man wcadmin" or "wcadmin --help" for more information.

Registering com.sun.web.admin.example_version.

# smcwebserver start

Procedure如何从 Oracle Java Web Console 注销传统应用程序


注 –

此过程适用于 Oracle Solaris 10、Solaris 10 1/06 和 Solaris 10 6/06 发行版中的所有控制台应用程序。从 Solaris 10 11/06 发行版开始,此过程适用于那些标识为传统应用程序的应用程序。有关如何注销当前应用程序的过程,请参见如何从 Oracle Java Web Console 注销当前的应用程序


如果不希望特定的传统应用程序显示在 Web 控制台的启动页中,但是又不想卸载该软件,则可以使用 smreg 命令来注销该应用程序。请参见如何确定应用程序是否为传统应用程序

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 注销应用程序。


    # smreg remove -a app-name
    

示例 3–9 从 Oracle Java Web Console 注销传统应用程序

以下示例说明如何如何注销 app-namecom.sun.web.admin.example 的传统应用程序。


# smreg remove -a com.sun.web.admin.example

 Unregistering com.sun.web.admin.example_version.

Procedure如何使用 Oracle Java Web Console 注册当前应用程序

Solaris 10 11/06:此过程适用于无需停止和启动控制台服务器即可注册和部署的已更新的控制台应用程序。有关传统应用程序和 Oracle Solaris 10、Solaris 10 1/06、Solaris 10 6/06 发行版中的所有控制台应用程序的注册过程,请参见如何使用 Oracle Java Web Console 注册传统应用程序。另请参见如何确定应用程序是否为传统应用程序

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 注册和部署应用程序。


    wcadmin deploy -a app-name -x app-context-name
     /full path/to/app-name
    

示例 3–10 注册当前的应用程序

以下示例说明如何注册和部署已经为当前的 Web 控制台开发或更新的应用程序。


# wcadmin deploy -a newexample_1.0 -x newexample /apps/webconsole/newexample

Procedure如何从 Oracle Java Web Console 注销当前的应用程序

Solaris 10 11/06:此过程适用于无需停止和启动控制台服务器即可注销和取消部署的已更新的控制台应用程序。有关传统应用程序和 Oracle Solaris 10、Solaris 10 1/06、Solaris 10 6/06 发行版中的所有控制台应用程序的注销过程,请参见如何从 Oracle Java Web Console 注销传统应用程序。请参见如何列出已部署的应用程序如何确定应用程序是否为传统应用程序,确定应用程序是传统应用程序还是已更新的应用程序。

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 取消部署和注销应用程序。


    # wcadmin undeploy -a newexample_1.0 -x newexample