すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:取り込みプロセッサを使用したAlibaba Cloudサービスログの処理

最終更新日:Jan 23, 2025

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=200
  • SPLステートメント

    *
    | 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.1
  • SPLステートメント

    * | 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=xxxxxxx
  • SPLステートメント

    * | extend request_uri=url_extract_path(request_uri)
  • 結果

    request_uri: /api/v1/some-resource