今回の記事では、前回の記事で接続したLinuxのログをJupyter Notebookを使って解析していきます。そのための環境の準備を解説します。
目次
はじめに
今回の記事は、MicrosoftのドキュメントやGitHubを参考にした記事です。
詳しくは、こちらの記事をご覧下さい。
https://docs.microsoft.com/ja-jp/azure/sentinel/notebooks
https://github.com/Azure/Azure-Sentinel
Jupyter Notebookとは
JupterNotebookとは、対話形式でプログラムを実行し、データサイエンスの分野などで使われています。
1行ずつプログラムを実行できるので、エラーを見つけやすく、初心者でも簡単にプログラムを実行することができます。
詳しくは公式サイトをご確認ください。
今回はこのJupyterNotebookを使い、Azure Sentinelでログを解析していきます。
Jyupter Notebookの起動
では、早速Jyupter Notebookを起動しましょう。
Azure Sentinelのワークスペースの「脅威管理」の中から「ノートブック」を選び、「ノートブックに移動する」をクリックします。

すると、別のブラウザでMicrosoft Azure Notebookが起動するので、「Try it NOW>」をクリックします。

プロジェクトの作成
起動が完了したら、プロジェクトの作成をします。
画面上の「My Project」をクリックします。
Micosoftアカウントの連携が聞かれますが、OKを押して、続けて下さい。
そして、「New Project」でプロジェクトを作成します。

Git Hubからファイルをダウンロードする。
Git HubからAzure Sentinelのファイルをダウンロードします。
ここには環境を作るためのコードやサンプルコードなどがあります。
https://github.com/Azure/Azure-Sentinel
「clone or download」をクリックして、Azure Sentinelのファイルをダウンロードします。

Jupyter Notebookの環境設定
Azure SentinelをJupter Notebookで使うためには、必要なモジュールのインストールなど、環境の設定が必要です。
環境の設定が自動でできるようなコードがすでにGitHubの中にあるので、それを使って設定していきます。
先ほど、GitHubからダウンロードした中の「Notebooks」フォルダーに「ConfiguringNotebookEnvironment.ipynb」と「Get Started.ipynb」と「requirements.txt」のファイルがあるので、Notebookにアップロードします。
アップロードの方法は「↑Upload」から「from Computer」をクリックします。画像では「requirements.txt」をアップロードし忘れていましたが、のちのち使うので、この時一緒にアップロードしましょう。

アップロードが完了したら、「ConfiguringNotebookEnvironment.ipynb」を開きましょう。

ここに環境の条件が書かれています。
・python3.6以上
・仮想環境を作る
・requirements.txtを使う
など、、、
今回は、仮想環境は作らず、そのままの環境でやります。
ノートブック上で以下のコマンドを打ちます。
!pip install --upgrade pip
!pip install -r requirements.txt
「!pip install -r requirements.txt」はrequirements.txtに書かれたモジュールをインストールしてくれます。
最後に、ノートブックに書かれている↓の画像のプログラムを実行して、エラーが無いことを確認します。

環境が正しく構築されているか確認する。
次に、プロジェクトから「Get Started.ipynb」を開いてください。
基本的には、ノートブック内のプログラムを1行ずつ実行していけば、大丈夫です。

途中で「 Retrieve Log Analytics Information」というところがあり、
Log Analyticsの情報を入力するところがあるので、Log Analyticsの情報を入力します。「config.json」のファイルが無いとエラーがでたら、変数に値を直接入力します。
そして、kqlmagicでLog Aalyticsに接続できたら完了です。
その際、Microsoftの認証画面が表示されます。
接続できたら、ログを表示してみましょう。
%kql search *
これで何かログが表示できたら完了です。
Notebookにも同じコマンドが書かれています。
さいごに
今回の記事では、LinuxのログをJupyter Notebookを使って解析するための準備を解説しました。
次回は実際にログを解析してみたいと思います。