サービス・コネクタを使用したOCIロギング・サービスからのカスタム・ログの取込み
分析およびログ・インサイトの目的でOracle Logging Analyticsに取り込むOCI Loggingサービスにカスタム・ログがある場合は、ここにリストされているステップを完了します。
低レイテンシ・ログの取込みおよび取込み時間アラートを必要とするミッション・クリティカル・アプリケーションの場合、Oracleでは、すべてのOCIインスタンスにデフォルトでインストールされているOracle Management Agentを使用することをお薦めします。
履歴ログを収集する場合は、サービス・コネクタで履歴ログの収集がサポートされていないため、Oracle Management Agentを使用します。
また、管理エージェントをインストールした後、次のステップ1から5を完了して、Oracle Logging Analyticsでのログの収集を開始します。
サービス・コネクタを使用した他のOCIサービスからのログの収集の詳細は、「サービス・コネクタを使用した他のOCIサービスからのログの収集」を参照してください。
サービス・コネクタを使用してOCIロギング・サービスからカスタム・ログを収集するステップ:
-
OCIロギング・サービスからログにアクセスして収集する権限を提供します。OCIロギング・サービスからのログの収集の許可を参照してください。
-
ログを収集する必要があるコンパートメントおよびログ・アナリティクス・ログ・グループを識別または作成します。
-
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パーサーを作成します。前述のログ・コンテンツの例では、次に示すように、ログ・アナリティクスは
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
の場合、ソース名は同じである必要があります。ログ・ソースの作成時に、前のステップで作成したパーサーを指定します。ソースの作成を参照してください。 -
新しいサービス・コネクタを作成するか、OCI LoggingとOracle Logging Analytics間の接続を確立してカスタム・ログをルーティングする既存のサービス・コネクタを使用します。ターゲットをログ・アナリティクスとして指定し、ロギング・カスタム・ログに対応する新しいソース接続を追加します。ロギング・ログ・グループ・コンパートメント、ロギング・ログ・グループおよびロギング・カスタム・ログの詳細を書き留めます。
サービス・コネクタを作成する詳細なステップは、ログを取り込むためのサービス・コネクタの設定のステップ2を参照してください。
「タスクの構成」セクションで、ログ・フィルタ・タスクを設定し、フィルタに使用するプロパティを指定できます。Oracle Cloud Infrastructureドキュメント- サービス・コネクタの管理を参照してください。
複数のカスタム・ログの場合は、同じサービス・コネクタを使用し、さらにログ・フィルタ・タスクを追加できます。
OCI Loggingとの接続が確立されると、カスタム・ログがOracle Logging Analyticsへのフローを開始します。ログ・エクスプローラでカスタム・ログを検索するには、ログ・ソース名を問い合せます。例
'Log Source' = com.oraclecloud.logging.custom.kube_system_namespace | stats count as logrecords by 'Log Source'