サービス・コネクタを使用したOCIロギング・サービスからのカスタム・ログの取込み
分析およびログ・インサイトのためにOracle Log Analyticsで収集するカスタム・ログがOCIロギング・サービスにある場合は、ここにリストされているステップを完了します。
低レイテンシのログの取込みおよび取込み時間アラートを必要とするミッション・クリティカル・アプリケーションの場合、Oracleでは、すべてのOCIインスタンスにデフォルトでインストールされるOracle Management Agentを使用することをお薦めします。
履歴ログを収集する場合は、サービス・コネクタが履歴ログの収集をサポートしていないため、Oracle Management Agentを使用します。
さらに、管理エージェントをインストールした後、次のステップ1から5を実行して、Oracle Log Analyticsでのログの収集を開始します。
サービス・コネクタを使用した、他のOCIサービスからのログの取込みの詳細は、サービス・コネクタを使用した、他のOCIサービスからのログの取込みを参照してください。
サービス・コネクタを使用してOCIロギング・サービスからカスタム・ログを収集するステップ:
-
OCIロギング・サービスからログにアクセスして収集する権限を提供します。OCIロギング・サービスからのログの収集の許可を参照してください。
-
ログを収集する必要があるコンパートメントおよびLog Analyticsログ・グループを識別または作成します。
-
OCIロギング・サービスのログ・レコードで、キータイプに対応するイベント・タイプ(
com.oraclecloud.logging.custom.kube_system_namespace
など)を書き留めます。キーの値は、後でログ・ソースの作成に使用されます。OCIロギング・サービスからのログ・レコードの例を次に示します:{ "datetime": 1652152576897, "logContent": { "data": { "message": "2022-05-10T03:16:16.161346406+00:00 stderr F time=\"2022-05-10T03:16:16Z\" level=error msg=\"tkw network request proxied\" error=EOF", "tailed_path": "/var/log/pods/kube-system_proxymux-client-aaaa/proxymux-client/0.log" }, "id": "id112233", "oracle": { "compartmentid": "ocid1.compartment.oc1..a....", "ingestedtime": "2022-05-10T03:17:25.628Z", "instanceid": "ocid1.instance.oc1.phx.a....", "loggroupid": "ocid1.loggroup.oc1.phx.a....", "logid": "ocid1.log.oc1.phx.a....", "tenantid": "ocid1.tenancy.oc1..a...." }, "source": "oke-source", "specversion": "1.0", "subject": "/var/log/pods/kube-system_proxymux-client-aaaa/proxymux-client/0.log", "time": "2022-05-10T03:16:16.897Z", "type": "com.oraclecloud.logging.custom.kube_system_namespace" } }
前述のイベント・タイプの例では、カスタム・ログの
com.oraclecloud.logging.custom.
は定数です。値の残りの部分(たとえば、kube_system_namespace
)は、ログのタイプによって異なります。 -
JSONパーサーを作成して、カスタム・ログを解析します。
ノート
パーサーがサービス・コネクタからログを収集するJSONタイプであることを確認してください。その他のパーサー形式はサポートされていません。前述のログ・コンテンツの例では、次に示すように、Log Analyticsは
logContent
属性の値のみを受け取ります。{ "data": { "message": "2022-05-10T03:16:16.161346406+00:00 stderr F time=\"2022-05-10T03:16:16Z\" level=error msg=\"tkw network request proxied\" error=EOF", "tailed_path": "/var/log/pods/kube-system_proxymux-client-aaaa/proxymux-client/0.log" }, "id": "id112233", "oracle": { "compartmentid": "ocid1.compartment.oc1..a....", "ingestedtime": "2022-05-10T03:17:25.628Z", "instanceid": "ocid1.instance.oc1.phx.a....", "loggroupid": "ocid1.loggroup.oc1.phx.a....", "logid": "ocid1.log.oc1.phx.a....", "tenantid": "ocid1.tenancy.oc1..a...." }, "source": "oke-source", "specversion": "1.0", "subject": "/var/log/pods/kube-system_proxymux-client-aaaa/proxymux-client/0.log", "time": "2022-05-10T03:16:16.897Z", "type": "com.oraclecloud.logging.custom.kube_system_namespace" }
そのため、JSONパーサーは、関連する削除されたバージョンのログ・コンテンツを使用して構築する必要があります。パーサーの作成を参照してください。
-
キーtypeの値と同じ名前のログ・ソースを作成します。前述の値が
com.oraclecloud.logging.custom.kube_system_namespace
の場合、ソース名も同じである必要があります。ログ・ソースの作成時に、前のステップで作成したパーサーを指定します。ソースの作成を参照してください。名前がキーtypeの値と一致するユーザー定義ソースをログに作成しない場合、ログはOracle定義のソースOCI統合スキーマ・ログを使用して処理されます。This source uses the Oracle-defined parser OCI Unified Schema Log Format to parse the fields Time, Type, OCI Resource Name, Collection Time, Compartment ID, Logging Log Group OCID, Logging Log OCID, Tenant, Logging Record ID, CloudEvents Spec Version, and Message.
-
新しいサービス・コネクタを作成するか、既存のサービス・コネクタを使用して、OCI LoggingとOracle Log Analyticsの間の接続を確立し、カスタム・ログをルーティングします。ターゲットとして
Logging Analytics
を指定し、ロギング・カスタム・ログに対応する新しいソース接続を追加します。ロギング・ログ・グループ・コンパートメント、ロギング・ログ・グループおよびロギング・カスタム・ログの詳細を書き留めます。サービス・コネクタを作成する詳細なステップは、ログを収集するためのサービス・コネクタの設定のステップ2を参照してください。
「タスクの構成」セクションで、ログ・フィルタ・タスクを設定し、フィルタに使用するプロパティを指定できます。Oracle Cloud Infrastructureドキュメント- サービス・コネクタの管理を参照してください。
複数のカスタム・ログの場合、同じサービス・コネクタを使用し、さらにログ・フィルタ・タスクを追加できます。
OCIロギングで接続が確立されると、カスタム・ログはOracle Log Analyticsへのフローを開始します。ログ・エクスプローラでカスタム・ログを検索するには、ログ・ソース名を問い合せます。たとえば、
'Log Source' = com.oraclecloud.logging.custom.kube_system_namespace | stats count as logrecords by 'Log Source'
OCIロギングからのカスタム・ログの収集を停止するには、サービス・コネクタからのログの収集の停止を参照してください。