4.3 Oracle Trace File Analyzer Collectorを使用した診断データの自動収集

Oracle Trace File Analyzer Collectorデーモン、診断収集および収集リポジトリを管理します。

さらに、Oracle Trace File Analyzer Collector構成にホストを追加し、デフォルトの通信ポートを変更し、SSLプロトコルを構成します。

トピック:

4.3.1 Oracle Trace File Analyzerデーモンの管理

Oracle Trace File Analyzer Collectorは、UNIXシステムではinit、Linuxシステムではinit/upstart/systemdによって実行されるため、ノードが起動されると自動的に起動されます。

Oracle Trace File Analyzerデーモンを管理するには:

init制御ファイル/etc/init.d/init.tfaは、プラットフォームに依存します。
  1. Oracle Trace File Analyzerを手動で起動または停止するには、次のようにします。
    • tfactl start: Oracle Trace File Analyzerデーモンを起動します。

    • tfactl stop: Oracle Trace File Analyzerデーモンを停止します。

    Oracle Trace File Analyzerデーモンが失敗した場合は、オペレーティング・システムによって自動的にデーモンが再起動されます。

  2. Oracle Trace File Analyzerデーモンの自動再起動を有効または無効にするには、次のようにします。
    • tfactl disable: Oracle Trace File Analyzerデーモンの自動再起動を無効にします。

    • tfactl enable: Oracle Trace File Analyzerデーモンの自動再起動を有効にします。

4.3.2 Oracle Trace File Analyzerのステータスおよび構成の表示

tfactl print statusコマンドまたはtfactl print configコマンドを使用して、クラスタ内のすべてのノードのOracle Trace File Analyzerのステータスを表示します。

Oracle Trace File Analyzerのステータスおよび構成設定を表示するには:

  1. クラスタ内のすべてのノードのOracle Trace File Analyzerのステータスを表示するには、次のようにします。
    tfactl print status
    次に例を示します。
    $ tfactl print status
    .---------------------------------------------------------------------------------------------.
    | Host  | Status of TFA | PID   | Port | Version    | Build ID             | Inventory Status |
    +-------+---------------+-------+------+------------+----------------------+------------------+
    | node1 | RUNNING       | 29591 | 5000 | 12.2.1.0.0 | 12210020160810105317 | COMPLETE         |
    | node2 | RUNNING       | 34738 | 5000 | 12.2.1.0.0 | 12210020160810105317 | COMPLETE         |
    '-------+---------------+-------+------+------------+----------------------+------------------'
    

    クラスタ内のすべてのノードのOracle Trace File Analyzerのステータスが表示され、Oracle Trace File Analyzerのバージョンおよびそれが実行されているポートも表示されます。

  2. Oracle Trace File Analyzerの構成設定を表示するには、次のようにします。
    tfactl print config
    次に例を示します。
    $ tfactl print config
    .------------------------------------------------------------------------------------.
    |                                     node1                                          |
    +-----------------------------------------------------------------------+------------+
    | Configuration Parameter                                               | Value      |
    +-----------------------------------------------------------------------+------------+
    | TFA Version                                                           | 12.2.1.0.0 |
    | Java Version                                                          | 1.8        |
    | Public IP Network                                                     | true       |
    | Automatic Diagnostic Collection                                       | true       |
    | Alert Log Scan                                                        | true       |
    | Disk Usage Monitor                                                    | true       |
    | Managelogs Auto Purge                                                 | false      |
    | Trimming of files during diagcollection                               | true       |
    | Inventory Trace level                                                 | 1          |
    | Collection Trace level                                                | 1          |
    | Scan Trace level                                                      | 1          |
    | Other Trace level                                                     | 1          |
    | Repository current size (MB)                                          | 447        |
    | Repository maximum size (MB)                                          | 10240      |
    | Max Size of TFA Log (MB)                                              | 50         |
    | Max Number of TFA Logs                                                | 10         |
    | Max Size of Core File (MB)                                            | 20         |
    | Max Collection Size of Core Files (MB)                                | 200        |
    | Minimum Free Space to enable Alert Log Scan (MB)                      | 500        |
    | Time interval between consecutive Disk Usage Snapshot(minutes)        | 60         |
    | Time interval between consecutive Managelogs Auto Purge(minutes)      | 60         |
    | Logs older than the time period will be auto purged(days[d]|hours[h]) | 30d        |
    | Automatic Purging                                                     | true       |
    | Age of Purging Collections (Hours)                                    | 12         |
    | TFA IPS Pool Size                                                     | 5          |
    '-----------------------------------------------------------------------+------------'
    

