このトピックでは、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
手順
- Log Service コンソールにログインします。
- [プロジェクト] セクションで、表示するプロジェクト名をクリックします。
- を選択します。 [Logstore] タブで、表示する Logstore をクリックします。
- 検索ボックスにクエリステートメントを入力し、クエリ時間範囲を指定します。
クエリステートメントは、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
- Query 3最もでポジション発生前時間内。