管理エージェントの拡張構成オプション

エージェント・プロパティの変更

コンソールを使用して、ロギング・アナリティクスのログ・コレクションのエージェント・プロパティを様々な階層レベル(テナント・レベルが最高)で設定できます。

エージェント・プロパティは、階層の順序でリストされた次のレベルのいずれかで設定できます。エージェントのプロパティを編集するナビゲーション手順については、レベルの横のリンクに従ってください。
ノート

上位レベルで適用されるプロパティ値は、すべての下位レベルに適用されます。同じプロパティが複数のレベルで設定されている場合、下位レベルで設定されたエージェント・プロパティが優先されます。

前述のすべてのレベルで、各レベル・タイプの対応するセクションのステップに従って、そのソース・タイプのエージェント・プロパティがリストされるダイアログ・ボックスに移動します。ダイアログボックスのテーブルには、各プロパティーの現在の値が表示されます。情報アイコン情報アイコンにカーソルを置くと、デフォルト値が何であるかがわかります。

  • 「新しい値」フィールドに、変更するプロパティの新しい値を入力します。値のデータ型が指定どおりであることを確認します。各ソース・タイプおよび対応するデータ型について変更できるプロパティのリストは、変更可能なエージェント・プロパティを参照してください。

  • プロパティをデフォルト値に変更するには、「アクション」アイコン「アクション」メニュー・アイコンをクリックし、「デフォルトにリセット」を選択します。

  • プロパティの現在の値をクリアするには、「アクション」アイコン「アクション」メニュー・アイコンをクリックし、「現在の値のクリア」を選択します。現在の値をクリアすると、新しい値が継承されます。現在の変更を保存してこのダイアログ・ボックスを再開すると、新しい値が表に表示されます。

  • 変更を保存

テナンシ・レベルのエージェント・プロパティの変更

このレベルで行った変更は、テナンシ全体のエージェントに反映されます。

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

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

  3. 「グローバル・エージェント・コレクションのプロパティ」の横にある「編集」をクリックします。「グローバル・エージェント・コレクション・プロパティの編集」ダイアログ・ボックスがオープンします。

  4. 「ソース・タイプ」を選択します。選択したソース・タイプに応じて、変更可能なプロパティが表にリストされます。

エージェント・レベルでのエージェント・プロパティの変更

このレベルで行った変更は、特定のエージェントによって管理されるエンティティおよびソースに反映されます。

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

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

    「エンティティ」ページが開きます。タイプを管理エージェントとして指定して、エンティティをフィルタします。

    エージェント・エンティティがリストされます。

  3. エージェント・エンティティの名前をクリックします。「エンティティ詳細」ページが開きます。

  4. 「グローバル・エージェント・コレクションのプロパティ」の横にある「編集」をクリックします。「ソース・タイプ」を選択します。そのソース・タイプに対して変更できるエージェント・プロパティが表にリストされます。

特定のソースのエージェント・プロパティの変更

このレベルで行った変更は、このソースとソース・パターンに関連付けられているすべてのエンティティに反映されます。

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

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

    「ソース」ページが開きます。ソースの横にある「アクション」メニュー・アイコン「アクション」メニュー・アイコンをクリックし、「編集」を選択します。

    「ソースの編集」ページが表示されます。

  3. 「エージェント・コレクション・プロパティの表示」をクリックします。そのソース・タイプに対して変更できるエージェント・プロパティが表にリストされます。

ユーザー作成ソース・パターンのエージェント・プロパティの変更

このレベルで行った変更は、このソースに関連付けられている、ユーザーが作成した特定のソース・パターンを使用するすべてのエンティティに反映されます。

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

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

    「ソース」ページが開きます。ソースの横にある「アクション」メニュー・アイコン「アクション」メニュー・アイコンをクリックし、「編集」を選択します。

    「ソースの編集」ページが表示されます。

  3. ソースのユーザー作成パターンの横にある「アクション」アイコン「アクション」メニュー・アイコンをクリックし、「コレクション・プロパティの編集」をクリックします。そのソース・タイプに対して変更できるエージェント・プロパティが表にリストされます。