関連項目

4.3.3 ホストの構成

Oracle Trace File Analyzerの構成にホストを追加するには、tfactlに対するrootアクセスまたはsudoアクセスが必要です。

SSL証明書を追加、削除および置換するには:

  1. Oracle Trace File Analyzerの構成の現在のホストのリストを表示するには、次のようにします。
    tfactl print hosts
  2. 初めてOracle Trace File Analyzerの構成にホストを追加するには、次のようにします。
    1. 必要に応じて、新しいホストにOracle Trace File Analyzerをインストールして起動します。
    2. 既存のホストから、次を実行してすべてのホストの認証証明書を同期化します。
      tfactl syncnodes

      必要に応じて、Oracle Trace File Analyzerにより現在認識されているノードのリストが表示され、このノードのリストを更新するよう求められます。

    3. Yを選択して、新しいホストの名前を入力します。

      Oracle Trace File Analyzerが新しいホスト上のOracle Trace File Analyzerにアクセスして証明書を同期化し、それぞれが各自のホスト・リストに相手を追加します。

  3. ホストを削除するには、次のようにします。
    tfactl host remove host
  4. ホストおよびすでに同期化されている証明書を追加するには、次のようにします。
    tfactl host add host

    インストール中に、Oracle Trace File Analyzerによって自己署名SSL証明書が生成されます。これらの証明書を次のいずれかに置き換えます。

    • 個人の自己署名証明書

    • CA署名証明書

4.3.4 ポートの構成

クラスタ内のOracle Trace File Analyzerデーモンは、ポート5000から5005を介して安全に通信します。

このポート範囲が使用できない場合は、システムで使用可能なポートに置き換えます。

$TFA_HOME/internal/usableports.txtファイルは次のようになります。

$ cat $TFA_HOME/internal/usableports.txt
5000
5001
5002
5003
5004
5005

ポートを変更するには:

  1. すべてのノードでOracle Trace File Analyzerを停止します。
    tfactl stop
  2. usableports.txtファイルを編集して、ポートを置き換えます。
  3. すべてのクラスタ・ノードにusableports.txtの変更内容をレプリケートします。
  4. すべてのノードの$TFA_HOME/internal/port.txtファイルを削除します。
  5. すべてのノードでOracle Trace File Analyzerを起動します。
    tfactl start

4.3.5 SSLおよびSSL証明書の構成

SSL/TLSプロトコルを表示および制限します。自己署名証明書またはCA署名証明書を使用するようにOracle Trace File Analyzerを構成します。

トピック:

4.3.5.1 SSL/TLSプロトコルの構成

クラスタ内のOracle Trace File Analyzerデーモンは、SSL/TLSプロトコルを使用して安全に通信します。

Oracle Trace File Analyzerで使用できるSSLプロトコルは、次のとおりです。

  • TLSv1.2

  • TLCv1.1

  • TLSv1

Oracle Trace File Analyzerでは、古いプロトコルであるSSLv3およびSSLv2Helloの使用が常に制限されます。

プロトコルを表示および制限するには:

  1. 使用可能なプロトコルと制限されているプロトコルを表示するには、次のようにします。
    tfactl print protocols
    次に例を示します。
    $ tfactl print protocols
    .---------------------------------------.
    |                 node1                 |
    +---------------------------------------+
    | Protocols                             |
    +---------------------------------------+
    | Available : [TLSv1, TLSv1.2, TLSv1.1] |
    | Restricted : [SSLv3, SSLv2Hello]      |
    '---------------------------------------'
    
  2. 特定のプロトコルの使用を制限するには、次のようにします。
    tfactl restrictprotocol [-force] protocol
    次に例を示します。
    $ tfactl restrictprotocol TLSv1

4.3.5.2 自己署名証明書の構成

Java keytoolを使用して、自己署名SSL証明書を個人の自己署名証明書に置き換えます。

