2.6 Oracle Autonomous Health Frameworkの使用の開始

2.6.1 ディレクトリ構造の理解

Oracle Autonomous Health Frameworkの主要なディレクトリのリストを確認します。

表2-9 Oracle Autonomous Health Frameworkの主要なディレクトリ

ディレクトリ 説明

AHF_LOC

Oracle Autonomous Health Frameworkがインストールされているディレクトリ。

AHF_LOC/python

Pythonホーム・ディレクトリ。

AHF_LOC/orachk

Oracle Orachkホーム・ディレクトリ。

AHF_LOC/jre

JREホーム・ディレクトリ。

AHF_LOC/common

ライブラリ、ACR、ORDSなどを格納するOracle Autonomous Health Framework共通ディレクトリ。

AHF_LOC/bin

コマンドライン・インタフェースtfactlおよびorachkを含むOracle Autonomous Health Frameworkバイナリを格納するディレクトリ。

AHF_LOC/analyzer

Oracle Autonomous Health Framework Analyzerディレクトリ。

AHF_LOC/data

Oracle Autonomous Health Frameworkデータ・ディレクトリには、構成ファイル、Berkeley DB (BDB)、索引データなど、Oracle Autonomous Health Frameworkコンポーネントによって生成されたデータが格納されます。

AHF_LOC/tfa

Oracle Trace File Analyzerホーム・ディレクトリ。

DATA_DIR

Oracle Autonomous Health Frameworkが診断収集およびメタデータを格納するディレクトリ。

DATA_DIR/repository

Oracle Autonomous Health Frameworkが診断収集を格納するディレクトリ。

DATA_DIR/HOST/diag

このディレクトリには、すべてのコンポーネントのログが格納されます。

2.6.2 同じ通知アドレスを使用するためのOracle Trace File AnalyzerおよびOracle Orachk/Oracle Exachkの構成

通知電子メールを構成して、Oracle OrachkおよびOracle Exachkのコンプライアンス・チェックの結果を受信者に通知したり、Oracle Trace File Analyzerで重大な障害が検出されたときに受信者に通知します。

同じ通知アドレスを使用するようにOracle Trace File AnalyzerおよびOracle Orachk/Oracle Exachkを構成するには、ahfnotificationaddressオプションを使用します。

  1. 電子メール・アドレスのスペース区切りリストを指定します。
    # tfactl set ahfnotificationaddress="id1 id2..."

    tfactl set ahfnotificationaddressコマンドを使用して、電子メール・アドレスのリストを設定するか、既存のリストを更新します。

    Oracle Autonomous Health Frameworkのインストール中に電子メール・アドレスを指定すると、Oracle Autonomous Health Frameworkはそれらの電子メール・アドレスをinstall.propertiesファイルに保持します。Oracle OrachkおよびOracle Exachkは、install.propertiesファイルからそれらの電子メール・アドレスを取得し、スケジュール済ジョブのNOTIFICATION_EMAILプロパティを更新します。ただし、ジョブの作成中に電子メール・アドレスを明示的に指定した場合、Oracle OrachkおよびOracle Exachkinstall.propertiesファイル内の電子メール・アドレスをオーバーライドします。デフォルトでは、Oracle Trace File Analyzerは、install.propertiesファイル内の電子メール・アドレスを使用して通知電子メールを設定しません。かわりに、電子メール・アドレスを明示的に指定する必要があります。

    # tfactl set ahfnotificationaddress="test-user1@example.com test-user1@example.com"
    Successfully set the AHF Notification Address

    Oracle OrachkおよびOracle Exachkのスケジュール済ジョブに設定された通知電子メール・アドレスのリストを表示するには、orachk -get NOTIFICATION_EMAILおよびexachk -get NOTIFICATION_EMAILコマンドを実行します。

  2. 通知電子メールのリストを取得するには、次のようにします。
    # tfactl get ahfnotificationaddress

    install.propertiesファイルから通知電子メールIDのリストをフェッチして表示します。

    # tfactl get ahfnotificationaddress
    AHF Notification Address : test-user1@example.com test-user1@example.com
  3. 通知電子メールの設定を解除するには、次のようにします。
    # tfactl unset ahfnotificationaddress

    install.propertiesファイルから通知電子メールIDを削除します。

    # tfactl unset ahfnotificationaddress
    Successfully unset the AHF Notification Address

2.6.2.1 異なる通知アドレスを使用するためのOracle Trace File AnalyzerおよびOracle Orachk/Oracle Exachkの構成

Oracle Orachk/Oracle Exachkの場合:

