DataVは、Alibaba Cloudが提供するデータ可視化サービスです。 DataVを使用すると、GUI上でプロフェッショナルな視覚化アプリケーションを簡単に構築できます。 DataVを使用して、ログ分析データを視覚化できます。 このトピックでは、Simple Log ServiceをDataVに接続し、ダッシュボードでログデータを視覚化する方法について説明します。
前提条件
背景情報
リアルタイムダッシュボードは、大規模なオンラインプロモーションで広く使用されています。 リアルタイムダッシュボードは、ストリームコンピューティングアーキテクチャに基づいています。 アーキテクチャは、次のモジュールで構成されています。
データ収集: 各ソースからリアルタイムでデータを収集します。
中間ストレージ: Kafkaキューを使用して、生産システムと消費システムを分離します。
リアルタイムコンピューティング: リアルタイムデータをサブスクライブし、コンピューティングルールを使用してダッシュボード上のデータを計算します。
結果ストレージ: 計算結果をSQLおよびNoSQLデータベースに格納します。
視覚化: API操作を呼び出して結果を取得し、結果を視覚化します。
Alibaba Groupは、モジュールをサポートする複数のサービスを提供します。
ログクエリおよび分析機能に関連するAPI操作を呼び出すことで、Simple Log ServiceをDataVに接続できます。 次に、DataVを使用して、ダッシュボード上のデータを視覚化できます。
特徴
次のコンピューティング方法がサポートされています。
リアルタイムコンピューティング (ストリーミングコンピューティング): 固定コンピューティングと可変データ。
オフラインコンピューティング (データウェアハウスとオフラインコンピューティング): 動的コンピューティングと可変データ。
Simple Log Serviceは、LogHubに保存されているログにリアルタイムでインデックスを作成できます。 これにより、LogSearch/Analyticsメソッドを使用して、適時性が高いシナリオでデータをクエリおよび分析できます。 LogSearch/Analyticsメソッドには、次の利点があります。
高速処理: クエリステートメントは、1秒以内に数十億行のデータをクエリできます。 この場合、クエリ文で最大5つの条件を指定できます。 クエリステートメントは、1秒以内に数億行のデータを分析および集約できます。 この場合、クエリ文で最大5つの条件とGROUP BY句を指定できます。 結果を待ったり予測したりする必要はありません。
リアルタイム表示: ログが生成されてから1秒以内に最大99.9% のログをダッシュボードに表示できます。
動的データ更新: 分析メソッドを変更したり、データをLogstoreにインポートしたりすると、ダッシュボードに表示されるデータがリアルタイムで更新されます。
LogSearch/Analyticsメソッドには、次の制限があります。
データ量: 最大100億行のデータを同時に計算できます。 より多くのデータを計算する必要がある場合は、オフピーク時の期間を指定する必要があります。
コンピューティングの柔軟性: SQL-92構文のみがサポートされています。 ユーザー定義関数 (UDF) はサポートされていません。
Log Service SLSデータソースを追加する手順
にログインします。 DataVコンソール
On theマイデータタブをクリックします。データソースをクリックし、データの追加.
[タイプ] ドロップダウンリストから [Log Service] を選択します。
Log Service情報を入力します。
項目
説明
Name
追加するデータソースの名前。 このパラメーターをカスタム名に設定できます。
AppKey
対象のLog Serviceインスタンスにアクセスする権限を持つアカウントのAccessKey ID。
AppSecret
対象のLog Serviceインスタンスにアクセスする権限を持つアカウントのAccessKeyシークレット。
エンドポイント
Log Serviceのエンドポイントを入力します。 詳細については、「エンドポイント」をご参照ください。 SLSサービスのネットワークタイプとリージョンに基づいてパラメーターを設定します。
Log Serviceインスタンスが中国 (上海) リージョンのVPCにデプロイされている場合は、EndPointに https://cn-shanghai-intranet.log.aliyuncs.com を入力します。
Tablestoreデータソースに関する情報を入力したら、[OK] をクリックします。
追加されたデータソースがデータソースリストに表示されます。
Log Service SLSデータソースを使用する手順
にログインします。 DataVコンソール
[プロジェクト] タブで、編集するプロジェクトにポインターを移動し、[編集] をクリックします。
重要[マイビジュアライゼーション] ページでビジュアライゼーションアプリケーションを作成していない場合は、「可視化アプリケーションの作成、プレビュー、公開」をご参照ください。
Canvas Editorで、キャンバス上のウィジェットをクリックします。
キャンバスにウィジェットが追加されていない場合は、最初にウィジェットを追加します。 詳細については、「アセット管理 (Enterprise Edition)」をご参照ください。
右側の設定パネルで、[データ] タブをクリックし、[設定] をクリックします。
[データソースの設定] ペインで、[データソースの種類] ドロップダウンリストから [Log Service] を選択します。
[データソースの選択] セクションで、設定したLog Serviceデータソースを選択します。
[クエリ] の編集ボックスにクエリパラメーターを入力します。
JSONオブジェクトをクエリパラメータとして使用できます。 入力できるクエリパラメータは次のとおりです
。{ "projectName": "test" 、"logStoreName": "access-log" 、"topic": "test" 、"from": 1509897600、"to": 1509984000、"query": "" 、"line": 100、"offset": 0 }
説明のクエリ構文の詳細については、 query パラメーターは、「検索構文と関数」をご参照ください。
[データ応答のプレビュー] をクリックして、返されたデータを表示します。
例:
Apsara Conferenceでは、次の要件が提案されます。中国全体のユーザーから会議Webサイトでユニークビジター (UV) の統計を収集し、ダッシュボードでデータを視覚化します。 会議の前に、完全なログの収集を有効にし、Simple log Serviceのログクエリと分析機能を有効にしました。 したがって、UV統計を取得するには、クエリ文を実行するだけで済みます。 ただし、プロセス中に要件が変更されることがよくあります。 次の変更が行われます。
元の要件: 会議の初日に、当日のUVの統計を収集する必要があります。
統計を収集するには、すべてのアクセスログのNGINXのforwardフィールドを照会する必要があります。 各ログには転送フィールドが含まれ、このフィールドには各訪問者の1つ以上のIPアドレスが記録されます。
approx_distinct(forward)
関数を使用して、フィールドの異なるIPアドレスの数を計算できます。 したがって、会議の初日の00:00から現在の時刻までの時間範囲のUV統計を収集するには、次のクエリステートメントを使用します。* | select approx_distinct(forward) as uv
最初の変更: 会議の2日目に、yunqi.aliyun.comドメインのUVの統計を収集する必要があります。
ホストフィルター条件を追加して、ホストデータを照会できます。 UV統計を収集するには、次のクエリステートメントを使用します。
hos t:yunqi.aliyun.com | select approx_distinct(forward) as uv
2番目の変更: すべてのアクセスログのNGINXの転送フィールドに複数のIPアドレスが含まれている場合、最初のIPアドレスのみを予約する必要があります。
次のクエリ文を使用します。
hos t:yunqi.aliyun.com | select approx_distinct(split_part(forward,',',1)) as uv
3番目の変更: 会議の3日目に、UCブラウザの広告からリダイレクトされていないUVの統計を収集する必要があります。
UCブラウザ関連の統計を除外するために、フィルターなし条件を追加できます。 UV統計を収集するには、次のクエリステートメントを使用します。
hos t:yunqi.aliyun.com not URL:uc-iflow | select approx_distinct(split_part(forward,',',1)) as uv