エンティティのエージェント・プロパティの変更

このレベルで行った変更は、特定のエージェント・エンティティと、エージェント・エンティティとソースの関連付けを反映します。

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

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

    「エンティティ」ページが開きます。タイプを管理エージェントとして指定して、エンティティをフィルタします。

    エージェント・エンティティがリストされます。

  3. エージェント・エンティティの名前の横にある「アクション」メニュー・アイコン「アクション」アイコンをクリックし、「編集」をクリックします。「エンティティの編集」ダイアログ・ボックスが開きます。

  4. 「エージェント・コレクション・プロパティの表示」をクリックします。「ソース・タイプ」を選択します。そのソース・タイプに対して変更できるエージェント・プロパティが表にリストされます。

ソース・エンティティ・アソシエーション・レベルのエージェント・プロパティの変更

このレベルで行った変更は、ソースに関連付けられた特定のエージェント・エンティティに反映されます。

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

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

    「ソース」ページが開きます。ソースの名前をクリックして、ソースの詳細ページを開きます。

    ソースに関連付けられたエージェント・エンティティが表にリストされます。

  3. エージェント・エンティティの名前の横にある「アクション」メニュー・アイコン「アクション」アイコンをクリックし、「アソシエーションの編集」をクリックします。「アソシエーションの編集」ダイアログ・ボックスが開きます。

  4. 「エージェント・コレクション・プロパティの表示」をクリックします。そのソース・タイプに対して変更できるエージェント・プロパティが表にリストされます。

変更できるエージェント・プロパティ

プロパティ サポートされているソース・タイプ データ型 適用可能レベル 説明 値の範囲
タイムゾーン ファイル、データベース、Oracle Diagnostic Log (ODL)、REST API 文字列 すべてのレベル java.util.TimeZoneでサポートされている形式のタイムゾーン値。例: GMT。このプロパティが指定されていない場合、エージェントはログ・ファイルの内容からそのプロパティを特定しようとします。それ以外の場合は、エージェントのタイムゾーン(デフォルトではGMT)が選択されます。 サポートされる形式のタイムゾーン値 java.util.TimeZone
メタデータ ファイル、データベース、Oracle Diagnostic Log (ODL)、REST API、Syslogリスナー JSON すべてのレベル 各ログ・エントリにアタッチするメタデータ。例: {"accounts":["hr", "finance"], "status":["enabled"]} 最大1024文字
大規模ディレクトリ監視の有効化 ファイル、Oracle Diagnostic Log (ODL) Boolean テナント、エージェント 大きなディレクトリの処理を有効にします。例: false -
文字セット・エンコーディング ファイル、Oracle Diagnostic Log (ODL) 文字列 すべてのレベル ログ・コンテンツの文字セット。例: UTF-8。このプロパティが指定されていない場合、エージェントはログ・ファイルの内容からそのプロパティを特定しようとします。 Java 8によるjava.nio APIの正規名。Supported Encodingsを参照してください。
SQLNET.ALLOWED_LOGON_VERSION Database 文字列 テナント、エージェント、エンティティ 例: 12 有効な値: 812
最大経過日数 Database Integer すべてのレベル 1つのログ収集サイクルでフェッチする古い行の最大数。例: 1000000 ゼロを含む正数
ステータス・クリーンアップ時間ウィンドウ REST API Integer テナント、エージェント クリーニングする古いステータス・ファイルの量を示す時間ウィンドウ。書式: ISO 8601。例: P7D ゼロより大きい
履歴データ REST API 文字列 テナント、エージェント、エンティティ

フェッチする古いレコードの数を表す時間。書式: ISO 8601。例: P30D

