从 wsadmin 脚本使用诊断提供程序

除了从管理控制台启用诊断提供程序 (DP) 之外,还可以通过 wsadmin 工具中的脚本来使用。

关于此任务

您可能想要从管理控制台启用、禁用或配置诊断提供程序,但在某些情况下借助 wsadmin 工具使用脚本进行会更有效。

阅读 wsadmin 工具信息以了解将该工具与脚本配合使用的信息。

过程

  1. 列示实现诊断提供程序 (DP) 接口的 MBean。 输入
    $AdminControl queryNames diagnosticProvider=true,* 
    然后,您将看到以如下格式显示所有诊断提供程序的输出:
    "WebSphere:name=Default Datasource,process=server1,platform=dynamicproxy,node=
      camelhair,JDBCProvider=Derby JDBC Provider,
    diagnosticProvider=true,j2eeType=JDBCDataSource,J2EEServer=server1,Server=server1,
      version=6.1.0.0,type=DataSource,
    mbeanIdentifier=cells/camelhairCell/nodes/camelhair/servers/server1/resources.xml#
      DataSource_1131113688564,
    JDBCResource=Derby JDBC Provider,cell=camelhairCell"
    "WebSphere:name=DefaultEJBTimerDataSource,process=server1,platform=dynamicproxy,
      node=camelhair,
    JDBCProvider=Derby JDBC Provider (XA),diagnosticProvider=true,j2eeType=
      JDBCDataSource,J2EEServer=server1,Server=server1,version=6.1.0.0,type=DataSource,
      mbeanIdentifier=cells/camelhairCell/nodes/camelhair/servers/server1/
      resources.xml#DataSource_1000001,
    JDBCResource=Derby JDBC Provider (XA),cell=camelhairCell"
    WebSphere:name=WebcontainerDiagnosticProvider,process=server1,platform=
      dynamicproxy,node=camelhair,diagnosticProvider=true,
    version=6.1.0.0,type=WebcontainerEventProvider,mbeanIdentifier=null,
      cell=camelhairCell
  2. 在变量中捕获诊断提供程序的对象名。 这允许您更容易引用诊断提供程序,尤其在脚本中。例如,如果要使用 WebContainer 诊断提供程序,可不用输入所有那些行,而是执行以下操作:
    • set DP [lindex [$AdminControl queryNames name=WebcontainerDiagnosticProvider,diagnosticProvider=true,*] 0]

      DP 变量中存储的此对象名可以在方法上使用,或者您可以使用该诊断提供程序名称作为文本或变量。

    • 在变量中具有对象名后,您可以使用下列命令获取变量中的诊断提供程序名称:
      set DPNm [$AdminControl invoke $DS getDiagnosticProviderNameById $DP]
      这提供了以下结果:
      WebContainerDP

      现在 DiagnosticProvider (WebContainer) 可以通过它在变量 DP 中的对象名或者通过它在变量 DPNm 中的 DiagnosticProvider 名称寻址。由于 DPName WebContainerDP,因此,如果您愿意,那么可以对其硬编码。

  3. 将 DiagnosticService MBean 的对象名保存至变量。 对于 wsadmin,WebSphere® Application Server 提供了这个 Mbean,因此诊断提供程序的输出更容易使用。输入
    set DS [lindex [$AdminControl queryNames name=DiagnosticService,*] 0] 
  4. 运行 configDump。 可以运行 configDump 并使用下列命令捕获所有属性:
    $AdminControl invoke $DS configDumpFormattedById [list $DP .* true null] 
    这列示了诊断提供程序在启动时使用的值(以及可能的当前值)。.
    表 1. configDump 输出的摘录. 下表列示了诊断提供程序在启动时使用的值以及可能的当前值。
    项并置名称
    customProperties = Null
    defaultVirtualHostName = default_host
    jvmProps = Null
    localeProps = Null
    servletCachingEnabled = false
    aliases = *:9080;*:80;*:9443;
  5. 过滤 configDump 的输出。 可以使用 configDumpFormatted (停止 ById)并为 $DPNm 或字符串 WebContainerDP 转换 $DP。本示例使用此稍许修改过的版本上的 $DPNm,由此它仅获得处理自动操作的属性:
    $AdminControl invoke $DS configDumpFormatted [list $DPNm .*auto.* true null] 
    这导致仅使用那些在它们中包含 auto 的属性。允许完全(但严格)的正则表达式语法。
    表 2. 结果. 下表列示了合并名称和值。
    项并置名称
    autoLoadFiltersEnabled = false
    autoRequestEncoding = false
    autoResponseEncoding = false
    autoLoadFiltersEnabled = false
    autoRequestEncoding = false
    autoResponseEncoding = false
    对于 stateDumps 和 selfDiagnostics,语法相同。

指示主题类型的图标 任务主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=ttrb_invdpwsadmin
文件名:ttrb_invdpwsadmin.html