データベース・インスタンス・モニタリングの設定

Oracle Logging Analyticsは、ログ・ソース構成で指定したSQL問合せに基づいてデータベース・インスタンス・レコードを抽出できます。

サポートされるデータベースのタイプ、使用可能なOracle定義ログ・ソースおよびそれらのデータベースに固有の手順については、次を参照してください:

データベース・ログ収集の全体的なフロー

次に、データベースに格納されているログ情報を収集するためのタスクの概要を示します:

Oracle Database

Oracle Databaseの

  • プラガブル・データベース(PDB)、マルチテナント・コンテナ・データベース(CDB)、およびアプリケーション・コンテナ
  • Oracle Database Instance
  • 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アラート

Oracle Databaseインスタンス

Oracle DatabaseのAVDFイベント

Oracle Databaseインスタンス

Identity and Access Management監査データベース

Oracle Databaseインスタンス

データベースに格納されたOracle DB監査ログ・ソース

Oracle Databaseインスタンス

Oracle EBSトランザクション・ログ

Oracleプラガブル・データベース、Oracle Database Instance

Symantec DLPシステム・イベント

Oracle Databaseインスタンス

データベース12.1に格納されたOracle統合DB監査ログ・ソース

Oracleプラガブル・データベース、Oracle Database Instance

データベース12.2に格納されたOracle統合DB監査ログ・ソース

Oracleプラガブル・データベース、 Autonomous Data Warehouse、 Oracle Database Instance、 Autonomous Transaction Processing

データベースに格納されたデータベース・アラート・ログ

Autonomous Data Warehouse、Oracle Pluggable Database、Autonomous Transaction Processing、Oracle Database Instance

データベースに格納されたデータベース・トレース・ログ

Autonomous Data Warehouse、Oracle Database Instance、Oracle Pluggable Database、Autonomous Transaction Processing

Oracle Database Health Monitorサービス・ログ

Oracle Database Instance、Autonomous Transaction Processing

Oracle Databaseデータガード・ログ

Oracle Database Instance、Autonomous Transaction Processing

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の管理エージェント・プラグインではサポートされていません。

「データベース」タイプのOracle定義ログ・ソースは、Microsoft SQL Serverデータベース・インスタンスのモニタリングに使用できます:

  • McAfeeデータ損失防止エンドポイント
  • McAfee ePolicyオーケストレータ

また、「ファイル」タイプの、より多くのoracle定義ログ・ソースをMicrosoft SQL Serverデータベース・インスタンス(Microsoft SQL Serverエージェントのエラー・ログおよびMicrosoft SQL Serverエラー・ログ・ソースなど)で使用できます。

MySQL Databaseインスタンス

ノート

  • MySQL Databaseソースからログを正常に収集するには、管理エージェントのバージョンが210205.0202以降であることを確認してください。
  • MySQL Databaseインスタンスのモニタリングは、スタンドアロン管理エージェントのインストールでのみサポートされます。Oracle Cloud Agentの管理エージェント・プラグインではサポートされていません。

「データベース」タイプのOracle定義ログ・ソースは、MySQL Databaseインスタンスのモニタリングに使用できます:

  • MySQLデータベースに格納されるエラー・ログ
  • データベースに格納されたMySQL一般ログ・ソース
  • MySQLデータベースに格納された低速問合せログ

さらに、「ファイル」タイプのoracle定義ログ・ソースが「MySQL Database Audit XML Logs」MySQL Error LogsMySQL General Query LogsMySQL Slow Query LogsなどのMySQL Databaseインスタンスで使用可能です。

MySQLデータベース・インスタンスでリモート収集を実行するには、データベース・インスタンスで次の構成を実行する必要があります:

  1. 管理エージェントがインストールされている特定のホストからのアクセスを許可するには:

    1. 指定したパスワードで認証される新しいアカウントを作成します:

      CREATE USER '<mysql_user>'@'<host_name>' IDENTIFIED BY '<password>';
    2. ホストhost_name上のmysql_userユーザーに、すべてのデータベースに対する読取り権限を割り当てます:

      GRANT SELECT ON *.* TO '<mysql_user>'@'<host_name>' WITH GRANT OPTION;
    3. コマンドを発行して、ユーザー権限の更新を保存します:

      FLUSH PRIVILEGES;
  2. 任意のホストからの特定のデータベースに対するアクセスを許可するには:

    1. 任意の有効なホストのmysql_userに読取り権限を付与します:

      GRANT SELECT ON <database_name>.* TO '<mysql_user>'@'%' WITH GRANT OPTION;
    2. コマンドを発行して、ユーザー権限の更新を保存します:

      FLUSH PRIVILEGES;