数値のみを指定した場合、エージェントはデフォルトで日数に設定されます。例: 30は、デフォルトで30dに設定されます。

履歴データは、ログ・ルール・レベルでエンティティとして指定できます

過去30日間のデータ収集の日数を指定するには: 30d。時間(h)および分(m)を指定することもできます。例: 12h30m"yyyy-MM-dd'T'HH:mm:ss.SSSZ"の形式で正確なタイムスタンプを指定することもできます。例: 2001-07-04T12:08:56.100-0700

重複レコードのフィルタ使用可能 REST API Boolean すべてのレベル 重複のフィルタリングを有効にします。例: true -
最大ログ・レコード長 Syslogリスナー Integer すべてのレベル syslogメッセージの最大ログ長(KB)。例: 64 1-640

ファイルのタイムゾーンおよび文字エンコーディングの手動指定

エージェント・インストール・フォルダの構成プロパティを編集して、ログ・ファイルのプロパティを手動で指定できます。

このタスクは、Windowsイベント以外のすべてのログに対して実行できます。

  1. 特定のパターンまたはログ・ソース(あるいはその両方)にプロパティを適用する場合、そのパターンIDとソースIDを書き留めます。エージェント・インストール・フォルダagent_inst/state/laStorage/os_file/os_file.xmlの下の構成xmlファイルを開きます。

    • パターンIDの例: <Pattern id="495071102827757094" name="/tmp/w*.mgr" include="true">
    • ソースIDの例: <LogSource id="-2574377491167724513" name="SS Concurrent Manager Logs" sourceType="os_file"/>

    エージェントのインストール・フォルダの場所は、ソース・タイプによって異なります。たとえば、SQLデータベースの場所はagent_inst/state/laStorage/database_sql/database_sql.xmlです。

  2. プロパティ・ファイルemd.propertiesagent_inst/config/emd.propertiesの場所で編集し、次のプロパティを追加してOracle Logging Analyticsのデフォルト構成をオーバーライドします:

    loganalytics.src.override_config=true
        
  3. 次のいずれかの例から選択して、ファイルemd.propertiesでタイムゾーンのtzおよび文字エンコーディングのencプロパティを指定します:

    • すべてのソースおよびパターンにプロパティを適用します:

      loganalytics.src.addl_src_ptn_configs=tz=UTC,enc=EUC-JP
    • 特定のログ・ソースにのみプロパティを適用します:

      loganalytics.src.addl_src_ptn_configs=srcid=-2574377491167724513,tz=UTC,enc=EUC-JP;srcid=-2574377491167724512,enc=UTF-8

      この例で、タイムゾーンのUTCおよび文字エンコーディングのEUC-JPプロパティはソース-2574377491167724513に適用され、文字エンコーディングのプロパティUTF-8はソース-2574377491167724512に適用されます。

    • 特定のパターンにのみプロパティを適用します:

      loganalytics.src.addl_src_ptn_configs=ptnid=495071102827757094,tz=UTC,enc=EUC-JP;ptnid=495071102827757095,enc=UTF-8

      この例で、タイムゾーンのUTCおよび文字エンコーディングのEUC-JPプロパティはパターン495071102827757094に適用され、文字エンコーディングのプロパティUTF-8はパターン495071102827757095に適用されます。

    • 特定のパターンとソースの組合せにのみプロパティを適用します:

      loganalytics.src.addl_src_ptn_configs=srcid=-2574377491167724513,ptnid=495071102827757094,tz=UTC,enc=EUC-JP;srcid=-2574377491167724513,ptnid=495071102827757095,enc=UTF-8

      この例で、タイムゾーンのUTCおよび文字エンコーディングのEUC-JPプロパティはパターン495071102827757094とソース-2574377491167724513を含むログに適用され、文字エンコーディングのプロパティUTF-8はパターン495071102827757095とソース-2574377491167724513を含むログに適用されます。