自己署名証明書を使用するようにOracle Trace File Analyzerを構成するには:

  1. 秘密鍵およびサーバーの自己署名証明書を含むキーストア・ファイルを作成します。
    $ keytool -genkey -alias server_full -keyalg RSA -keysize 2048 -validity 18263 -keystore myserver.jks
  2. 秘密鍵およびその秘密鍵とクライアントの自己署名証明書を含むキーストア・ファイルを作成します。
    $ keytool -genkey -alias client_full -keyalg RSA -keysize 2048 -validity 18263 -keystore myclient.jks
  3. サーバー公開鍵証明書をサーバー・キーストアからエクスポートします。
    $ keytool -export -alias server_full -file myserver_pub.crt -keystore myserver.jks -storepass password
  4. クライアント公開鍵証明書をサーバー・キーストアからエクスポートします。
    $ keytool -export -alias client_full -file myclient_pub.crt -keystore myclient.jks -storepass password
  5. サーバー公開鍵証明書をクライアント・キーストアにインポートします。
    $ keytool -import -alias server_pub -file myserver_pub.crt -keystore myclient.jks -storepass password
  6. クライアント公開鍵証明書をサーバー・キーストアにインポートします。
    $ keytool -import -alias client_pub -file myclient_pub.crt  -keystore myserver.jks -storepass password
  7. キーストアの権限をroot read-onlyに制限します。
    $ chmod 400 myclient.jks myserver.jks
  8. キーストア(jksファイル)を各ノードにコピーします。
  9. 新しい証明書を使用するようにOracle Trace File Analyzerを構成します。
    $ tfactl set sslconfig
  10. Oracle Trace File Analyzerプロセスを再起動して、新しい証明書の使用を開始します。
    $ tfactl stop 
    $ tfactl start

4.3.5.3 CA署名証明書の構成

Java keytoolopensslを使用して、自己署名SSL証明書を認証局(CA)署名証明書に置き換えます。

CA署名証明書を使用するようにOracle Trace File Analyzerを構成するには:

  1. サーバー・リクエストに対する秘密鍵を作成します。
    $ openssl genrsa -aes256 -out myserver.key 2048
  2. クライアント・リクエストに対する秘密鍵を作成します。
    $ openssl genrsa -aes256 -out myclient.key 2048
  3. サーバーの証明書署名リクエスト(CSR)を作成します。
    $ openssl req -key myserver.key -new -sha256 -out myserver.csr
  4. クライアントの証明書署名リクエスト(CSR)を作成します。
    $ openssl req -key myclient.key -new -sha256 -out myclient.csr
  5. 結果のクライアント用およびサーバー用CSRを関連する署名認証局に送信します。

    署名認証局から署名済証明書が返送されます。

    • myserver.cert

    • myclient.cert

    • CAルート証明書

  6. 証明書をサーバーおよびクライアント用のJKS形式に変換します。
    $ openssl pkcs12 -export -out serverCert.pkcs12 -in myserver.cert -inkey myserver.key
    $ keytool -v -importkeystore -srckeystore serverCert.pkcs12 -srcstoretype PKCS12 -destkeystore myserver.jks -deststoretype JKS
    $ openssl pkcs12 -export -out clientCert.pkcs12 -in myclient.cert -inkey myclient.key
    $ keytool -v -importkeystore -srckeystore clientCert.pkcs12 -srcstoretype PKCS12 -destkeystore myclient.jks -deststoretype JKS
  7. サーバー公開鍵をクライアントのjksファイルにインポートします。
    $ keytool -import -v -alias server-ca -file myserver.cert -keystore myclient.jks
  8. クライアント公開鍵をサーバーのjksファイルにインポートします。
    $ keytool -import -v -alias client-ca -file myclient.cert -keystore myserver.jks
  9. CAルート証明書を署名証明書からOracle Trace File Analyzerサーバー証明書にインポートします。
    $ keytool -importcert -trustcacerts -alias inter -file caroot.cert -keystore myserver.jks
  10. キーストアの権限をroot read-onlyに制限します。
    $ chmod 400 myclient.jks myserver.jks
  11. キーストア(jksファイル)を各ノードにコピーします。
  12. 新しい証明書を使用するようにOracle Trace File Analyzerを構成します。
    $ tfactl set sslconfig
  13. Oracle Trace File Analyzerプロセスを再起動して、新しい証明書の使用を開始します。
    $ tfactl stop 
    $ tfactl start

4.3.6 コレクションの管理

Oracle Trace File Analyzerで構成されたディレクトリと診断収集を管理します。

トピック:

4.3.6.1 ディレクトリの指定

Oracle Trace File Analyzerの構成にディレクトリを追加して、そのディレクトリを診断収集に含めます。

これにより、次に関する診断収集のメタデータが格納されます。

  • ディレクトリ

  • サブディレクトリ

  • ディレクトリおよびすべてのサブディレクトリのファイル