データベース・エンティティの作成

データベース・エンティティを作成し、データベース・インスタンスを参照してそこからのログ収集を有効にします。管理エージェントを使用してログを収集する場合は、管理エージェントのインストール後にここに戻り、エンティティのエージェント・モニタリングを構成する必要があります。

  1. ナビゲーション・メニューを開き、「監視および管理」をクリックします。「ログ・アナリティクス」で、「管理」をクリックします。「管理の概要」ページが開きます。

  2. 管理リソースが、左側のナビゲーション・ペインの「リソース」の下にリストされます。「エンティティ」をクリックします。

  3. 左側のコンパートメント・セレクタが、この新しいエンティティの目的のコンパートメントを示していることを確認します。

    「作成」をクリックします。

  4. データベース・インスタンスに適したエンティティ・タイプを選択します(Oracle Databaseインスタンスなど)。

    エンティティの名前を指定します。

  5. エージェントがインストールされている管理エージェント・コンパートメントを選択し、ログを収集できるようにデータベース・エンティティに関連付ける管理エージェントを選択します。

    または、最初にエンティティを作成し、後で編集して、管理エージェントのインストール後にそのエージェントのOCIDを指定できます。

    ノート

    • MySQL DatabaseインスタンスおよびMicrosoft SQL Serverデータベースのモニタリングは、スタンドアロンの管理エージェントのインストールでのみサポートされます。Oracle Cloud Agentの管理エージェント・プラグインではサポートされていません。

    • 管理エージェントのバージョン210403.1350または以降を使用して、Microsoft SQL Serverデータベースを確実にサポートしてください。

    • MySQL Databaseインスタンス・ソースからログを正常に収集するには、管理エージェントのバージョンが210205.0202以降であることを確認してください。

  6. データベース・インスタンスにクラウド・リソースIDがある場合は、そのOCIDを指定します。OCIDが指定され、データベースがデータベース管理に対して有効になっている場合は、ログ・エクスプローラで使用可能なオプションを使用してデータベース管理で表示できます。データベース管理サービスのデータベース・エンティティの表示を参照してください。

  7. SQLを収集するには、Oracle DatabaseインスタンスまたはOracleプラガブル・データベースの場合に次のプロパティを指定します:

    • port
    • hostname
    • sidまたはservice_name

      両方の値を指定すると、ログ・アナリティクスでは、service_nameがSQLの収集に使用されます。

    Microsoft SQL Serverデータベース・インスタンスおよびMySQLデータベース・ソースからのログ収集の場合、次のプロパティを指定します:

    • database_name
    • host_name
    • port

    Oracle定義のログ・ソースを使用して管理エージェントからログを収集する場合は、選択したエンティティ・タイプにすでに定義されているパラメータ値を指定することをお薦めします。パラメータ値を指定しない場合、ソースをこのエンティティに関連付けようとすると、パラメータ値の欠落が原因で失敗します。

    「保存」をクリックします。