次のように電子メール・アドレスのカンマ区切りリストを指定します。
$ orachk –set "NOTIFICATION_EMAIL=some.person@acompany.com,another.person@acompany.com"
$ exachk –set "NOTIFICATION_EMAIL=some.person@acompany.com,another.person@acompany.com"
オプションで、プロファイルの名前を指定できます。指定しない場合は、id=DEFAULTになります。たとえば:
$ orachk -id dba -set "NOTIFICATION_EMAIL=some.person@acompany.com,another.person@acompany.com"
$ exachk -id dba -set "NOTIFICATION_EMAIL=some.person@acompany.com,another.person@acompany.com"

Oracle Trace File Analyzerの場合:

特定のORACLE_HOMEの通知電子メールを設定するには、コマンドにオペレーティング・システムの所有者を含めます。
$ tfactl set notificationAddress=os_user:email
任意のORACLE_HOMEの通知電子メールを設定するには、次のようにします。
$ tfactl set notificationAddress=email

2.6.3 Oracle Trace File Analyzerのコマンドラインおよびシェルのオプション

tfactlツールは、コマンドライン・インタフェース、シェル・インタフェースおよびメニュー・インタフェースとして機能します。

表2-10 Oracle Trace File Analyzerのインタフェース

インタフェース コマンド 使用方法

コマンドライン

$ tfactl command

すべてのコマンド・オプションをコマンドラインで指定します。

シェル・インタフェース

$ tfactl

コンテキストを設定および変更した後、シェル内からコマンドを実行します。

メニュー・インタフェース

$ tfactl menu

メニュー・ナビゲーション・オプションを選択した後、実行するコマンドを選択します。

tfactlを使用すると、次のことができます。

  • 管理コマンドの実行
  • 診断データの収集
  • 診断データ収集の分析
tfactlコマンドの実行は、tfactlに対して持っているアクセス・レベルによって異なります。rootまたはsudoとして管理コマンドを実行します。または、次のユーザーとしてコマンドのサブセットを実行します。
  • Oracle Databaseホーム所有者またはOracle Grid Infrastructureホーム所有者。
  • OS DBAまたはASMグループのメンバー。

tfactlに対するアクセスを他のユーザーに付与するには、次のようにします。

tfactl access
tfactlをコマンドライン・ツールとして使用するには、次のようにします。
tfactl [command][options]
tfactlをシェル・インタフェースとして使用するには、tfactlを入力し、必要に応じてコマンドを実行します。
$ tfactl
tfactl>
コマンド固有のヘルプを取得するには、いずれかのtfactlコマンドに-helpオプションを追加します。
$ tfactl [command] -help

2.6.4 systemctlコマンドを使用したOracle Trace File AnalyzerおよびOracle Orachkデーモンの管理

Oracle Linuxサーバーでrootユーザーとしてsystemctlコマンドを実行します。tfactl shutdownおよびtfactl startコマンドを使用して、Oracle Trace File Analyzerデーモンを起動/停止することもできます。

systemctl status oracle-tfa.service
systemctl start oracle-tfa.service
systemctl stop oracle-tfa.service
# systemctl status oracle-tfa.service
oracle-tfa.service - Oracle Trace File Analyzer
Loaded: loaded (/etc/systemd/system/oracle-tfa.service; enabled; vendor preset: disabled)
Active: inactive (dead) since Fri 2021-01-29 18:50:51 PST; 24s ago
Process: 79935 ExecStart=/etc/init.d/init.tfa run >/dev/null 2>&1 </dev/null (code=killed, signal=TERM)
Main PID: 79935 (code=killed, signal=TERM)
Jan 29 15:47:46 den02mwa systemd[1]: Started Oracle Trace File Analyzer.
Jan 29 15:47:47 den02mwa init.tfa[79935]: Starting TFA..
Jan 29 15:47:48 den02mwa init.tfa[79935]: Starting TFA out of init, Should be running in 10 seconds
Jan 29 15:47:48 den02mwa init.tfa[79935]: Successfully updated jvmXmx to 128 in TFA...
Jan 29 15:47:56 den02mwa init.tfa[79935]: OSWatcher is already deployed at /opt/oracle.ahf/tfa/ext/oswbb
Jan 29 15:47:56 den02mwa init.tfa[79935]: Cannot find valid Non root user to run OSWatcher
Jan 29 18:50:41 den02mwa systemd[1]: Stopping Oracle Trace File Analyzer...
Jan 29 18:50:41 den02mwa init.tfa[79935]: Telemetry not enabled - Not Starting Adapter
Jan 29 18:50:51 den02mwa systemd[1]: Stopped Oracle Trace File Analyzer.
# tfactl start
Starting TFA..
Created symlink /etc/systemd/system/multi-user.target.wants/oracle-tfa.service -> /etc/systemd/system/oracle-tfa.service.
Created symlink /etc/systemd/system/graphical.target.wants/oracle-tfa.service -> /etc/systemd/system/oracle-tfa.service.
Waiting up to 100 seconds for TFA to be started..
. . . . .
Successfully started TFA Process..
. . . . .
TFA Started and listening for commands
# tfactl shutdown
Shutting down TFA
Removed /etc/systemd/system/multi-user.target.wants/oracle-tfa.service.
Removed /etc/systemd/system/graphical.target.wants/oracle-tfa.service.
Successfully shutdown TFA..

