Log Service は、ログデータのオールインワンサービスです。ユーザーをデータ収集、ストレージの相互接続、インデックス作成といった仕事から解放し、Log Service を照会すれば分析に専念できるようになります。 2017 年 9 月に Log Service のインデックス作成機能がアップグレードされ、query + SQL-92 構文でリアルタイムにログ分析ができるようになりました。
ダッシュボードのほか、DataV、Grafana、Tableau、および Quick と連携して、解析結果を可視化することもできます。本ドキュメントでは、Grafana を例に Log Service で Nginx ログを解析/可視化する方法について説明します。
プロセス構造
ログ収集から分析までの流れは以下のとおりです。

手順
- ログデータの収集。詳しい手順については、5 分でクイックスタートをご参照ください。
- インデックス設定とコンソールで照会するための設定、 詳細な手順については、概要、分析 - Nginx アクセスログ、または、ログ分析例をご参照ください。
- Grafana プラグインをインストールすと、リアルタイムに SQL クエリ結果がビューに反映されます。
ステップ 1 と 2 を終えると、クエリページで生ログが表示されます。
本ドキュメントでは、手順 3 を詳述します。
手順
1.Grafana をインストール
詳細なインストール手順についてはGrafana official documentをご参照ください。
Ubuntu へのインストールコマンドは次のとおりです。
wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_4.5.2_amd64.deb
sudo apt-get install -y adduser libfontconfig
sudo dpkg -i grafana_4.5.2_amd64.deb
円グラフを使用するには、円グラフのプラグインをインストールします。詳細なインストール手順についてはGrafana official document をご参照ください。
次のコマンドを実行します。
grafana-cli plugins install grafana-piechart-panel
2.Log Service プラグインをインストール
Grafana プラグインのディレクトリを確認します。 Ubuntu プラグインは/var/lib/grafana/plugins/
にあります。 プラグインをインストール後に、Grafana サーバーを再起動します。
cd /var/lib/grafana/plugins/
git clone https://github.com/aliyun/aliyun-log-grafana-datasource-plugin
service grafana-server restart
3.ログデータソースを設定
ローカルマシンにインストールする場合、インストールに使用するポートは 3000 に初期設定されています。ブラウザでポート 3000 を開きます。
- 左上隅の Grafana のロゴをクリックします。表示されるダイアログボックスでデータソースを選択します。
- Add data sourceをクリックし、ログのグラフ分析に Grafana と Alibaba Cloud の Log Service を選択します。
- 新しいデータソースの構成項目を指定します。
構成には下表の各項目があります。
設定項目 設定内容 データソース 名前は指定します。タイプはLogService。 HTTP 設定 URL の例: http://dashboard-demo.cn-hangzhou.log.aliyuncs.com
。dashboard-demo
(プロジェクト名) およびcn-hangzhou.log.aliyuncs.com
(プロジェクトのリージョン) は、環境に合わせてご変更ください。アクセス方法は、「直接」または「プロキシ」を選択します。HTTP 認証 初期値をそのままご使用ください。 Log Service 詳細 読み取り権限のあるプロジェクト、Logstore、および AccessKey を入力して Log Service の詳細を設定します。プライマリアカウントおよびサブアカウントに AccessKey があります。 設定例
図 2. 設定例
設定が完了したら、Addをクリックしてデータソースを追加します。次に、ダッシュボードを追加します。
4.ダッシュボードを追加
クリックして左上隅のメニューを開き、Dashboardsを選択し、 Newをクリックします。 左上のメニューに新しいダッシュボードが追加されます。
4.1 テンプレート変数を設定
Grafana にテンプレート変数を設定して、変数の値に応じてビューを表示できるようにします。本ドキュメントでは、時間間隔と各ドメインの設定方法について説明します。
- ページ上部のsetアイコン、templateを順にクリックします。
- 同ページに、設定されたテンプレート変数が表示されます。 新しいテンプレートを作成するには、newをクリックします。 まず、時間間隔を設定します。
変数名は設定したものにします。例では「$myinterval」とします。クエリ条件には
$ myinterval
を記述します。設定については下表をご参照ください。構成項目 構成内容 名前 変数名 (例: 「myinterval」) タイプ 間隔
を選択ラベル 時間間隔
を入力選択肢 値に 1m,10m,30m,1h,6h,12h,1d,7d,14d,30d
と入力 - ドメイン名テンプレートを設定します。
通常、1 つの VPS に複数のドメインがマウントされています。各ドメインの状況をひとつひとつ確認しなければなりません。 テンプレート値を、
*、www.host.com、www.host0.com、www.host1.com
と入力すればすべてのドメインが表示され、www.host.com
,www.host0.com
またはwww.host1.com
とそれぞれ入力すればそれぞれのアクセス状況が表示されます。ドメイン名テンプレートの設定項目は、下表のとおりです。
構成項目 構成内容 名前 変数名 (例: 「hostname」) タイプ カスタム
を選択ラベル ドメイン名
を入力選択肢 値に *,www.host.com,www.host0.com,www.host1.com
を入力設定が完了すると、設定されたテンプレート変数がダッシュボードページの上部に表示されます。ドロップダウンボックスから任意の値を選択します。 例えば、時間間隔として以下の値を選択できます。
4.2 PV/UV を設定
- 左側のAdd ROWをクリックして、新たな行を作成します。すでに行があれば、左側のメニューよりAdd Panelを選択します。
- Grafana にはさまざまなビューが用意されています。PV および UV データの場合は、Graphビューを作成します。
- Panel Titleをクリックして表示されるメニューよりEditをクリックします。
- メトリック設定の、データソースには
logservice
を選択し、クエリ、Y 軸、X 軸を設定します。図 3. PV/UV の設定 - データソースのドロップダウンボックスより、
logService
を選択します。構成項目 構成内容 Query
$hostname は、任意のドメイン名に置き換えます。$$myinterval は時間間隔に置き換えられます。「myinterval」の前には「$」が 2 つあり、「hostname」の場合は 1 つしかないことにご注意ください。$hostname| select approx_distinct(remote_addr) as uv ,count(1) as pv , __time__ - __time__ % $$myinterval as time group by time order by time limit 1,000
X-Column 時間 Y-Column UV、PV UV と PV の値はかけ離れているため、Y 軸を 2 つ表示します。UV の左側の色付きの線をクリックし、UV を左右のいずれの Y 軸にするかを指定します。
図 4. Y 軸の表示 タイトルは「Panel Title」に初期設定されています。変更するには、「基本」タブに移動し、タイトル設定に新しいタイトル (例:
PV&UV
)を入力します。
4.3 送受信ネットワーク帯域幅を設定
送受信のネットワーク帯域幅は4.2 PV/UV を設定と同様に追加します。
主な設定項目は次のとおりです。
構成項目 | 構成内容 |
---|---|
Query |
|
X-Column | 時間 |
Y-Column | net_in、net_out |
4.4 HTTP メソッドの割合
4.2 PV/UV を設定同様に HTTPメソッドの割合を設定します。
新たに行を作成し、円グラフを選択し、Query、X 軸、Y 軸を設定します。
主な設定項目は次のとおりです:
構成項目 | 構成内容 |
---|---|
Query |
|
X-Column | pie |
Y-Column | method、pv |
4.5 HTTP ステータスコードの割合
4.2 PV/UV を設定と同様に HTTP ステータスコードの割合を設定します。
新しい作成された行に、ビューの円グラフビューを選択します。
主な設定項目は次のとおりです:
構成項目 | 構成内容 |
---|---|
Query |
|
X-Column | pie |
Y-Column | status、pv |
4.6 トップソースのページ
4.2 PV/UV を設定と同じ方法でトップソースのページを設定することができます。
新しい作成された Row の中に、ビューのPie Chartを選択します:
主な設定項目は次のとおりです:
構成項目 | 構成内容 |
---|---|
Query |
|
X-Column | pie |
Y-Column | referer、pv |
4.7 最大待ち時間のページ
4.2 PV/UV を設定と同様に最大待ち時間のページを設定します。
URL とテーブル内の待ち時間を表で表示するには、作成時にその表を表に指定します。
主な設定項目は次のとおりです。
構成項目 | 構成内容 |
---|---|
Query |
|
X-Column | 空欄のまま |
Y-Column | top_latency_url、request_time |
4.8 アクセス頻度の高いページ
4.2 PV/UV を設定と同様にアクセス頻度の高いページを追加します。
新しいテーブルビューを作成します。 データソースに Log Service を選択し、クエリ、X軸、およびY軸を指定します。下表をご参照ください。
構成項目 | 構成内容 |
---|---|
Query |
|
X-Column | 空欄 |
Y-Column | path、pv |
4.9 応答ステータスコード 200 以外の多かったページ
4.2 PV/UV を設定と同様に応答ステータスコード 200 以外の多かったページを追加します。
新しいテーブルビューを作成します。 データソースに Log Service を選択し、クエリ、X軸、およびY軸を指定します。下表をご参照ください。
構成項目 | 構成内容 |
---|---|
Query |
|
X-Column | 空欄 |
Y-Column | url、pv |
4.10 フロントエンドとバックエンドの平均待ち時間
4.2 PV/UV を設定と同様に平均フロントエンドを追加します。
新しいグラフビューを作成します。データソースに Log Service を選択し、クエリ、X軸、およびY軸を指定します。下表をご参照ください。
構成項目 | 構成内容 |
---|---|
Query |
|
X-Column | time |
Y-Column | upstream_response_time,response_time |
4.11 クライアント統計
4.2 PV/UV を設定と同様にクライアント統計を追加します。
新しい円グラフを作成します。データソースに Log Service を選択し、クエリ、X軸、およびY軸を指定します。下表をご参照ください。
構成項目 | 構成内容 |
---|---|
Query |
|
X-Column | pie |
Y-Column | http_user_agent,pv |
4.12 ダッシュボードの保存と公開
ページ上部の保存ボタンをクリックして、ダッシュボードを公開します。
5.結果を表示
ダッシュボードのホームページを開き、結果を表示します。参照デモ: デモ
ページの上部で、統計の期間または間隔、または、別のドメイン名を選択します。
以上で Dashboard for Nginx のアクセス統計の設定は完了です。分析にお役立てください。