データベース・ソースの作成

  1. ナビゲーション・メニューを開き、「監視および管理」をクリックします。「ログ・アナリティクス」で、「管理」をクリックします。「管理の概要」ページが開きます。

  2. 管理リソースが、左側のナビゲーション・ペインの「リソース」の下にリストされます。「ソース」をクリックします。

  3. 「ソース」ページで、「ソースの作成」をクリックします。

    「ソースの作成」ダイアログ・ボックスが表示されます。

  4. 「ソース」フィールドに、ソースの名前を入力します。

  5. 「ソース・タイプ」リストから、「データベース」を選択します。

  6. 「エンティティ・タイプ」をクリックして、必要なエンティティ・タイプを選択します。たとえば、Oracle DatabaseインスタンスOracleプラガブル・データベースMicrosoft SQL Serverデータベース・インスタンスまたはMySQLデータベース・インスタンス

  7. 「データベース問合せ」タブで「追加」をクリックし、Oracle Logging Analyticsインスタンスがデータベース・インスタンス・ログを収集する基準となるSQL問合せの詳細を指定します。

    SQL問合せのガイドラインを参照してください。

  8. 「構成」をクリックして、「列マッピングの構成」ダイアログ・ボックスを表示します。

  9. 「列マッピングの構成」ダイアログ・ボックスで、SQLフィールドを、実際のログ・レコードに表示されるフィールド名にマップします。マッピング用の新しいフィールドを作成するには、「追加」アイコンアイコンをクリックします。

    順序列を指定します。このフィールドの値によって、表に挿入されるレコードの順序が決まります。これには一意の増分値が必要です。フィールドでレコードの順序を決定しない場合は、「SQL問合せ収集時間」を選択して、収集時間をログ・エントリ時間として使用できます。その場合、すべてのログ・レコードが収集サイクルごとに再収集されます。

    ノート

    データ型がTimestampの最初のマップ済フィールドは、ログ・レコードのタイムスタンプとして使用されます。そのようなフィールドが存在しない場合、ログ・レコードの時間として収集時間が使用されます。

    ログ・ソースの作成後に初めてログが収集される場合(履歴ログ収集):

    • SQL問合せのフィールドがTimeフィールドにマップされている場合、そのフィールドの値は、過去30日間のログ・レコードをアップロードするための参照として使用されます。

    • SQL問合せのどのフィールドもTimeフィールドにマップされていない場合、最大10,000,000レコードがアップロードされます。

    「完了」をクリックします。

  10. 複数のSQL問合せを追加するには、ステップ6からステップ8までを繰り返します。

  11. 各SQL問合せの「有効」を選択し、「保存」をクリックします。

データベース・エンティティ資格証明の提供

データベース・ログ・ソースで定義されているデータの収集に使用されるエンティティごとに、そのエンティティに接続してSQL問合せを実行するために必要な資格証明をエージェントに提供します。これらの資格証明は、クラウド・エージェントによってローカルで管理されている資格証明ストアに登録する必要があります。資格証明は、エンティティからログ・データを収集するためにクラウド・エージェントによって使用されます。
  1. 管理エージェントがインストールされているホストにログインします。

  2. 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: ユーザー名、パスワードおよびロール。ロールはオプションです。
  3. 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ファイルを削除できます。

    管理エージェント資格証明ストアでの資格証明の管理の詳細は、管理エージェント・ドキュメント管理エージェントのソース資格証明を参照してください。

データベース管理サービスでのデータベース・エンティティの表示

データベースがデータベース管理に対して有効になっており、クラウド・リソースOCIDが関連付けられている場合、ログ・アナリティクスでは、ログ・エクスプローラで使用可能なオプションを使用してデータベース管理で表示できます。

データベースのデータベース管理を有効にするには、OCIドキュメント: データベース管理の有効化を参照してください。

  1. ナビゲーション・メニューを開き、「監視および管理」をクリックします。「Logging Analytics」で、「Log Explorer」をクリックします。

  2. オプションで、データベース・タイプのいずれかである必要があるエンティティ・タイプ別にログの検索を絞り込みます。「フィールド」パネルの「固定」セクションで、「エンティティ・タイプ」をクリックします。「エンティティ・タイプ」ダイアログ・ボックスで、必要なエンティティ・タイプ(Oracle Database Instanceなど)を選択し、「適用」をクリックします。

  3. 「ビジュアル化」パネルから、レコード表を表示するビジュアライゼーション・オプション(ヒストグラム付きレコードなど)のいずれかを選択します。

    その後、ログはヒストグラム付きのレコード・ビジュアライゼーションに表示されます。レコード表の各ログ・レコードの下に、エンティティ名、ログ・ソースおよびエンティティ・タイプに関する情報が表示されます。

  4. エンティティの名前をクリックします。メニューから、「データベース管理で表示」をクリックします。

データベースのコンテキストにデータベース管理サービス・コンソールが表示された新しいタブが表示されます。