データベース・インスタンス・モニタリングの設定
Oracle Logging Analyticsは、ログ・ソース構成で指定したSQL問合せに基づいてデータベース・インスタンス・レコードを抽出できます。
同じデータベース記憶域を指す複数のデータベース・インスタンスが存在するOracle Real Application Clusters (RAC)の場合は、Oracle Database Instanceではなくエンティティ・タイプOracle Databaseを使用します。SCAN IPを使用してデータベースにアクセスできるリモート・エージェントをインストールします。個々のデータベース・インスタンスに対してSQL問合せを実行するようにエージェント/エージェントを構成しないでください。
前提条件
エージェント・ホストからデータベースへのデータベース接続が機能していることを確認します。データベースとエージェントが同じホスト上にある場合は、sqlplus
、tnsping
またはtrcroute
コマンドを使用して、データベースへの接続をテストします。データベース・ネット・サービス管理者ガイドの接続のテストを参照してください。
データベースとエージェントが同じホスト上にない場合は、エージェント・ホストで次のステップを実行します。
sqlplus
(エージェントにインストールされている場合)- エージェントからデータベースにPingを実行します。これは、ファイアウォールがpingをブロックしないかぎり機能します。pingがブロックされている場合は、次のようになります。
- データベース・ポートを使用してデータベース・サーバーにtelnetで接続して、リスナーが接続を受け入れているかどうかを確認します(たとえば、
telnet <database_server_hostname> 1521
)。
- データベース・ポートを使用してデータベース・サーバーにtelnetで接続して、リスナーが接続を受け入れているかどうかを確認します(たとえば、
データベース・ログ収集の全体的なフロー
次に、データベースに格納されているログ情報を収集するためのタスクの概要を示します:
-
データベースにアクセスできるホストに管理エージェントをインストールします。ホストからの継続的なログ収集の設定を参照してください。
-
データベース・エンティティとソースの関連付け。新しいソースとエンティティのアソシエーションの構成を参照してください。
Oracle Database
Oracle Databaseに含まれるもの
- プラガブル・データベース(PDB)、マルチテナント・コンテナ・データベース(CDB)およびアプリケーション・コンテナ
- Oracle Database Instance
- Oracle Real Application Clusters (RAC)
- Oracle Autonomous Database
- Autonomous Data Warehouse (ADW)
- Autonomous Transaction Processing (ATP)
Oracle Autonomous Databaseの表またはビューからログを収集する方法の例は、『Oracle Autonomous Databaseの表またはビューからのログの収集』(
チュートリアル)を参照してください。
Oracle Logging Analyticsには、Oracle Database用の「データベース」タイプのOracle定義ログ・ソースの大規模なセットが用意されています:
ログ・ソース | エンティティ・タイプ |
---|---|
Oracle DatabaseのAVDFアラート |
Autonomous JSON Database、Oracle Database Instance、Oracle APEX Application DevelopmentによるAutonomous Database、Autonomous Data Warehouse、Oracle Database、Autonomous Transaction Processing |
Oracle DatabaseのAVDFイベント |
Oracle Database Instance、Autonomous Data Warehouse、Oracle Database、Autonomous JSON Database、Oracle APEX Application Developmentを使用したAutonomous Database、Autonomous Transaction Processing |
Identity and Access Management監査データベース |
Oracle Database Instance、Autonomous Transaction Processing、Autonomous JSON Database、Oracle APEX Application Developmentを使用したAutonomous Database、Oracle Database、Autonomous Data Warehouse |
データベースに格納されたOracle DB監査ログ・ソース |
Autonomous Transaction Processing、Oracle Database Instance、Autonomous Data Warehouse、Autonomous JSON Database、Oracle APEX Application Developmentを使用したAutonomous Database、Oracle Database |
Oracle EBSトランザクション・ログ |
Oracle APEX Application Developmentを使用したAutonomous Database、Oracleプラガブル・データベース、Autonomous Transaction Processing、Oracle Database Instance、Autonomous JSON Database、Oracle Database、Autonomous Data Warehouse |
Symantec DLPシステム・イベント |
Autonomous JSON Database、Oracle Database、Autonomous Transaction Processing、Oracle APEX Application Developmentを使用したAutonomous Database、Oracle Database Instance、Autonomous Data Warehouse |
データベース12.1に格納されたOracle統合DB監査ログ・ソース |
Autonomous JSON Database、Oracle Database、Oracle Pluggable Database、Autonomous Data Warehouse、Oracle Database Instance、Autonomous Transaction Processing、Oracle APEX Application Developmentを使用したAutonomous Database |
データベース12.2に格納されたOracle統合DB監査ログ・ソース |
Autonomous JSON Database、Oracle Database Instance、Oracle APEX Application Developmentを使用したAutonomous Database、Oracle Pluggable Database、Oracle Database、Autonomous Data Warehouse、Autonomous Transaction Processing |
データベースに格納されたデータベース・アラート・ログ |
Autonomous JSON Database、Oracle Pluggable Database、Autonomous Transaction Processing、Autonomous Data Warehouse、Oracle APEX Application Developmentを使用したAutonomous Database、Oracle Database Instance、Oracle Database |
データベースに格納されているデータベース・トレース・ログ |
Oracle Database、Oracle APEX Application Developmentを使用したAutonomous Database、Autonomous Data Warehouse、Oracle Database Instance、Autonomous JSON Database、Oracleプラガブル・データベース、Autonomous Transaction Processing |
Oracle Database Health Monitorサービス・ログ |
Autonomous Transaction Processing、Oracle Database、Oracle APEX Application Developmentを使用したAutonomous Database、Oracle Database Instance、Autonomous JSON Database、Autonomous Data Warehouse |
Oracle Databaseデータガード・ログ |
Autonomous Transaction Processing、Autonomous JSON Database、Autonomous Data Warehouse、Oracle Database、Oracle Database Instance、Oracle APEX Application Developmentを使用したAutonomous Database |
Additionally, more oracle-defined log sources of the type File are available for Oracle Database such as Database Alert Logs, Database Audit Logs, Database Audit XML Logs, Database Incident Dump Files, Database Listener Alert Logs, Database Listener Trace Logs, Database Trace Logs, and Database XML Alert Logs.
Microsoft SQL Serverデータベース・インスタンス
- Microsoft SQL Serverデータベース・ソースからログを正常に収集するには、管理エージェントのバージョンが210403.1350または後でであることを確認します。
- Microsoft SQL Serverデータベース・インスタンスの監視は、スタンドアロン管理エージェントのインストールでのみサポートされます。Oracle Cloud Agentの管理エージェント・プラグインではサポートされていません。
Microsoft SQL Serverデータベース・インスタンスの監視には、「データベース」タイプの次のOracle定義ログ・ソースを使用できます。
- McAfeeデータ損失防止エンドポイント
- McAfee ePolicyオーケストレータ
また、「ファイル」タイプのoracle定義ログ・ソースは、Microsoft SQL Serverエージェント・エラー・ログやMicrosoft SQL Serverエラー・ログ・ソースなど、Microsoft SQL Serverデータベース・インスタンスで使用できます。
MySQLデータベース・インスタンス
- MySQL Databaseソースからログを正常に収集するには、管理エージェントのバージョンが210205.0202以降であることを確認します。
- MySQL Databaseインスタンスの監視は、スタンドアロン管理エージェントのインストールでのみサポートされます。Oracle Cloud Agentの管理エージェント・プラグインではサポートされていません。
データベース・タイプの次のOracle定義ログ・ソースは、MySQL Databaseインスタンスのモニタリングに使用できます:
- MySQLデータベースに格納されたエラー・ログ
- データベースに格納されたMySQL一般ログ・ソース
- MySQLデータベースに格納された低速な問合せログ
また、「ファイル」タイプのoracle定義のログ・ソースは、「MySQL Database監査XMLログ」、「MySQLエラー・ログ」、「MySQL一般クエリー・ログ」、「MySQLスロー・クエリー・ログ」など、MySQL Databaseインスタンスで使用できます。
MySQLデータベース・インスタンスでリモート収集を実行するには、データベース・インスタンスで次の構成を実行する必要があります:
-
管理エージェントがインストールされている特定のホストからのアクセスを許可するには:
-
指定したパスワードで認証される新しいアカウントを作成します:
CREATE USER '<mysql_user>'@'<host_name>' IDENTIFIED BY '<password>';
-
ホスト
host_name
上のmysql_user
ユーザーに、すべてのデータベースに対する読取り権限を割り当てます:GRANT SELECT ON *.* TO '<mysql_user>'@'<host_name>' WITH GRANT OPTION;
-
コマンドを発行して、ユーザー権限の更新を保存します:
FLUSH PRIVILEGES;
-
-
任意のホストからの特定のデータベースに対するアクセスを許可するには:
-
任意の有効なホストの
mysql_user
に読取り権限を付与します:GRANT SELECT ON <database_name>.* TO '<mysql_user>'@'%' WITH GRANT OPTION;
-
コマンドを発行して、ユーザー権限の更新を保存します:
FLUSH PRIVILEGES;
-
PostgreSQLデータベース
- PostgreSQLデータベース・ソースからのログ収集に成功するには、データベース・ホストに管理エージェント・バージョン250121.1929または以降をインストールしてください。
- PostgreSQLデータベースの監視は、スタンドアロン管理エージェントのインストールでのみサポートされます。Oracle Cloud Agentの管理エージェント・プラグインではサポートされていません。
PostgreSQLデータベースの監視には、「ファイル」タイプの次のOracle定義のログ・ソースを使用できます。
- OCI PostgreSQLサービス・ログ
- PostgreSQLログ
データベース・エンティティの作成 🔗
データベース・エンティティを作成し、データベース・インスタンスを参照してそこからのログ収集を有効にします。管理エージェントを使用してログを収集する場合は、管理エージェントのインストール後にここに戻り、エンティティのエージェント・モニタリングを構成する必要があります。
-
ナビゲーション・メニューを開き、「監視および管理」をクリックします。「ログ・アナリティクス」で、「管理」をクリックします。「管理の概要」ページが開きます。
-
管理リソースが、左側のナビゲーション・ペインの「リソース」の下にリストされます。「エンティティ」をクリックします。
-
左側のコンパートメント・セレクタが、この新しいエンティティの目的のコンパートメントを示していることを確認します。
「作成」をクリックします。
-
データベース・インスタンスに適したエンティティ・タイプを選択します(Oracle Databaseインスタンスなど)。
エンティティの名前を指定します。
-
エージェントがインストールされている管理エージェント・コンパートメントを選択し、ログを収集できるようにデータベース・エンティティに関連付ける管理エージェントを選択します。
または、最初にエンティティを作成し、後で編集して、管理エージェントのインストール後にそのエージェントのOCIDを指定できます。
ノート
-
MySQL Databaseインスタンス、Microsoft SQL ServerデータベースおよびPostgreSQLデータベースのモニタリングは、スタンドアロン管理エージェントのインストールでのみサポートされます。Oracle Cloud Agentの管理エージェント・プラグインではサポートされていません。
-
Microsoft SQL Serverデータベースを確実にサポートするため、管理エージェントのバージョン210403.1350以降を使用してデータベース・ホストにインストールしてください。
-
MySQL Databaseインスタンス・ソースからログを正常に収集するには、管理エージェントのバージョンが210205.0202以降であることを確認します。
-
PostgreSQLデータベース・サポートを保証するため、管理エージェントのバージョン250121.1929または以降を使用してデータベース・ホストにインストールしてください。
-
-
データベース・インスタンスにクラウド・リソースIDがある場合は、そのOCIDを指定します。OCIDが指定されていて、データベースがデータベース管理に対して有効になっている場合は、ログ・エクスプローラで使用可能なオプションのヘルプを使用してデータベース管理で表示できます。データベース管理サービスでのデータベース・エンティティの表示を参照してください。
-
SQLを取り込むには、Oracle Database (RACデプロイメント用)、Oracle Database InstanceまたはOracle Pluggable Databaseの場合に、次のプロパティを指定します。
port
hostname
sid
またはservice_name
両方の値を指定すると、ログ・アナリティクスでは、
service_name
がSQLの収集に使用されます。
Microsoft SQL Serverデータベース・インスタンス、MySQL DatabaseソースおよびPostgreSQLデータベースからのログ収集では、次のプロパティを指定します。
database_name
host_name
port
Oracle定義のログ・ソースを使用して管理エージェントからログを収集する場合は、選択したエンティティ・タイプにすでに定義されているパラメータ値を指定することをお薦めします。パラメータ値を指定しない場合、ソースをこのエンティティに関連付けようとすると、パラメータ値の欠落が原因で失敗します。
「保存」をクリックします。
データベース・ソースの作成 🔗
-
ナビゲーション・メニューを開き、「監視および管理」をクリックします。「ログ・アナリティクス」で、「管理」をクリックします。「管理の概要」ページが開きます。
-
管理リソースが、左側のナビゲーション・ペインの「リソース」の下にリストされます。「ソース」をクリックします。
-
「ソース」ページで、「ソースの作成」をクリックします。
「ソースの作成」ダイアログ・ボックスが表示されます。
-
「ソース」フィールドに、ソースの名前を入力します。
-
「ソース・タイプ」リストから、「データベース」を選択します。
-
「エンティティ・タイプ」をクリックして、必要なエンティティ・タイプを選択します。たとえば、Oracle Databaseインスタンス、Oracleプラガブル・データベース、Microsoft SQL Serverデータベース・インスタンスまたはMySQLデータベース・インスタンス。
-
「データベース問合せ」タブで「追加」をクリックし、Oracle Logging Analyticsインスタンスがデータベース・インスタンス・ログを収集する基準となるSQL問合せの詳細を指定します。
SQL問合せのガイドラインを参照してください。
-
「構成」をクリックして、「列マッピングの構成」ダイアログ・ボックスを表示します。
-
「列マッピングの構成」ダイアログ・ボックスで、SQLフィールドを、実際のログ・レコードに表示されるフィールド名にマップします。マッピング用の新しいフィールドを作成するには、
アイコンをクリックします。
順序列を指定します。このフィールドの値によって、表に挿入されるレコードの順序が決まります。これには一意の増分値が必要です。フィールドでレコードの順序を決定しない場合は、「SQL問合せ収集時間」を選択して、収集時間をログ・エントリ時間として使用できます。その場合、すべてのログ・レコードが収集サイクルごとに再収集されます。
ノート
データ型が
Timestamp
の最初のマップ済フィールドは、ログ・レコードのタイムスタンプとして使用されます。そのようなフィールドが存在しない場合、ログ・レコードの時間として収集時間が使用されます。ログ・ソースの作成後に初めてログが収集される場合(履歴ログ収集):
-
SQL問合せのフィールドが
Time
フィールドにマップされている場合、そのフィールドの値は、過去30日間のログ・レコードをアップロードするための参照として使用されます。 -
SQL問合せのどのフィールドも
Time
フィールドにマップされていない場合、最大10,000,000レコードがアップロードされます。
「完了」をクリックします。
-
-
複数のSQL問合せを追加するには、ステップ6からステップ8までを繰り返します。
-
各SQL問合せの「有効」を選択し、「保存」をクリックします。
データベース・エンティティ資格証明の提供 🔗
-
管理エージェントがインストールされているホストにログインします。
-
DBCreds
タイプの資格証明JSON入力ファイルを作成します。たとえば、agent_dbcreds.json
:cat agent_dbcreds.json { "source": "lacollector.la_database_sql", "name": "LCAgentDBCreds.<entity_name>", "type": "DBCreds", "usage": "LOGANALYTICS", "disabled": "false", "properties": [ { "name": "DBUserName", "value": "CLEAR[username]" }, { "name": "DBPassword", "value": "CLEAR[password]" }, { "name": "DBRole", "value": "CLEAR[normal]" } ] }
前述の例の
agent_dbcreds.json
のように、入力ファイルに次のプロパティを指定する必要があります:- source: "lacollector.la_database_sql"
- name: "LCAgentDBCreds.<entity_name>"
entity_name
は、エンティティの作成時に入力した「名前」フィールドの値です。 - type: "DBCreds"
- usage: "LOGANALYTICS"
- properties: ユーザー名、パスワードおよびロール。ロールはオプションです。
-
upsertCredentials
操作とともにcredential_mgmt.sh
スクリプトを使用して、エージェントの資格証明ストアに資格証明を追加します:構文:
$cat <input_file> | sudo -u mgmt_agent /opt/oracle/mgmt_agent/agent_inst/bin/credential_mgmt.sh -o upsertCredentials -s <service_name>
前述のコマンドで:
- 入力ファイル: 資格証明パラメータを含む入力JSONファイル(
agent_dbcreds.json
など)。 - サービス名: エージェントにデプロイされたOracle Logging Analyticsプラグインの名前として
logan
を使用します。
2つのパラメータの例の値を使用すると、コマンドは次のようになります:
$cat agent_dbcreds.json | sudo -u mgmt_agent /opt/oracle/mgmt_agent/agent_inst/bin/credential_mgmt.sh -o upsertCredentials -s logan
資格証明が正常に追加されたら、入力JSONファイルを削除できます。
管理エージェント資格証明ストアでの資格証明の管理の詳細は、管理エージェント・ドキュメントの管理エージェントのソース資格証明を参照してください。
- 入力ファイル: 資格証明パラメータを含む入力JSONファイル(
データベース管理サービスでのデータベース・エンティティの表示 🔗
データベースがデータベース管理に対して有効になっており、クラウド・リソースOCIDが関連付けられている場合、ログ・アナリティクスでは、ログ・エクスプローラで使用可能なオプションを使用してデータベース管理で表示できます。
データベースのデータベース管理を有効にするには、OCIドキュメント: データベース管理の有効化を参照してください。
-
ナビゲーション・メニューを開き、「監視および管理」をクリックします。「Logging Analytics」で、「Log Explorer」をクリックします。
-
オプションで、データベース・タイプのいずれかである必要があるエンティティ・タイプ別にログの検索を絞り込みます。「フィールド」パネルの「ピン留め」セクションで、「エンティティ・タイプ」をクリックします。「エンティティ・タイプ」ダイアログ・ボックスで、必要なエンティティ・タイプ(
Oracle Database Instance
など)を選択し、「適用」をクリックします。 -
「ビジュアル化」パネルから、レコード表を表示するビジュアライゼーション・オプションの1つを選択します(たとえば、「ヒストグラム付きレコード」)。
次に、ログがヒストグラム付きレコード・ビジュアライゼーションに表示されます。records表の各ログ・レコードの下に、エンティティ名、ログ・ソースおよびエンティティ・タイプに関する情報が表示されます。
-
エンティティの名前をクリックします。メニューから、「データベース管理で表示」をクリックします。
データベースのコンテキストにデータベース管理サービス・コンソールを含む新しいタブが表示されます。