データベースSQL収集スケジュールの構成

次に示す形式でCSVファイルに周期を指定することで、各データベース・ログ・ソースのSQL収集スケジュールをカスタマイズできます。

  1. データベース・ホストの管理エージェントまたはOracle Cloud Agentのインストール・ディレクトリ(agent_instなど)に移動します。エージェント・インストール・ディレクトリにディレクトリlaconfigを作成します。

  2. laconfigディレクトリに、CSVファイルlogan_schedule_database_sql_*.csvを作成します。これはスケジュール構成ファイルです。

  3. スケジュール構成ファイルで、次の形式でソース・スケジュールの詳細を指定します。

    NAME,RECURRENCE_PATTERN_UNIT,RECURRENCE_PATTERN_VALUE,START_HOUR
    <Source-Name>,DAY,1,1

    ヘッダー行には、規定のコンテンツ(NAME,RECURRENCE_PATTERN_UNIT,RECURRENCE_PATTERN_VALUE,START_HOUR)が必要です。

    後続の行で、ソースごとに行ごとに1つずつスケジュールを指定します。

    ヘッダー行パラメータとその値:

    ヘッダー行パラメータ 説明 許可された値

    NAME

    Oracle Logging Analyticsで定義されたデータベース・ログ・ソースの名前。

    任意

    RECURRENCE_PATTERN_UNIT

    これは、分や日など、SQLコレクションの間隔の単位です。

    WEEKおよびMONTHには、:で区切られた複数の値を指定できます

    • MIN: 分
    • HOUR: 時間
    • DAY: 日数
    • WEEK: 週数
    • MONTH: 月

    RECURRENCE_PATTERN_VALUE

    選択したパターン単位の値。

    • MIN: 間隔5分、15
    • HOUR: 間隔1時間
    • DAY: 日次実行(1または12)
    • WEEK: SUN, MON, TUE, WED, THU, FRI, SAT
    • MONTH: 日付1から31、月のLAST

    START_HOUR

    SQL収集の開始時間(0100時間、1200時間など)。

    この値を指定しない場合、SQLコレクションはソースとエンティティの関連付けの直後に開始されます。値が指定されていない場合でも、スケジュールが有効になるには、前述のカンマが行に存在する必要があります。

    1または12

  4. CSVファイルを保存した後、エージェントを再起動します。

スケジュール構成の値の例を次に示します。

ソース行コンテンツ 説明

<Source-Name>,MIN,5,

ソースとエンティティの関連付け時間から5分ごとにSQL問合せをスケジュールします。

<Source-Name>,HOUR,1,

SQL問合せは、ソースとエンティティの関連付け時間から1時間ごとにスケジュールします。

<Source-Name>,DAY,1,1

SQL問合せを毎日0100時間のシステム時間にスケジュールします。

<Source-Name>,DAY,1,12

SQL問合せを毎日1200時間のシステム時間にスケジュールします。

<Source-Name>,WEEK,FRI,1

SQL問合せを毎週金曜日のシステム時間0100時間にスケジュールします。

<Source-Name>,WEEK,WED:THU,1

SQL問合せを毎週水曜日と木曜日のシステム時間0100時間にスケジュールします。

<Source-Name>,MONTH,7,1

SQL問合せを毎月日付7の0100時間のシステム時間にスケジュールします。

<Source1-Name>,MIN,5,

<Source2-Name>,DAY,1,1

最初にSource1をエンティティに関連付け、ログ収集の開始を待機してから、同じエンティティとのSource2の関連付けを追加して構成を更新します。

ラージ・フォルダからのログ収集の有効化

10,000を超えるファイルを含むフォルダでは、管理エージェントによるリソース(メモリー/ストレージ/CPU)使用率が高いことが原因で、ログ収集が遅くなり、管理エージェントの他の機能に影響し、ホスト・マシンの速度が低下する可能性があります。