2.6.5 Oracle OrachkデーモンまたはOracle Exachkデーモンの動作

AHF 23.9には、autostartautostopおよびupgradeの実行中にOracle OrachkデーモンまたはOracle Exachkデーモンの動作を変更するための、新しいコマンド・オプションresetが含まれています。

コマンド 説明

exachk -autostart reset

orachk -autostart reset

ahfctl compliance -autostart reset

デフォルト・スケジューラを起動しロードします。

exachk -autostop unset

orachk -autostop unset

ahfctl compliance -autostop unset

変更されていないデフォルト・スケジューラをすべて削除します。

AHF 23.8までのデーモンの動作

exachk -autostartorachk -autostartahfctl compliance -autostartおよびahfctl upgradeの動作は同じです。次の表に、スケジューラの様々なシナリオと、autostartおよびupgradeの前後のそれらの動作を示します。

autostart/upgradeの前 autostart/upgradeの後
デフォルト・スケジューラ デフォルト・スケジューラ
ユーザー定義スケジューラおよびデフォルト・スケジューラ ユーザー定義
ユーザー定義のみ ユーザー定義のみ
ユーザー定義スケジューラおよび変更されたデフォルト・スケジューラ ユーザー定義スケジューラおよび変更されたデフォルト・スケジューラ
2つのデフォルト・スケジューラ: 1つは変更されたデフォルト、もう1つは変更されていないデフォルト 変更されたデフォルト・スケジューラのみ
2つのデフォルト・スケジューラのうち1つのデフォルト・スケジューラのみ 両方のデフォルト・スケジューラ
スケジューラなし スケジューラなし

次の表に、スケジューラの様々なシナリオと、exachk -autostartorachk -autostartおよびahfctl compliance -autostartの前後のそれらの動作を示します。

autostopの前 autostopの後
デフォルト・スケジューラ スケジューラなし
ユーザー定義スケジューラおよびデフォルト・スケジューラ ユーザー定義スケジューラのみ
ユーザー定義のみ ユーザー定義のみ
ユーザー定義スケジューラおよび変更されたデフォルト・スケジューラ ユーザー定義スケジューラおよび変更されたデフォルト・スケジューラ
2つのデフォルト・スケジューラ: 1つは変更されたデフォルト、もう1つは変更されていないデフォルト 変更されたデフォルト・スケジューラのみ
2つのデフォルト・スケジューラのうち1つのデフォルト・スケジューラのみ スケジューラなし
スケジューラなし スケジューラなし

AHF 23.9でのデーモンの動作の変更点

exachk -autostartorachk -autostartahfctl compliance -autostartおよびahfctl upgradeの動作は、AHF 23.8と同じです。デフォルト・スケジューラであってもユーザー定義スケジューラであっても、スケジューラ・エントリに変更点はありません。

autostart/upgradeの前、またはautostop、autostartの順に実行する前 autostart/upgradeの後、またはautostop、autostartの順に実行した後
デフォルト・スケジューラ デフォルト・スケジューラ
ユーザー定義スケジューラおよびデフォルト・スケジューラ ユーザー定義スケジューラおよびデフォルト・スケジューラ
ユーザー定義のみ ユーザー定義のみ
ユーザー定義スケジューラおよび変更されたデフォルト・スケジューラ ユーザー定義スケジューラおよび変更されたデフォルト・スケジューラ
2つのデフォルト・スケジューラ: 1つは変更されたデフォルト、もう1つは変更されていないデフォルト 2つのデフォルト・スケジューラ: 1つは変更されたデフォルト、もう1つは変更されていないデフォルト
2つのデフォルト・スケジューラのうち1つのデフォルト・スケジューラのみ 2つのデフォルト・スケジューラのうち1つのデフォルト・スケジューラのみ
スケジューラなし スケジューラなし

次の表に、autostart reset後の動作を示します。

-autostart resetの前 -autostart resetの後
デフォルト・スケジューラ デフォルト・スケジューラ
ユーザー定義スケジューラおよびデフォルト・スケジューラ デフォルト・スケジューラ
ユーザー定義のみ デフォルト・スケジューラ
ユーザー定義スケジューラおよび変更されたデフォルト・スケジューラ デフォルト・スケジューラ
2つのデフォルト・スケジューラ: 1つは変更されたデフォルト、もう1つは変更されていないデフォルト デフォルト・スケジューラ
2つのデフォルト・スケジューラのうち1つのデフォルト・スケジューラのみ デフォルト・スケジューラ
スケジューラなし デフォルト・スケジューラ

