1. Azure Monitor ブック / パラメータ機能を理解する
作成したクエリーを可視化させるため、Azure Monitor カスタムブックを作成していきます。
ここでは、可視化ブックで重要となる「パラメータ」機能 について演習を行います。
Microsoft Sentinel を確認し、「ブック」を開きます。
「Workbook の追加」を行います。
「編集」ボタンを押して、デフォルトに含まれる不要なクエリーを削除します。
「追加」を押して、「パラメータの追加」を選びます。
「パラメータの追加」を以下のように設定します。
parameter
value
パラメータ名
Time
表示名
Time
パラメータの型
時間の範囲の選択
必要
〇
説明
過去時間の選択(お好みの文言を入れる)
使用可能な時間の範囲
(お好みで)
parameter
value
パラメータ名
FlowStatus
表示名
FlowStatus
パラメータの型
ドロップダウン
データの取得元
JSON
JSON 入力
(以下jsonアレイ型を参考に)
[
{ "value" :" Allowed" , "label" :" 許可" },
{ "value" :" Denied" , "label" :" 拒否" }
]
parameter
value
パラメータ名
FlowDirection
表示名
FlowDirection
パラメータの型
ドロップダウン
データの取得元
JSON
JSON 入力
(以下jsonアレイ型を参考に)
[
{ "value" :" Outbound" , "label" :" 出力" },
{ "value" :" Inbound" , "label" :" 入力" }
]
parameter
value
パラメータ名
SrcIp
表示名
送信元IP
パラメータの型
テキスト
パラメータフィールドのスタイル
標準
説明
過去時間の選択(お好みの文言を入れる)
使用可能な時間の範囲
(お好みで)
parameter
value
パラメータ名
DstIp
表示名
宛先IP
パラメータの型
テキスト
パラメータフィールドのスタイル
標準
説明
過去時間の選択(お好みの文言を入れる)
使用可能な時間の範囲
(お好みで)
parameter
value
パラメータ名
L7Protocol
表示名
アプリ
パラメータの型
ドロップダウン
複数選択を許可する
有効化
データの取得元
クエリ
ドロップダウンに含める
すべて
NTANetAnalytics
| distinct L7Protocol
パラメータの設定イメージは以下の通りです。
「追加」より、前項で実施した Kusto クエリー (LogAnalytics) を追加します。
以下のクエリーを「Log Analytics ワークスペース ログ (Analytics) クエリ」に追加します。
「時間範囲」を一番下に表示される「時間の範囲のパラメータ : Time」に選択します。
時間範囲のパラメータは、クエリー内に where Timegenated > ago(1d)
のような条件が無くても、パラメータから引き継がれてクエリーに反映されます。
パラメータを反映させるように、フローステータス、送信元IP、宛先IP を読み出すようにクエリーを設定します。
where "{SrcIp:lable}" == "" or ipv4_is_match(SrcIp, "{SrcIp}")
の例では、送信元IPの値が空 ""
でも表示、もしくは ipv4_is_match
による送信元IPフィルタがかかるようにクエリーを設定します。
where "{L7Protocol:lable}" == "All" or L7Protocol in ({L7Protocol})
の例では、L7Protocol の値が ALL
(全て) を設定した場合、もしくは 複数設定による L7Protocol
によるフィルターでクエリーを設定します。
ポイント
パラメータが単一の場合、パラメータが Null の場合でも表示させるようにする、パラメータが複数を許可している場合、全てを押した場合でも表示されるように Kusto クエリーを留意する必要があります。
NTANetAnalytics
| where FlowStatus == "{FlowStatus}"
| where FlowDirection == "{FlowDirection}"
| where "{SrcIp:lable}" == "" or ipv4_is_match(SrcIp, "{SrcIp}" )
| where "{DstIp:lable}" == "" or ipv4_is_match(DestIp, "{DstIp}" )
| where "{L7Protocol:lable}" == "All" or L7Protocol in ({L7Protocol} )
| project FlowDirection,FlowStatus,FlowType,SrcIp,DestIp,DestPort,L4Protocol,L7Protocol,BytesSrcToDest,BytesDestToSrc
見栄えを良くするために、以下クエリー項目の設定を行います。
「視覚化」を「グリッド」に設定
「詳細設定」に移り、以下を設定
「ステップ名」を「SearchVnetFlowLog
」に変更
「編集中でないときに [Excel にエクスポート] ボタンを表示する」を有効
「グラフのタイトル」を「VNET フローログ 検索クエリー」に変更
「スタイル」に移り、以下を設定
「この項目をユーザー設定の幅にします」にチェック
「コンテンツ周りに境界線を表示します」を有効化
作成したブックに名前を付けて保存して下さい。