#2 Azure Data Explorer を使ってみよう 【分析・可視化編】


## 【 Azure Data Explorer 分析・可視化編 その２ 】

### 概要
Azure Data Explorer を使ってみよう！　ということで、以下の３ステップで簡単に說明します
  1. [【環境準備編】](https://qiita.com/turupon/items/351d23d2a76fcf18dd86)：Azure Data Explorer 環境を作成し、ADLS Gen2 のデータを抽出します
  2. [【可視化編】](https://qiita.com/turupon/items/ca09d5780f3e6a07f6f8)：Data Explorer で クエリー処理 されたデータを可視化し、共有します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/544022/1ec4f125-d61b-c541-aaf9-da1550035ec4.png)

今回は 【可視化編】の說明となります

  - Azure Data Explorer
    - インジェストの作成
    - ダッシュボードの作成
    - ダッシュボードの共有
  - 付録
    - Azure Workbooks

### ローカル環境

- macOS Big Sur 11.3 
- python 3.8.3
- Azure CLI 2.28.0

### 前提条件

1. Azure環境がすでに用意されていること（テナント/サブスクリプション）
2. ローカル環境に「azure cli」がインストールされていること。
3. 「Azure Data Explorer を使ってみよう」 の[【環境準備編】](https://qiita.com/turupon/items/351d23d2a76fcf18dd86) を完了していること

---

## Azure Data Explorer の可視化

### Azure Data Explorer インジェストの作成

[Azure Data Explorer の Portal](https://dataexplorer.azure.com/) に接続します。表示されるデータ管理画面の中央部にあるタグから「継続的なインジェスト」を選択し、「ADLS Gen2 からの取り込み」の「取り込み」ボタンを押します。

表示された「Ingest new data」の「Destination」タブ画面において、以下の値を設定し、画面下部の「Next Source」ボタンを押す

| 項目 | 値 |
| ---- | --- |
| Cluster | iturudecluster01.japaneast |
| Database | database01 |
| Table | Create new table - tbl_nsg |

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/544022/ab6d5900-f32d-c49e-69be-29c9d5eb160e.png)

次に表示された「Ingest new data」の「Source」タブ画面において、以下の値を設定し、画面下部の「Next Schema」ボタンを押す

| 項目 | 値 |
| ---- | --- |
| Source Type | ADLS Gen2 コンテナーから |
| インジェストの種類 | １回限りで継続的 |
| Select source | コンテナーの選択 |
| Storage subscription | PSP2-01 |
| Storage account | testaccount |
| Container | etl-cost-data |
| Table | tbl01 |
| Sample size | 1 - 5,000 |
| File Filters - Folder path | ParSubscription_02.json/Subscription=NSG-01 |
| File Filters - File extention | .json |

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/544022/3967741f-0025-ca38-2518-5d5ce317425c.png)

次に表示された「Ingest new data」の「Schema」タブ画面において、以下の値を設定し、画面下部の「Next Summary」ボタンを押す

| 項目 | 値 |
| ---- | --- |
| Compression Type | Uncompressed |
| Data format | JSON |
| Nexted levels | 1 |
| Mapping | tbl_nsg_mapping |

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/544022/1e300ebd-3c9d-edaf-db0a-32811d2d5bff.png)

最後に「データ インジェスト完了」画面が表されます。問題がなければ画面下部の「Close」ボタンを押す

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/544022/b13861d1-b4e6-8f5e-7dcb-2a50363d66ae.png)

---

### Azure Data Explorer ダッシュボードの作成

Azure Portal の 「Azure Data Explorer クラスター」画面の左側から「概要」を選択し、「基本」にある URL をコピーておきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/544022/4d9f787d-750d-a36b-7237-b3a2f9b200a9.png)

Azure Data Explorer のポータル画面の左側から「ダッシュボード」を選択し、「Create new dashboard」ボタンを押します。次に表示される画面の「Dashboard　name」欄に「Dashboard-iapp」と入力し「Create」ボタンを押します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/544022/64074021-2e7e-4c9c-a72d-037d1a0ab9bc.png)


新たに表示される画面中央にある「+ Add title」ボタンを押し、次に表示される画面下部の「+ Data source」ボタンを押します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/544022/b7038922-16f9-f61b-10e6-4952a39f05ec.png)


画面左に表示される「Create new data source」画面に以下の値を設定し、その画面下部の「Apply」ボタンを押します。
- ※ Cluster URI 入力後、「Connect」ボタンを押すと、Databaseが自動的に表示されます。