次の表に、autostop unsetを実行してからautostartを実行した場合の動作を示します。

-autostop unset、autostartの順に実行する前 -autostop unset、autostartの順に実行した後
デフォルト・スケジューラ スケジューラなし
ユーザー定義スケジューラおよびデフォルト・スケジューラ ユーザー定義
ユーザー定義のみ ユーザー定義のみ
ユーザー定義スケジューラおよび変更されたデフォルト・スケジューラ ユーザー定義スケジューラおよび変更されたデフォルト・スケジューラ
2つのデフォルト・スケジューラ: 1つは変更されたデフォルト、もう1つは変更されていないデフォルト 変更されたデフォルト・スケジューラのみ
2つのデフォルト・スケジューラのうち1つのデフォルト・スケジューラのみ スケジューラなし
スケジューラなし スケジューラなし

ユースケース

ユースケース 結果
-autostopの後に-autostart autostopではコンプライアンスの構成解除のみが実行され、autostartではコンプライアンスが開始され、autostopより前に存在していたすべてのスケジューラがロードされます。
-autostop unsetの後に-autostart autostop unsetでは、コンプライアンスの構成が解除され、変更されていないデフォルト・スケジューラがすべて削除されます。autostartでは、コンプライアンスが開始され、ユーザー定義スケジューラおよび変更されたデフォルト・スケジューラ(存在する場合)がロードされます。
-autostopの後に-autostart reset autostopではコンプライアンスの構成解除のみが実行され、autostart resetではコンプライアンスが開始され、デフォルト・スケジューラのみがロードされます。
-autostop unsetの後に-autostart reset autostop unsetでは、コンプライアンスの構成が解除され、変更されていないデフォルト・スケジューラがすべて削除されます。autostart resetでは、コンプライアンスが開始され、デフォルト・スケジューラのみがロードされます。

例2-28 exachk -autostop unset、exachk -autostart resetおよびexachk -get all

# exachk -autostop unset
Removing exachk cache discovery....
Successfully completed exachk cache discovery removal.
Successfully copied Daemon Store to Remote Nodes
 
# exachk -autostart reset
Successfully copied Daemon Store to Remote Nodes
exachk is using TFA Scheduler. TFA PID: 113253
Daemon log file location is : /opt/oracle.ahf/data/test-server/exachk/user_root/output/exachk_daemon.log
 
# exachk -get all
------------------------------------------------------------
Scheduled runs:
------------------------------------------------------------
ID: exachk.autostart_client_exatier1
------------------------------------------------------------
AUTORUN_FLAGS  =  -usediscovery -profile exatier1 -dball -showpass -tag autostart_client_exatier1 -readenvconfig
AUTORUN_SCHEDULE  =  3 2 * * 1,2,3,4,5,6
COLLECTION_RETENTION  =  7
------------------------------------------------------------
------------------------------------------------------------
ID: exachk.autostart_client
------------------------------------------------------------
AUTORUN_FLAGS  =  -usediscovery -tag autostart_client -readenvconfig
AUTORUN_SCHEDULE  =  3 3 * * 0
COLLECTION_RETENTION  =  14
------------------------------------------------------------

例2-29 exachk -autostop unsetおよびexachk -get all

# exachk -autostop unset
Removing exachk cache discovery....
Successfully completed exachk cache discovery removal.
Successfully copied Daemon Store to Remote Nodes
 
# exachk -get all
No scheduler for any ID

例2-30 exachk -autostart resetおよびexachk -get all

# exachk -autostart reset
Successfully copied Daemon Store to Remote Nodes
exachk is using TFA Scheduler. TFA PID: 113253
Daemon log file location is : /opt/oracle.ahf/data/test-server/exachk/user_root/output/exachk_daemon.log
 
# exachk -get all
------------------------------------------------------------
Scheduled runs:
------------------------------------------------------------
ID: exachk.autostart_client_exatier1
------------------------------------------------------------
AUTORUN_FLAGS  =  -usediscovery -profile exatier1 -dball -showpass -tag autostart_client_exatier1 -readenvconfig
AUTORUN_SCHEDULE  =  3 2 * * 1,2,3,4,5,6
COLLECTION_RETENTION  =  7
------------------------------------------------------------
------------------------------------------------------------
ID: exachk.autostart_client
------------------------------------------------------------
AUTORUN_FLAGS  =  -usediscovery -tag autostart_client -readenvconfig
AUTORUN_SCHEDULE  =  3 3 * * 0
COLLECTION_RETENTION  =  14
------------------------------------------------------------