ログ・パーティション化の管理
インフラストラクチャ、アプリケーション・アーキテクチャまたは組織構造に基づいてログを物理的にパーティショニングするためのログ・セットを定義して、1つのリージョンで1つのテナントに対して1日当たり6TBを超えるログ・データを永続的に取り込む必要がある場合、検索パフォーマンスを最適化できます。
ログ・パーティション化の詳細は、ログ・パーティション化を参照してください。
特定のリージョンでテナンシのログ・パーティション化を有効にした後、各ログ・エントリに、ログ・セット・フィールドに定義された文字列値があることを確認する必要があります。取込み方法に応じて、次の共有ステップに従ってログ・セット値を指定できます。
トピック:
テナンシでログ・パーティション化が有効になっている場合、ログ・セットを選択するオプションがスコープ・フィルタに表示されます。問合せを開始する前に、ログ・セットの少なくとも1つを選択するか、ワイルドカード*
を使用する必要があります。ワイルドカードは、すべてのログを検索する必要があるユースケースでのみ使用することをお薦めします。これは、すべてのログを検索するため、実行に時間がかかるコストが高い検索になります。ワイルドカード検索の実行時に、選択した時間範囲にデータが多すぎる場合、問合せはタイムアウトすることがあります。「スコープ・フィルタの使用」を参照してください。
ログ・パーティション化の有効化
ログ・パーティション化は、Oracle Logging Analyticsが使用可能なすべてのリージョンおよびレルムで使用できます。
ユースケースでパーティション化機能が必要な場合は、Oracle Logging Analyticsでこの機能をリクエストするOracle Supportを使用してService Request
を申請します。
ログ・セット値の指定: 管理エージェントを介したログ取込み
ログを収集するには、スタンドアロン管理エージェントを使用するか、Oracle Cloud Agentの一部として使用します。
-
管理エージェントのemd.propertiesファイルを編集して、ログ・セットを定義する方法は複数あります。次のいずれかから選択します。
-
エージェントが収集したすべてのログの静的ログ・セット値を設定できます。エージェント全体のログ・セットを指定するには、次のプロパティをエージェントのemd.propertiesファイルに追加します:
loganalytics.src.addl_src_ptn_configs=logset=<Value>
-
ログ・ファイル名の一部としてログ・セット値を設定します。エージェント構成で正規表現を指定して、ログ・ファイル・パスの一部をログ・セット文字列として抽出する方法を定義できます。エージェントのemd.properties構成ファイルで、プロパティ
logsetkey
およびlogSetExtRegex
を指定します:loganalytics.src.addl_src_ptn_configs=logsetkey=logorigin,logSetExtRegex=<regex with a capture group>
logorigin
は、ログ・ファイル・パスです。 -
前述の設定にプロパティとしてソースIDを追加することで、ソースごとに異なるログ・セット抽出を個別に適用するように指定できます。
//sets this log set value only for source 201904301 loganalytics.src.addl_src_ptn_configs=srcid=201904301,logset=<Value>
//sets this log set value based on regular expression extraction only for source 201904301 loganalytics.src.addl_src_ptn_configs=srcid=201904301,logsetkey=logorigin,logSetExtRegex=<regex with a capture group>
-
-
前述のいずれかの方法を使用してログ・セットを指定する以外に、emd.properties構成ファイルに次のプロパティを含めます:
loganalytics.src.override_config=true
-
構成ファイルの編集後にエージェントを再起動します。
ログ・セット値の指定: サービス・コネクタ・ハブを介したログ取込み
現在、この機能は、サービス・コネクタ・ハブを使用してOCIロギング・サービスからOracle Logging Analyticsに収集されたカスタム・ログでのみサポートされています。
ログ・セット値を設定するには、カスタム・ログでOCI Logging Unified Logging Formatデータのdata{}
ブロックに新しいフィールドを追加する必要があります。たとえば、
{
"data": {
"logSet": "<Value>",
...
},
"oracle": {
...
},
...
}
ログ・セット値の指定: オブジェクト・ストレージ・コレクションを介したログ取込み
オブジェクト・ストレージ収集ルールを作成する場合、管理エージェント・コレクションのログ・セットの移入に使用されるものと同じオプションが適用されます。
-
このオブジェクト・ストレージ収集ルールによって収集されたすべてのログに静的ログ・セット値を設定できます。次のプロパティをオブジェクト・ストレージ収集ルールJSONに追加します:
{ "name": "<Object Collection Rule Name>", "logSet": "<Value>", ... }
-
オブジェクト・パスからログ・セットを解析する正規表現を指定できます。例:
{ "name": "<Object Collection Rule Name>", "logSetExtRegex": "\\\/o\\\/[^\\\/]*\\\/([^\\\/]*)", ... }
-
オブジェクト収集ルールでオーバーライドを使用している場合は、オーバーライドのログ・セット抽出も設定できます。次の例では、バケットから収集されたすべてのログが、
db
を含むオーバーライドに一致するオブジェクトを除き、ログ・セットValue1
を取得します。これらのログは、オブジェクト・パスの正規表現から取得されたログ・セット文字列を取得します。{ "name": "<Object Collection Rule Name>", "logSet": "Value1", "overrides": { "items": [{ "matchType": "contains", "matchValue": "db", "propertyName": "logSetExtRegex", "propertyValue": "\\\/o\\\/[^\\\/]*\\\/([^\\\/]*)" }] } }
ログ・セット値の指定: REST APIを介したログ取込み
ログ・イベントREST APIエンドポイント/actions/uploadLogEventsFileにログ・データ・ファイルを投稿する場合、POST REST APIコール・パラメータでログ・セットを指定できます。この単一のAPIコールでアップロードされたすべてのログ・データは、同じログ・セットとともに格納されます。
例:
POST /20200601/namespaces/<namespaceName>/actions/uploadLogEventsFile?logGroupId=<logGroup_OCID>&payloadType=JSON&logSet=<Value>
ログ・セット値の指定: Fluentdを介したログ取込み
Fluentdコレクタを使用すると、ログ・セットを他のフィールド(keyname)から抽出できます。key_name
で参照されるフィールドからフィールドoci_la_log_set
に予期されるログ・セット値を取得する方法を定義する正規表現を指定します。
<filter oci.source>
@type parser
key_name oci_la_log_path # The expression will be applied on the key "oci_la_log_path". You can pick any field that fluentd has parsed here.
<parse>
@type regexp
expression '.*\/(?<oci_la_log_set>[^\.]{1,40}).*' # Valid reg-ex for extraction
</parse>
</filter>
oci_la_log_pathの値が/n/axs4r325r2ct/b/logevents/o/fileType/logSetABC.log
の場合、前述の正規表現に基づく抽出されたログ・セット値はlogSetABC
になります。
名前付き取得グループでは、(?<oci_la_log_set>)
が必要です。これがない場合、一致した正規表現文字列はoci_la_log_set
に割り当てられません。