Log Service と統合されているため、SLB (Server Load Balancer) インスタンスのアクセスログを分析し、クライアントユーザーの動作と地理的な分布を把握したり、問題をトラブルシューティングしたりすることができます。
アクセスログの概要
アクセスログは、SLB インスタンスに送信されたリクエストの詳細情報 (リクエストされた時刻、クライアントの IP アドレス、レイテンシ、リクエスト された URL、サーバーレスポンスなど) を収集します。 インターネットアクセスの入り口として、Server Load Balancer は大量のクライアントリクエストを受信します。 アクセスログを使用することで、ユーザーの動作や地理的な分布を分析し、問題のトラブルシューティングを行うことができます。
SLB アクセスログを有効にすると、SLS の Logstore にアクセスログが保存され、アクセスログの収集と分析が可能になります。 アクセスログは、いつでも無効にすることができます。
SLB アクセスログに追加料金は発生しません。 Log Service の料金のみ発生します。
- レイヤー 7 Server Load Balancer は、アクセスログの設定をサポートしています。この機能は現在、すべてのリージョンで使用可能です。
- HTTP ヘッダーの値に
||
を含まないようにしてください。含まれている場合には、エクスポートされたログが正しく配置されない可能性があります。
利点
Server Load Balancer アクセスログには、次の利点があります。
- 使いやすさ
開発者や保守スタッフは、煩雑で時間のかかるログ処理から解放され、ビジネス開発や技術調査に集中できるようになります。
- 費用対効果
一般的に、アクセスログは膨大なサイズになります。 また、アクセスログの処理には非常に長い時間がかかり、多くのリソースが消費されます。 Log Service は、自己構築型のオープンソースソリューションよりもアクセスログの処理速度が早く、費用対効果に優れています。 Log Service は、1 秒間に 1 億件のログを分析可能です。
- リアルタイム
DevOps、モニタリング、アラートなどのシナリオには、リアルタイムのログデータが必要です。 従来のデータストレージツールや分析ツールでは、この要件を満たすことができません。 たとえば、Hive でデータの ETL 処理を行うと、データ統合に多くの作業を費やし、時間がかかります。 Log Service は、強力なコンピューティング機能によって、アクセスログを数秒で処理、分析することができます。
- 柔軟性
インスタンス仕様に合わせて、Server Load Balancer アクセスログを有効または無効にすることができます。 また、必要に応じて保存期間 (1~365 日) を設定できるほか、ビジネスサービスの要件の拡大に合わせて、Logstore の容量を拡張できます。
アクセスログの設定
- レイヤー 7 リスナーが追加されていること。
- Log Service が有効化されていること。
- SLB コンソールにログインします。
- 左側のナビゲーションウィンドウで、 をクリックします。
- リージョンを選択します。
- [権限付与] をクリックし、[権限付与ポリシーに同意] をクリックして、Log Service へのログの書き込みを Server Load Balancer に許可します。
RAM アカウントを使用している場合、権限を付与するにはプライマリアカウントが必要です。 詳細については、「RAM ユーザーにアクセスログの使用を許可」をご参照ください。注 この操作は、初回のみ行う必要があります。
- [アクセスログ] ページで、対象 の Server Load Balancer インスタンスを検索し、[ログの設定] をクリックします。
- Log Service の LogProject と LogStore を選択し、 [OK] をクリックします。
使用可能な LogStore が存在しない場合は、Log Service コンソールをクリックして LogProject を作成します。
注 LogProject の名前がグローバルで一意であること、および LogProject のリージョンが Server Load Balancer インスタンスのリージョンと同じであるようにしてください。
アクセスログの検索と分析
Server Load Balancer アクセスログの設定後、次のインデックスフィールドを使用してログの検索と表示を行うことができます。
フィールド | 説明 |
---|---|
body_bytes_sent | クライアントに送信された HTTP 本文のサイズ (バイト)。 |
client_ip | クライアント IP。 |
host | リクエスト内のホストヘッダー。 |
http_user_agent | 受信したリクエスト内の http_user_agent ヘッダー。 |
request_length | リクエストの長さ (startline、HTTP ヘッダー、HTTP 本文を含む)。 |
request_method | リクエスト方式。 |
request_time | Server Load Balancer が最初のリクエストを受信してからレスポンスを返すまでの時間。 |
request_uri | 受信したリクエストの URI。 |
Slbid | Server Load Balancer インスタンスの ID。 |
status | SLB レスポンスのステータス。 |
Upstream_addr | バックエンドサーバーの IP アドレスとポート番号。 |
upstream_response_time | Server Load Balancer がバックエンドサーバーにリクエストを送信してから、クライアントにレスポンスを送信するまでの時間。 |
upstream_status | SLB がバックエンドサーバーから受信したレスポンスステータスコード。 |
アクセスログの検索
アクセスログを検索するには、以下の手順を実行します。
- ログの検索ページに移動します。 検索ページには、 Server Load Balancer コンソールまたは Log Service コンソールから移動できます。
- Server Load Balancer コンソールからの場合
[アクセスログ] ページで、 [ログの表示] をクリックします。
- Log Service コンソールからの場合
[Logstores] ページで、目的の Logstore の [検索] をクリックします。
- Server Load Balancer コンソールからの場合
- ログフィールドをクリックすると、詳細情報が表示されます。
- アクセスログを照会するための SQL 文を入力します。
たとえば、上位 20 位のクライアントを照会するには、次の SQL 文を入力します。この文は、ビジネス上の意思決定を支援するためのリクエストリソースを分析する際に使用します。
* | select ip_to_province(client_ip) as client_ip_province, count(*) as pv group by client_ip_province order by pv desc limit 50
アクセスログの分析
アクセスログは、ダッシュボードを使用して分析できます。このダッシュボードには、さまざまなグラフィック情報が提供されます。
アクセスログを分析するには、次の手順に従います。
- Log Service コンソールで、SLB インスタンスのプロジェクトリンクをクリックします。
- 左側のナビゲーションウィンドウで、 をクリックし、アクセスログの名前をクリックします。
アクセスログの無効化
アクセスログを無効化するには、次の手順に従います。
- SLB コンソールにログインします。
- 左側のナビゲーションウィンドウで、 をクリックします。
- リージョンを選択します。
- [アクセスログ] ページで、対象のインスタンスを検索し、 [削除] をクリックして、アクセスログを無効化します。
- 表示されたダイアログボックスで、 [OK] をクリックします。