このトピックでは、Log Serviceを使用して、ログクエリ、関連付け分析、統計分析などのさまざまなシナリオでアプリケーションログをクエリおよび分析する方法について説明します。

このタスクについて

アプリケーションログには、アプリケーションの操作とメンテナンスに関する重要な統計情報が含まれます。 アプリケーションログには、次の機能があります。
  • 矛盾したログスタイル。 アプリケーション開発者は、コードを開発するときのスタイルが異なります。 異なるアプリケーションによって生成されるログのスタイルには一貫性がありません。
  • データサイズが大きい。 アプリケーションログのサイズは、アクセスログのサイズよりも1桁大きい。
  • 複数の分散サーバー。 ほとんどのアプリケーションはステートレスで、Elastic Compute Service (ECS) やContainer Serviceなどの異なるフレームワークで実行されます。 これらのアプリケーションは、数から数千のインスタンスにデプロイすることができます。 したがって、ログ収集のためのクロスサーバーソリューションが必要です。
  • 複雑なランタイム環境。 アプリケーションは異なる環境で実行され、関連するログは異なる環境に保存されます。 たとえば、アプリケーション関連のログはコンテナに保存され、API関連のログはFunction Computeに保存され、古いシステムログはデータセンターに保存され、モバイルアプリのログはモバイル端末に保存され、Webサイトのログはブラウザに保存されます。

完全なログを取得するには、すべてのアプリケーションログを同じ環境に保存する必要があります。 Log Serviceは、複数のログ収集方法とログ分析機能を提供します。 クエリ文とSQL-92構文を使用して、ログリアルタイムで分析できます。 クエリ結果をグラフで視覚化することもできます。 Log Serviceが提供するソリューションのコストは、オープンソースソリューションのコストの25% にすぎません。

アプリケーションログの照会

この例では、アプリケーションが使用されるときに注文エラーまたは要求レイテンシが発生します。 検索文を使用して、1秒以内にテラバイトのデータを含むログで問題を見つけることができます。 正確なクエリ結果を取得するには、ビジネス要件に基づいて時間範囲とキーワードを指定します。
  • 次の検索文を実行して、レイテンシが1秒を超え、リクエストメソッドがPostで始まるリクエストのログエントリを照会できます。
    レイテンシ> 1000000とメソッド=Post *
  • 次の検索文を実行して、キーワードにエラーが含まれているログエントリを照会し、マージを除外できます。
    エラーがマージされない

アプリケーションログに対する関連付け分析の実行

関連付け分析の種類は、プロセス内関連付け分析およびプロセス間関連付け分析を含む。 2つのタイプの関連性分析には、次の違いがあります。

  • プロセス内関連分析: プロセスのログは同じログファイルに保存されます。 In多ねじプロセス、あなたはフィルターログベースに糸IDs。
  • Crossプロセス協会分析: The協会複数プロセスは不明。 プロセスは、TracerIdパラメーターに基づいて関連付けられます。 The値TraceIdのパラメータは自動的に生成され使用するときリモート手順 (RPC) に要求を送信します。
関連分析
  • プロセス内相関分析
    コンテキストクエリ機能を使用して、関連するログを表示します。 キーワードを入力して例外ログエントリを照会し、[コンテキスト表示] をクリックして、例外ログエントリの前後に取得されたログエントリを表示します。 詳細については、「コンテキストクエリ」をご参照ください。コンテキストビュー
    次の図は、コンテキストクエリの結果を示しています。コンテキストクエリ
  • クロスプロセス関連解析

    クロスプロセス関連付け分析機能には、EagleEye、Dapper、StackDriver Trace、Zipkin、Appdash、X線などのトレースツールと同じ機能があります。

    クロスプロセス分析機能は、Log Serviceに基づく基本的なトレース機能を実装します。 異なるLogstoreからログを取得するには、request_idフィールドやorder_idフィールドなど、異なるモジュールからログを収集するときに関連付けることができるログフィールドを設定します。関連ログ
    SDKを使用して、フロントエンドサーバー、バックエンドサーバー、支払いシステム、注文システムなどのさまざまなモジュールから収集されたログを照会できます。 クエリ結果を取得したら、次の図に示すように、結果を関連付けるフロントエンドページを作成できます。トレースシステム

アプリケーションログの統計分析を実行する

クエリ結果を取得した後、取得したログに対して統計分析を実行することもできます。

次のクエリステートメントを実行して、すべてのエラータイプの統計とすべてのエラー場所の分布を表示できます。
__level __: エラー | select __file __, __line __, count(*) as c group by __file __, __line__ order by c desc
エラーの種類と場所

操作内容

  • ログをバックアップします。

    取得したログは、Object Storage Service (OSS) やMaxComputeなどの他のクラウドサービスにバックアップできます。

  • アラートを設定します。

    Cloud Monitorを使用して、取得したログのアラートを設定することもできます。

  • 権限を付与します。

    RAMユーザーまたはユーザーグループに権限を付与して、開発環境と本番環境を分離することができます。