Azure Data ExplorerやKusto.Explorerを使ったLog Analyticsのログ検索
Azureで提供されているデータ分析プラットフォームサービスとしてAzure Data Explorerがあります。
Log Analyticsワークスペースと連携させる事でAzure Monitorログ(Log Analytics)の検索にも利用可能です。
Azure Data Explorerで使えるクライアントツールとしてKusto.Explorerがあります。
Kusto.Explorerを使うとクライアント端末上でKQL(kustoクエリ言語)を使ったクエリ検索が出来ます。
今回はAzure Data ExplorerへのLog Analyticsワークスペース追加手順を纏めてみました。
併せてLog Analyticsワークスペースに収集されたログをKusto.Explorerを使ってKQLクエリ検索までの設定手順も纏めています。
-
- 主な内容
- Azure Data Explorer クラスターのデプロイからデータベース作成、権限付与
- Azure Data ExplorerにLog Analyticsワークスペースをクラスターとして追加
- Kusto.Explorerのインストール
- Kusto.ExplorerにLog Analyticsワークスペースをクラスターとして追加
- Kusto.ExplorerでKQLを使ったログ検索
- 主な内容
Azure Data Explorerクラスターをデプロイ
Azure Data Explorerクラスターリソースのデプロイ、データベースへの権限付与までの手順です。
概要
Azure Data Explorer は大量のデータを”ほぼ”リアルタイムでデータ分析出来るプラットフォームになります。
フルマネージドサービスとなっていますがサーバーレスではありません。
仮想マシン(Azure VM)で構成されるAzure Data Explorerクラスターが必要となります。
Azure Data Explorerとは
Azure Data Explorer のしくみ
価格
Azure Data Explorerクラスターを構成するインスタンスサイズにより課金額変わります。
課金額はインスタンス+Azure Data Explorer 割増の組み合わせで決定されます。
一番安いインスタンスはDeveloper レベルでE2a v4(vcpu:2 ストレージ:30GB)で$110.96/月(2022年11月3日現在)になります。
コンピューティング最適化インスタンスとしてはE2ads v5(vcpu:2 ストレージ:55GB(SSD))で$116.070/月(2022年11月3日現在)になります。
インスタンス利用料金に追加してAzure Data Explorer 割増料金が$80.30/コア/月が追加で発生します。
E2ads v5の場合は$116.070+$80.30×2コア=276.67$/月となります。
※Developer レベルにはSLAがありません。
※クラスター停止期間中は課金が発生しません。(ただしストレージ課金料金は除く)
リソースをデプロイ
Azure Data Explorerクラスターのリソースをデプロイします。
スケーリング、構成、セキュリティ、診断設定についてはデフォルト設定としています。
ネットワーク設定は後ほど修正するので作成時はデフォルト設定としています。
-
- 主な設定項目
- クラスター名、ワークロード(仮想マシン(Azure VM)のサイズ)等
- スケーリング(クラスターのスケーリング設定)
- 構成(ストリーミングインジェストや自動停止などのコストに関わる設定)
- セキュリティ(暗号化やマネージドIDなど)
- ネットワーク(パブリックアクセスの許可など)
- 診断設定(クラスターのログやメトリック)
- 主な設定項目
公式サイトの作成手順を参考に進めます。
クイック スタート:Azure Data Explorer クラスターとデータベースを作成する
ネットワーク設定
Azure Data Explorerのネットワーク設定を行います。
パブリックネットワークアクセスを許可するとどこからでもアクセス可能な為セキュリティ的に好ましくありません。
そこで操作する自端末からのIPのみ許可します。
ネットワーク設定 | |
自端末からのIPのみアクセス許可するように変更します。 パブリックネットワークアクセスを無効にします。 クライアントIPアドレスの追加にチェックを入れます。 保存を選択します。 |
データベース作成
Azure Data Explorerクラスターにデータベースを作成します。
Azure Data Explorer使ってクエリを実行する為には最低1つのデータベースが必要になります。
データベース作成 | |
データベースの追加を選択します。 |
|
データベースが作成完了すると一覧に表示されます。 |
Azure ADユーザー作成
Azure Data Explorer用のAzure ADユーザーを作成します。
自身の環境だと"Principal 'msauser=XXXXX@XXXXX.onmicrosoft.com’ is not authorized to perform operation 'VersionShowCommand’と出てエラーが発生していました。
以下のサイトの記事を参考に、Azure ADユーザーを新規に追加して対応しています。
Unable to access Azure Data Explorer from Kusto.Explorer Tool and PowerBI Tool #35201
Kusto Access Control の概要
Azure ADユーザー追加 | |
Azure ADの画面でユーザー追加します。 ※ユーザー名はdataexploreruser@XXXXX.onmicrosoft.comとしています。 |
|
作成が完了すると一覧に追加されたユーザーが表示されます。 |
アクセス許可設定
Azure Data Explorerクラスターでデータベースに対するアクセス許可設定を行います。
アクセス許可がないとAzure Data Explorerでクラスターを追加する際にエラーとなります。
アクセス制御 (IAM)とアクセス許可設定は別設定です。
Kusto Access Control の概要(承認)
ロール ベースの承認
アクセス許可設定 | |
アクセス許可設定で追加を選択します。 |
|
作成したAzure ADユーザー(dataexploreruser@XXXXX.onmicrosoft.com)を選択します。 |
|
追加が完了するとアクセス許可一覧にユーザーが表示されます。 |
※今回の作業用に必要な権限割り当てを行っています。アクセス制御(IAM)も必要に応じて設定します。
Azure Data ExplorerにLog Analyticsワークスペースを追加
Azure Data Explorer(Web UI)でLog Analyticsワークスペースを追加します。
-
- クラスター追加順序
- Azure Data ExplorerにAzure Data Explorerクラスターを追加
- Azure Data ExplorerにLog Analyticsワークスペースを追加
- クラスター追加順序
Azure Data Explorer(Web UI)にクラスターを追加
Azure Data ExplorerにはAzure Portalとは別にWeb UIが用意されています。
Azure Data Explorer(Web UI)はAzure Data Explorer クラスターに接続して使用します。(スタンドアローンでの利用も可能です。)
Azure Data Explorer(Web UI)を使ってKQLクエリを作成、実行、共有できます。
クイック スタート: Azure Data Explorer Web UI でデータのクエリを実行する
クラスター追加 | |
Azure Data Explorerにアクセスします。 サインイン画面が表示されます。 |
|
サインインするとAzure Data Explorerが表示されます。 組織のクラスターに接続しますを選択します。 |
|
クラスターの追加が表示されます。 ※認証で失敗する場合は権限周りを再確認します。 |
|
設定が完了するとAzure Data Explorerクラスターが表示されます。 |
|
接続状況を確認します。 .show database 結果が戻ってくれば接続出来ています。 |
Log Analyticsワークスペースを追加
Azure Data ExplorerにLog Analyticsワークスペースを追加します。
事前に作成してあるLog Analyticsワークスペース(test-loganalytics-workspace-01)を追加します。
追加にはAzure Data Explorer(Web UI)使います。
Log Analyticsワークスペースでのアクセス制御(IAM)権限も必要になります。
公式サイトの手順を参考に進めます。
Azure Data Explorer クライアント ツールに Log Analytics/Application Insights ワークスペースを追加する
Kusto.ExplorerにLog Analyticsワークスペース追加
Kusto.Explorerの概要
Kusto.ExplorerはクライアントでKQL(Kusto クエリ言語)を実行利用できるアプリケーションです。
Azure PortalのLog Analyticsワークスペースでログ検索するより柔軟に色々出来ます。
Kusto.Explorer のインストールとユーザー インターフェイス
Kusto.Explorer の使用
Kusto Exploreのインストール
Kusto.Explorerをインストールします。
Kusto.Explorerのインストール | |
Kusto.Explorer のインストールとユーザー インターフェイスへアクセスします。 Kusto Exploreのインストールにあるリンクをクリックしてexeファイルをダウンロードします。 |
|
exeファイルをクリックしインストールを開始します。 | |
警告画面が表示されます。 インストールを選択します。 |
|
インストールが完了するとアプリが起動します。 確認メッセージが表示された場合は実行を選択します。 |
|
ライセンス確認メッセージが表示されます。 内容を確認後OKを選択します。 |
|
Kusto.Explorerが起動します。 |
Kusto.ExplorerにLog Analyticsワークスペースを追加する
新規にコネクションを作成してKusto.ExplorerにLog Analyticsワークスペースを追加します。
※一度Log Analyticsワークスペースと接続を作成すると、Azure Data Explorerクラスターを削除しても接続は有効なようです。
Kusto.ExplorerでLog Analyticsワークスペースのログ検索
Kusto.ExplorerでLog Analyticsワークスペースのログ検索してみます。
ログ検索 | |
Open In New tabを選択します。 | |
クエリ実行画面が表示されます。 VMProcessと入力して実行アイコンをクリックします。 |
|
結果が表示されています。 Kusto.ExplorerでLog Analyticsワークスペースのログ検索できる事が確認出来ました。 |
最後に
Log Analyticsワークスペースに収集されたログをAzure Data Explorer(Web UI)やKusto.Explorer使ってKQLクエリ検索するまでの手順を確認してみました。
Kusto.Explorerを使う事により柔軟にKQLクエリ検索する事が出来ます。
Azure Data Explorerは様々なログをデータベースに取り込む事により柔軟にクエリ検索する事が出来ます。
イベントハブ経由で診断設定のデータを取り込むことも可能です。
Log Analyticsワークスペースと接続する部分までを実施していますが、各種ログを柔軟にKQLクエリ検索する事が出来ます。
今後も引き続き色々試してみたいと思います。