【目次】
- 1. はじめに
- 2. Simple mode(簡易モード)について
- 3. Simple mode(簡易モード)の利用方法
- 4. Simple mode(簡易モード)でログを検索する
- 5. Simple mode(簡易モード)で集計する
- 6. Simple mode(簡易モード)で表示する列を調整する
- 7. ダッシュボードへの追加
- 8. おわりに
1. はじめに
2024年5月30日に、Log Analyticsで簡単にログの検索ができる機能が発表されました。
Public Preview: Analyze data using Log Analytics Simple mode
Public Previewのため、まったく同じ状態でリリースされるとは限りませんが、本ブログ記事ではどのような機能なのか見ていきたいと思います。
なお、プレビューの追加使用条件が適用されます。
詳細については、Microsoft Azure プレビューの追加使用条件をご参考ください。
2. Simple mode(簡易モード)について
Log Analyticsは、もともとKusto Query Language (KQL) を使ってログを検索する必要があり、簡単にログを確認したいだけの場合でもどういったクエリを使えばいいか把握した上で検索する必要がありました。
クエリは難しい部分もあり、WafCharmブログでもLog AnalyticsでAzure WAFで検知状況を調査する際に使用できるクエリ例なども紹介していました。
- Log Analytics を利用して Azure WAF で検知状況を確認する方法
- Log Analytics を利用して Azure WAF で検知状況を確認する方法 (WafCharm ルール編)
ですが、Simple modeではクエリの利用が不要となっています。
基本的には検索したい条件を画面上で操作するだけで指定し、該当するログの確認ができるようになっています。
3. Simple mode(簡易モード)の利用方法
Simple modeを利用するためには、Azure Portal上でオプトインする必要があります。
- 「アプリケーション ゲートウェイ」を開く
- 「名前」から対象のApplication Gatewayをクリックする
- 左メニューから「ログ」をクリックする
- 「クエリ」のポップアップを閉じる
- 右上の「新しい Log Analytics を試用する」(Try the new Log Analytics)をクリックする
- 右上のプルダウンに「簡易モード」と記載されていることを確認する
なお、既存のクエリ画面に戻したい場合は、右上の3点リーダーボタンをクリックし、「クラシックログに切り替える」をクリックすると可能です。
Azureから新しいLog Analyticsに関するアンケートへの回答と求められますので、そちらに回答した後に元の画面に戻ります。
4. Simple mode(簡易モード)でログを検索する
Simple modeで検索する方法は、以下の通りです。
- ログ検索の画面を開いたら、「テーブルの選択」をクリックする
- Application Gatewayの下にある、「AzureDiagnostics」をクリックする
- 必要に応じて、「時間の範囲」にてログが存在する時間帯に変更する
- 必要に応じて、「Limit」の箇所で検索するログ数を変更する
上記を実施すると、該当機関のAzureDiagnosticsに存在するすべてのログが表示されます。
ここには、ApplicationGatewayFirewallLog(Azure WAFで検知した際のログ)とApplicationGatewayAccessLog(Application Gatewayのアクセスログ)の両方が含まれています。
今回は、WAFでの検知状況を確認するためにログを絞ってみましょう。
- 「Limit」の隣にある「追加」というボタンが有効になっているので、クリックする
- 「フィルターの追加」から「Category」を選択する
- 存在するログのカテゴリーが一覧で表示されるので、「ApplicationGatewayFirewallLog」を選択して適用する
上記で、Azure WAFで検知したログだけに絞られました。
もっと条件を絞りたい場合は、再度「追加」ボタンをクリックして、フィルターを追加します。
フィルターに記載される項目は、基本的にはログ内の項目と同じものが含まれます。
例えば、リクエストURIを元に絞りたい場合は「requestUri_s」、特定のルール名で検知状況を見たい場合は、「ruleId_s」から絞れます。
もし、WafCharmルールで検知したログだけに絞りたい場合は、フィルターにて「ruleId_s」を選択し、演算子で「次の値から始まる」、検索する値に「WafCharm」と入力すると、WafCharmルールで検知したログだけを表示できます。
なお、「追加」からフィルターなどのオプションを追加したり、追加したフィルターを削除するとその都度ログの検索(クエリの実行)が行われる点に注意が必要です。
Simple modeで実行した内容については、左側のメニューにある「クエリ履歴」からKQLのクエリとして確認が可能です。
例えば、上記の「WafCharm」から始まるルールを検索した際のクエリは、以下の通りとなっていました。
AzureDiagnostics | where Category in (```ApplicationGatewayFirewallLog```) | where ruleId_s startswith "WafCharm"
クエリは保存して繰り返し使うことができるので、もし同じような内容で再度検索したいとなった場合には、クエリ履歴を活用すると良いかもしれません。
5. Simple mode(簡易モード)で集計する
Simple modeでも、特定の値を元に集計できます。
今回は、WafCharmルールごとの検知数を集計してみます。
- 「追加」をクリックする
- 「演算子を追加する」以下の「集計」をクリックする
- 集計テーブルの「列の選択」にて「ruleId_s」、「演算子」にて「count」を選択し、適用する
結果を見ると、どのWafCharmルールで何回検知されたかを確認できます。
また、集計を行ったデータについてはグラフとして確認することも可能です。
なお、グラフの見た目は右側にある「グラフの書式設定」から変更可能です。
6. Simple mode(簡易モード)で表示する列を調整する
最後に、結果として表示する列の調整を行います。
Firewallログでは、多数の列が表示されます。中には今回確認したい情報としては不要な情報が存在する場合もあるでしょう。
そういった時は、「追加」から「列の表示」を選択することで、表示したい列の調整が可能です。
以下の通り、列が一覧で出てくるので、チェックボックスのオンオフを切り替えるだけで表示したい列を調整できます。
なお、対象のテーブルがAzureDiagnosticsとなっており、アクセスログも含まれていることから、列についてはFirewallログとアクセスログの両方のものが含まれているようです。
見たい列の名前が特定できていない場合には、迷ってしまうかとは思います。
Simple modeの場合、テーブルを選択した時点でクエリが実行されログの一覧が表示されますので、まずは見たいログ(Firewallログか、アクセスログか)を絞った上で、それらに表示される列のうち何を対象としたいかを決めてから調整する方が良いかと思います。
7. ダッシュボードへの追加
Simple modeを使って検索したログや集計結果を常時確認したい場合には、ダッシュボードに追加することも可能です。
Log Analytics画面の右上にある「保存」ボタンをクリックし、「ピン留め先 Azure ダッシュボード」を選択すると、ダッシュボード上にタイルが追加されます。
以下のスクリーンショットは、上記で集計したWafCharmルールごとの検知数を円グラフとして表示したものをダッシュボードにピン留めした状態です。
注意点としては、ダッシュボードに追加した直後は、集計期間がLog Analyticsで指定した期間ではなく、ダッシュボード上の期間(上記の場合は24時間)となることです。
タイルごとの集計期間を調整したい場合は、タイル右上の3点リーダーアイコンから「タイル設定の構成」をクリックし、「タイル レベルでのダッシュボード時刻の設定をオーバーライドします。」にチェックを入れた上で期間を変更する必要があります。
※ログを表示するタイルの場合、最大で過去 30 日間までのデータのみが表示されるようです。
8. おわりに
Simple modeでは、ボタンをクリックしたり、値を入力するだけで見たい情報を気軽に検索できるようになりました。
クエリに詳しくない場合や、どうやって書けばいいか覚えていない場合などでも、直感的に操作できるのは便利かと思います。
その反面、設定を調整すると毎回クエリが実行されるため、実行回数については注意が必要かと思います。
また、項目によってはかなり長い一覧をスクロールで探さなければならず、値で検索したいと思う場面もありました。
Public Previewのため、今後仕様は変わるかもしれませんが、今後のSimple modeの正式リリースに期待したいと思います。