管理エージェント・ログ・分析プラグインで大きなフォルダが検出されると、次の例のようなメッセージが管理エージェントmgmt_agent_logan.logファイルに追加されます:

2020-07-30 14:46:51,653 [LOG.Executor.2388 (LA_TASK_os_file)-61850] INFO - ignore large dir /u01/service/database/logs. set property loganalytics.enable_large_dir to enable.
ノート

大きなフォルダは避けることをお薦めします。クリーン・アップ・メカニズムを利用して、収集後すぐにファイルを削除し、管理エージェントがファイルを再度収集するのに十分な時間を持つようにします。

ただし、大きなフォルダのログのモニタリングを続行する場合は、次の変更を加えてサポートを有効にできます。

エージェント・インストール・フォルダの構成プロパティloganalytics.enable_large_dirtrueに手動で編集して、10000を超えるファイルを持つフォルダからのログの収集を有効にできます。デフォルトでは、プロパティ値はfalseです。

プロパティ・ファイルemd.propertiesagent_inst/config/emd.propertiesの場所で編集し、前述のプロパティ値を追加してOracle Logging Analyticsのデフォルト構成をオーバーライドします:

sudo -u mgmt_agent echo "loganalytics.enable_large_dir=true" >> INSTALL_DIRECTORY/agent_inst/config/emd.properties

INSTALL_DIRECTORYagent_instフォルダのパスに置き換えます。ファイルemd.propertiesの編集後に管理エージェントを再起動します。

このサポートを有効にするには、ホスト・エージェントでいくつかの構成変更を行う必要がある場合があります。本番環境で新しい設定を作成する前に、開発環境またはテスト環境で新しい設定を試してください。代表的な環境を使用して、次の要因の増大を確認します。実際の必要な増加は、ファイル数、ファイル作成率、管理エージェントが実行しているその他のタイプの収集などの要因によって異なります。

  • 管理エージェントのヒープ・サイズを増やします。ファイル数が多いディレクトリの場合、必要なヒープ・サイズはファイル数とともに増加します。管理エージェントのドキュメントを参照してください。
  • 管理エージェントが保持する必要がある多数の状態ファイルの処理に十分なディスク領域およびiノードが使用可能であることを確認します。これは、使用されるログ・ソースおよびパーサーのタイプによって異なります。パーサーがヘッダー詳細関数を使用する場合、元のログ・ファイルが存在するかぎり、エージェントはヘッダーを作成してキャッシュ・ファイルに格納します。
  • 開いているファイルの数のオペレーティング・システム設定で、大きいフォルダおよび多数の状態ファイルの読取りを管理エージェントがサポートできることを確認します。

ログ・ファイル・パスの大/小文字を区別しない照合にマクロを使用

ログ・ファイル・パス・パターンでignore-caseマクロ(?i)を使用して、大/小文字を区別しない形式で解釈します。これは、「ファイル」タイプのログ・ソースで提供されるログ・ファイル・パス・パターンに適用されます。

マクロ(?i)は、パスの要素の先頭にある場合にのみ適用されます。

次の例を考えてみます。

/tmp/(?i)FOO/*.log

前述の例では、マクロに続くパスの要素はFOOです。これは、大文字と小文字を区別しない形式で解釈されます。

ノート

プロパティの値にスラッシュ文字/が含まれている場合は、大文字と小文字を区別しないマクロを正しく使用するように注意する必要があります。たとえば、エンティティ・プロパティがlogdir=/tmp/logs/で、ログ・ソース・ファイルのパス・パターンが(?i){logdir}/foo.logで、大/小文字の区別なしマクロが適用されている場合、ログ・ソース・ファイルのパス・パターンは(?i)/tmp/logs/foo.logとして解釈され、これは目的の結果ではありません。

このような場合は、大文字と小文字を区別しない複数のプロパティーを追加し、ignore-caseマクロを使用してそれらのプロパティーからログパターンパスを構築します。