Alibaba Cloudサービスログは、システムによって自動的に生成されます。 ログを直接処理することはできません。 この場合、ログを処理するように取り込みプロセッサを設定できます。 詳細については、「Alibaba Cloudサービスログの収集」をご参照ください。 このトピックでは、一般的に使用されるデータ処理操作の例を示します。
前提条件
プロジェクトと標準ログストアが作成され、ログ収集設定が構成されます。 詳細については、参照プロジェクトの作成,Logstoreの作成、およびデータ収集の概要.
取り込みプロセッサの使用方法の詳細については、「取り込みプロセッサの作成」をご参照ください。
ACK
監査ログに書き込み操作のみを保持する
要件の説明
Container Service for Kubernetes (ACK) クラスターの監査ログは、読み取りおよび書き込み操作を記録します。 演算は
動詞フィールドによって区別されます。 動詞フィールドの値には、create、get、list、patch、update、watchが含まれます。 監査ログの書き込み操作のみを保持してデータストレージを削減する場合は、取り込みプロセッサを設定できます。SPLステートメント
* | where verb not in ('get', 'watch', 'list')
コントロールプレーンのログフィールドの抽出
要件の説明
ログからコンテンツフィールドを抽出します。
生ログ
_container_name_: kube-controller-manager _source_: stderr _time_: 2024-12-19T11:10:16.251374622+08:00 content: I1219 11:10:16.251299 1 httplog.go:134] "HTTP" verb="GET" URI="/healthz" latency="45.911µs" userAgent="kube-probe/1.30+" audit-ID="" srcIP="7.8.44.1:40092" resp=200 contentType="text/plain; charset=utf-8" resp=200SPLステートメント
* | parse-regexp content, '\S+\s+\S+\s+\S+\s+(\S+)\]\s+"([^"]+)"\s+(.*)' as caller, msg, kvs | parse-kv -regexp kvs, '([\S+]+)="?([^"]*)"?(?:\s+|$)' | project-away content, kvs結果
_container_name_: kube-controller-manager _source_: stderr _time_: 2024-12-19T11:10:16.251374622+08:00 URI: /healthz audit-ID: caller: httplog.go:134 contentType: text/plain; charset=utf-8 latency: 45.911µs msg: HTTP resp: 200 srcIP: 7.8.44.1:40092 userAgent: kube-probe/1.30+ verb: GET
OSS
特定の条件を満たすデータを保持する
要件の説明
Object Storage Service (OSS) オブジェクトに関連する操作のログのみを保持します。
SPLステートメント
* | where operation like '%Object%'
オブジェクトおよびrequest_uriフィールドのURLをデコードする
要件の説明
デフォルトでは、OSSアクセスログの
objectフィールドとrequest_uriフィールドはURLエンコードされています。 この場合、objectフィールドとrequest_uriフィールドのURLをデコードします。生ログ
object: image%2Flogo.png request_uri: /image%2Flogo.png HTTP/1.1SPLステートメント
* | extend object=url_decode(object), request_uri=url_decode(request_uri)結果
object: image/logo.png request_uri: /image/logo.png HTTP/1.1
SLB
失敗したリクエストのログのみを保持する
要件の説明
Application Load Balancer (ALB) アクセスログの
statusフィールドは、リクエストのステータスコードを示します。 この場合、失敗したリクエストのログのみを保持します。SPLステートメント
* | where cast(status as bigint) >= 400
レイヤー7アクセスログのrequest_uriフィールドのマスクデータ
要件の説明
ALBアクセスログの
request_uriフィールドには、完全なリクエストパスとリクエストパラメーターが含まれます。 この場合、リクエストパラメーターを削除し、リクエストパスを保持します。生ログ
request_uri: /api/v1/some-resource?token=xxxxxxxSPLステートメント
* | extend request_uri=url_extract_path(request_uri)結果
request_uri: /api/v1/some-resource