wsadmin スクリプトからの診断プロバイダーの使用

診断プロバイダー (DP) は管理コンソールから使用可能にするほかに、Wsadmin ツールからスクリプトによって使用することもできます。

このタスクについて

診断プロバイダーは管理コンソールから使用可能、使用不可、または構成することもできますが、状況によっては wsadmin ツールを用いてスクリプトによって行うほうが効率的だったり、有効だったりすることもあります。

このツールとスクリプトの使用について詳しくは、wsadmin ツールに関する情報を参照してください。

手順

  1. 診断プロバイダー (DP) インターフェースを実装する MBeans をリストします。 以下を入力します。
    $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. 診断プロバイダーの ObjectName を変数に取り込みます。 これにより、特にスクリプト内で診断プロバイダーを参照しやすくなります。 例えば、WebContainer 診断プロバイダーを処理する場合は、これらの行をすべて入力する代わりに、以下を実行できます。
    • set DP [lindex [$AdminControl queryNames name=WebcontainerDiagnosticProvider,diagnosticProvider=true,*] 0]

      DP 変数に格納されたこの ObjectName をメソッドで使用したり、診断プロバイダー名をテキストや変数として使用できます。

    • 変数に ObjectName が格納されているため、以下のコマンドを使用して、診断プロバイダー名を変数に取得することができます。
      set DPNm [$AdminControl invoke $DS getDiagnosticProviderNameById $DP]
      この結果は、次のようになります。
      WebContainerDP 

      DiagnosticProvider (WebContainer) には、変数 DP 内の ObjectName によって、または変数 DPNm 内の DiagnosticProvider 名によってアドレスを指定することができます。 DPName WebContainerDP は長さが短いため、必要に応じてハードコーディングすることができます。

  3. DiagnosticService MBean の ObjectName を変数に保存します。 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 の出力をフィルタリングします。 $DPNm に configDumpFormatted (ById はオフのまま) およびスイッチ $DP を使用したり、ストリング WebContainerDP を使用することができます。 この例では、このわずかに変更されたバージョンに $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