すべてのOracle Trace File Analyzerユーザーは、読取りアクセス権を持つディレクトリを追加できます。

ディレクトリを管理するには:

  1. Oracle Trace File Analyzerで構成された現在のディレクトリを表示するには、次のようにします。
    tfactl print directories [ -node all | local | n1,n2,... ] 
    [ -comp component_name1,component_name2,.. ] 
    [ -policy  exclusions | noexclusions ] 
    [ -permission public | private ]
  2. ディレクトリを追加するには:
    tfactl directory add dir 
    [ -public ] 
    [ -exclusions | -noexclusions | -collectall ] 
    [ -node all | n1,n2,... ]
  3. ディレクトリを収集対象から除外するには、次のようにします。
    tfactl directory remove dir [ -node all | n1,n2,... ]

4.3.6.2 収集のサイズの管理

Oracle Trace File Analyzerの構成オプションtrimfilesmaxcorefilesizeおよびmaxcorecollectionsizeと、diagcollect -nocoresを使用して、収集のサイズを縮小します。

収集のサイズを管理するには:

  1. 診断収集中にファイルを切り捨てるには、次のようにします。
    tfactl set trimfiles=ON|OFF
    • ON (デフォルト)に設定すると、Oracle Trace File Analyzerにより、イベントの時間前後のデータが含まれるようにファイルが切り捨てられます。

    • OFFに設定すると、イベント時に書き込まれたすべてのファイルが全体として収集されます。

  2. コア・ファイルの最大サイズをn MB (デフォルトは20MB)に設定するには、次のようにします。
    tfactl set maxcorefilesize=n

    Oracle Trace File Analyzerにより、maxcorefilesizeを超えるコア・ファイルがスキップされます。

  3. コア・ファイルの最大収集サイズをn MB (デフォルトは200MB)に設定するには、次のようにします。
    tfactl set maxcorecollectionsize=n

    maxcorecollectionsizeに達すると、Oracle Trace File Analyzerによりコア・ファイルの収集がスキップされます。

  4. 診断収集でコア・ファイルが収集されないようにするには、次のようにします。
    tfactl diagcollect -nocores

4.3.7 リポジトリの管理

Oracle Trace File Analyzerは、すべての診断収集をリポジトリに格納します。

リポジトリ・サイズは、収集を格納するためにOracle Trace File Analyzerがディスク上で使用できる最大領域です。

トピック:

4.3.7.1 リポジトリの自動消去

次の場合、Oracle Trace File Analyzerによってリポジトリが閉じられます。

  • TFA_HOMEの空き領域が100 MB未満の場合(さらに索引付けも停止します)

  • ORACLE_BASEの空き領域が100 MB未満の場合(さらに索引付けも停止します)

  • リポジトリの空き領域が1 GB未満の場合

  • リポジトリの現在のサイズがリポジトリの最大サイズ(reposizeMB)を超えている場合

Oracle Trace File Analyzerデーモンによってリポジトリが監視されて、空き領域が1 GBを下回ったとき、またはリポジトリを閉じる前に、リポジトリが自動的に消去されます。リポジトリを開くために十分な領域が確保されるまで、消去によって収集がサイズの大きい順に削除されます。

Oracle Trace File Analyzerにより、minagetopurgeよりも古い収集のみが自動的に消去されます。デフォルトでは、minagetopurgeは12時間です。

自動的にリポジトリを消去するには:

  1. 消去するまでの最小経過期間を変更するには、次のようにします。
    set minagetopurge=number of hours
    次に例を示します。
    $ tfactl set minagetopurge=48

    リポジトリの自動消去がデフォルトで有効になります。

  2. 自動消去を無効または有効にするには、次のようにします。
    set autopurge=ON|OFF
    次に例を示します。
    $ tfactl set autopurge=ON
  3. リポジトリの場所を変更するには、次のようにします。
    set repositorydir=dir
    次に例を示します。
    $ tfactl set repositorydir=/opt/mypath
  4. リポジトリのサイズを変更するには、次のようにします。
    set reposizeMB
    次に例を示します。
    $ tfactl set reposizeMB=20480

4.3.7.2 リポジトリの手動消去

手動でリポジトリを消去するには:

  1. Oracle Trace File Analyzerリポジトリのステータスを表示するには、次のようにします。
    tfactl print repository
  2. 収集に関する統計を表示するには、次のようにします。
    tfactl print collections
  3. 特定の時間よりも古い収集を手動で消去するには、次のようにします。
    tfactl purge -older number[h|d] [-force]