serviceを使用すると、NGINXアクセスログを収集および分析できます。最適化する方法について説明します。前提条件ログデータを収集済み。詳細については、「NGINX設定モードでのログの収集」をご参照ください。インデックス作成機能が有効になり、設定されます。詳細については、「インデックスの作成」をご参照ください。背景情報NGINXは、Webサイトの構築とホストに使用できる、無料のオープンソースで高性能なHTTPサーバーです。NGINXアクセスログを収集して分析できます。CNZZなどの従来の方法では、JavaScriptスクリプトがWebサイトのフロントエンドページに挿入され、ユーザーがWebサイトにアクセスしたときにトリガーされます。この方法ではアクセス要求のみを記録できます。ストリームコンピューティング、オフラインコンピューティング、およびオフライン分析を使用して、NGINXアクセスログを分析することもできます。これらの方法は専用の環境を必要とし、ログ分析中に時間効率と柔軟性のバランスをとることは困難です。Serviceコンソールで、データインポートウィザードを使用してNGINXアクセスログを収集するための収集設定を作成できます。Serviceは、NGINXアクセスログの収集と分析に役立つインデックスとNGINXダッシュボードを作成します。統計、インバウンドとアウトバウンドトラフィック、ユーザーエージェント、トップ10のリクエストURL、リクエスト数によるトップ10のURI、リクエスト遅延によるトップ10のURIなどのメトリックが表示されます。クエリ文を使用して、Webサイトのアクセス遅延を分析し、Webサイトのパフォーマンスをできるだけ早く最適化できます。パフォーマンスの問題、サーバーエラー、トラフィックの変化を追跡するアラートを作成できます。アラートのトリガー条件が満たされると、指定された受信者にアラート通知が送信されます。Webサイトへのアクセスを分析するにログインします。セクションで、管理するプロジェクトをクリックします。アイコンをクリックします。アイコンをクリックします。視覚ダッシュボードをクリックし、LogstoreName_Nginx_access_log.ダッシュボードには、次のメトリックが表示されます。次のSQL文を実行して、IPアドレスの分布に関する統計を収集します。次のSQL文を実行して、過去24時間に返された各HTTPステータスコードの割合を計算します。次のSQL文を実行して、過去24時間に使用された各リクエストメソッドの割合を計算します。次のSQL文を実行して、過去24時間に使用された各ユーザーエージェントの割合を計算します。次のSQL文を実行して、過去24時間で最も多くのPVを持つ上位10個のリクエストURLを示します。次のSQL文を実行して、インバウンドトラフィックとアウトバウンドトラフィックの統計を収集します。次のSQL文を実行して、PVおよびUVの数を計算します。次のSQL文を実行して、次の4時間のPV数を予測します。次のSQL文を実行して、過去24時間に最も多くのPVを持つリクエストされたURLの上位10個を示します。一部のデフォルトのアクセス指標に加えて、NGINXアクセスログに基づいてアクセス要求を診断する必要もあります。これにより、特定のページでレイテンシーの高いリクエストを見つけることができます。クイック分析機能は、検索と分析ページで使用できます。詳細については、「ログの照会と分析」をご参照ください。次のSQL文を実行して、5分ごとに平均レイテンシと最大レイテンシをカウントし、全体のレイテンシを取得します。300次のSQL文を実行して、レイテンシが最も高い要求されたページを見つけ、ページの応答速度を最適化します。__time__%60次のSQL文を実行して、すべてのリクエストをアクセスレイテンシで10のグループに分割し、異なるレイテンシ範囲に基づいてリクエストの数をカウントします。numeric_histogram(10,request_time)次のSQL文を実行して、レイテンシが最も高い上位10件のリクエストと各リクエストのレイテンシを数えます。max(request_time,10)要求されたページを最大のレイテンシで最適化します。/url2ページのレイテンシが最も高いとします。/url2ページの応答速度を最適化するには、/url2ページの次のメトリックをカウントします。PVおよびUVの数、各リクエストメソッドが使用された回数、各HTTPステータスコードが返された回数、各ブラウザータイプが使用された回数、平均レイテンシ、および最大レイテンシ。max_latencyアラートルールの作成アラートルールを作成して、パフォーマンスの問題、サーバーエラー、トラフィックの変更を追跡できます。詳細については、「アラートルールの設定」をご参照ください。サーバー警告HTTPステータスコードが500のサーバーエラーに注目する必要があります。c説明アクセストラフィックの多いサービスでは、500エラーが発生することがあります。この場合、通知トリガーしきい値パラメーターを2に設定できます。条件が2回連続して満たされた場合にのみアラートがトリガーされることを示します。パフォーマンス警告サーバーの実行中にレイテンシが増加した場合は、アラートルールを作成できます。/adduserのすべての書き込み要求Postのレイテンシを計算できます。300000に設定します。平均レイテンシが300ミリ秒を超えるとアラートが送信されることを示します。l平均レイテンシ値を使用してアラートを作成できます。高いレイテンシ値はより低い値に平均化されるため、これは真の状況を反映しない可能性がある。50パーセンタイルのレイテンシ、および90パーセンタイルのレイテンシを計算できます。1440交通アラート短時間でのトラフィックの急激な減少または増加は異常です。トラフィックの変化率を計算し、突然のトラフィックの変化を監視するアラートルールを作成できます。トラフィックの変化は、次のメトリックに基づいて検出されます。現在の期間のデータと前の期間のデータを比較します。現在の期間のデータと前日の同じ期間のデータを比較します。現在の期間のデータを前の週の同じ期間のデータと比較します。最後のウィンドウは、トラフィック変化率を計算するために次の例で使用されます。この例では、時間範囲は5分に設定されています。計算ウィンドウを定義します。分間のウィンドウを定義して、この時間の受信トラフィックサイズを計算します。15結果は、平均インバウンドトラフィックがすべてのウィンドウで均等に分散されることを示しています。ウィンドウで値の違いを計算します。ウィンドウ内の最大または最小トラフィックサイズと平均トラフィックサイズの差を計算します。max_ratioメトリックは例として使用されます。計算されたmax_ratioは1.02である。1.5に設定できます。超えるとアラートが送信されることを示します。15)latest_ratioメトリックを計算して、最新の値が変動するかどうかを確認します。ウィンドウ内の最大トラフィックサイズを計算するには、max_by関数を使用します。この例では、latest_ratioは0.97です。15)説明max_by関数の計算結果は文字型です。数値型に変換する必要があります。latest_ratioに置き換えます。これは、現在の値とウィンドウの前の値との間の変化比である。使用して差を計算します。算出した差分値を電流値で除算して変化率を求める。定義するには、ABS関数を使用して絶対値を計算し、計算結果を統合します。15)ありがとうございます。フィードバックを受け取りました。