| 項目 | 値 |
| ---- | --- |
| Data source type | Kusto |
| Data source name | CostNSG |
| Cluster URI | https://iturudecluster01.japaneast.kusto.windows.net |
| Database | database01 |

次に表示される「クエリ ウィンドウ」に以下を入力し、実行します。「Results ウィンドウ」その結果が表示されます。

```
tbl_nsg
| sort by ['Date'] asc
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/544022/303f1026-710d-46b5-8ad3-2133fa7f68e3.png)


「Results ウィンドウ」から「Visual ウィンドウ」に切り替え、画面右に表示される「Visual formatting」プロパティの値を適当に入力します。

| 項目 | 値（例） |
| ---- | --- |
| Tile Name | NSG Cost Daily |
| Visual type | Line chart |
| Y columns | UsageCost |
| X columns | Date |
| Series columns | ResourceGroup |
| Y軸 Lavel | UsageCost |
| X軸 Lavel | Date |

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/544022/1ae0640e-05e0-cd38-66af-7dfa7750d9e3.png)


上記プロパティ設定後、以下のようなグラフが表示されます。問題なければ画面上部の「Apply changes」もしくは「Save changes」ボタンを押して保存します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/544022/9542c71c-aa7b-64fb-c450-0654f0bea09b.png)

---

### Azure Data Explorer ダッシュボードの共有

#### ダッシュボード へのアクセス許可

Azure Data Explorer のポータル画面の左側から「ダッシュボード」を選択し、先程作成した「Dashboard-iapp」を選択します。次に表示される画面上部の「Share」から「Manage permissions」を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/544022/26941c43-140e-d069-afde-292b63d3228a.png)


その後、画面右側に「Dashboard permission Dashboard-iapp」が表示されるので、アクセス許可を与えたいグループもしくは個人に「Can View」の権限を付与し、右側「Add」ボタンを押します。対象となる全てにアクセス許可を付与し終えたら、最後に画面下部にある「Copy Link」ボタンを押し、共有のためのURL情報をどこかにコピーしておきます。
  - コピーサンプル＞ https://dataexplorer.azure.com/dashboards/eeeeeeee-xxxx-yyyy-zzzz-ffffffffffff）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/544022/4d8a5e5f-8754-ec05-f9ea-9715c64a1c91.png)


#### クラスターのデータベース へのアクセス許可

Azure Portal の 「Azure Data Explorer クラスター」画面の左側から「データベース」を選択し、データベース一覧に表示されている中から対象となるデータベース「database01」を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/544022/51d745aa-7b6c-30c9-734d-4df42a514729.png)


次に表示される画面左側から「アクセス許可」を選択肢、画面上部の「+追加」から「User」アクセス許可を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/544022/a1545d46-9c5f-1d91-7ecb-d382cfce4386.png)


新たに画面右側に表示される「新しいプリンシパル」において、アクセス許可を与えたいグループもしくは個人を選択し、画面下部の「選択」ボタンを押します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/544022/c45bc6b5-063d-12ba-f95d-2605aa7999df.png)


#### 共有リンクへのアクセス

上記でアクセス許可を与えた方に 共有のためのURL情報 を教え、ブラウザ経由でアクセスを確認してもらいます。問題なくアクセスできれば、作成したグラフが表示されます。

---

### まとめ

Azure Data Explorer で連携されている workbooks によるデータの可視化共有は表示がプア（個人的見解）なので、Azure Data Explorer のダッシュボード（プレビュー）を利用して、データの可視化共有をおこないました。早期にGAされることを願ってます、、、、、、

---

### 付録 - Azure Workbooks

Azure Data Explorer で連携されている workbooks によるデータの可視化は以下のようになります。

Azure Portal の 「Azure Data Explorer クラスター」画面の左側から「workbooks」を選択し、画面上部の「＋新規」タブを選択します。次に表示される画面で「＋追加」から「クエリの追加」を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/544022/5c32ac01-42f9-5e7e-e0ab-104991004ca8.png)


新たに表示される画面上部の入力欄に以下を入力します。

| 項目 | 値 |
| ---- | --- |
| データソース | Azure Data Explorer |
| クラスター名 | https://iturudecluster01.japaneast.kusto.windows.net |
| データベース名 | database01 |
| 視覚化 | 折れ線 |
| サイズ | 中 |
| 凡例 | 値の合計 |

その下の「クエリ ウィンドウ」に以下を入力し、実行します。「Results ウィンドウ」その結果が表示されます。

```
tbl_nsg
| sort by ['Date'] asc
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/544022/862fa380-11f6-ae6c-b376-6010abc20756.png)