このトピックでは、Log4jログを分析する方法について説明します。 この例では、電子商取引会社のログが分析される。

始める前に

  • Log4jログが収集されます。 詳細については、「Log4jログの収集」をご参照ください。
  • インデックスが設定されます。 詳細については、「インデックスの作成」をご参照ください。
    この例で使用されるインデックスを次の図に示します。 指定されたフィールドの照会

このタスクについて

Log4jはApacheのオープンソースプロジェクトです。 Log4jでは, ログのレベル, 出力先, 出力形式を指定できます。 ログレベルは、ERROR、WARN、INFO、およびDEBUGの降順です。 出力先は、ログをコンソールに表示するかファイルに表示するかを指定します。 出力形式によって、表示されるログの形式が決まります。

この例では、企業は、eコマースプラットフォームに最適なソリューションを取得したいと考えています。 同社は、プラットフォームの安定性、システムエラー、データセキュリティ、行動データなどの情報を分析する必要があります。 The行動データ含むログオン方法、ログオン時間、ログオン期間、閲覧ページ、滞留時間ページ、平均注文時間、と消費レベル。 Log Serviceは、さまざまなログ収集方法とログ分析機能を提供し、ログの保存と分析に役立ちます。 次の例は、Log Serviceによって収集されるサンプルログを示しています。
  • 次のログには、ログイン情報が記録されます。
    レベル: INFO
    場所: com.aliyun.log4jappendertest.Log4jAppenderBizDemo.login(Log4jAppenderBizDemo.java:38)
    message: ユーザーログインに成功しました。 requestID=id4 userID=user8
    糸: メイン
    時間: 2022-01-26T15:31 + 0000
  • 次のログは購入情報を記録します。
    レベル: INFO
    場所: com。aliyun。log4jappendertest。Log4jAppenderBizDemo。オーダー (Log4jAppenderBizDemo.java:46)
    メッセージ: Placeを成功した順序。 requestID=id44 userID=user8 itemID=item3量=9
    スレッド: メイン
    時間: 2022-01-26T15:31 + 0000

手順

  1. Log Service コンソールにログインします。
  2. [プロジェクト] セクションで、表示するプロジェクト名をクリックします。
  3. [ログストレージ] > [Logstore] を選択します。 [Logstore] タブで、表示する Logstore をクリックします。
  4. 検索ボックスにクエリステートメントを入力し、クエリ時間範囲を指定します。

    クエリステートメントは、searchステートメント | analyticステートメント形式の検索ステートメントと分析ステートメントで構成されます。 詳細については、「クエリ構文」と「SQL構文と関数」をご参照ください。

    • Query 3最もでポジション発生前時間内。
      level: ERROR | select location ,count(*) as count GROUP BY location ORDER BY count DECS LIMIT 3
    • 過去15分以内に生成された各ログレベルのログ数を照会します。
      | select level ,count(*) as count GROUP BY level ORDER BY count DESC
    • 前の1時間以内に最も頻繁にプラットフォームにログオンする3人のユーザーを照会します。
      login | SELECT regexp_extract(message, 'userID=(?<userID>[a-zA-Z\d]+)', 1) AS userID, count(*) as count GROUP BY userID ORDER BY count DELINT 3
    • 過去15分以内の各ユーザーの支払い総額を照会します。
      order | SELECT regexp_extract(message, 'userID=(?<userID>[a-zA-Z\d]+)', 1) AS userID, sum(cast(regexp_extract(message, 'amount=(?<amount>[a-zA-Z\d]+)', 1) AS量GROUP BY userID