Azure Monitorログ(Log Analytics)【Azureを使いこなしたい! 8】
0. 目次
コンテンツ
【今回の内容】
前回はAzure Monitorにて、AzureVMのメトリックデータを視覚化して監視したり、アラートを作成してしきい値を超えた時に通知が来るように設定したりしました。
今回は、AzureVMのログデータを用いてクエリを作成し、詳細な操作に関する分析情報を確認し、クエリが結果を返したら通知が来るようにアラートを設定してみたいと思います。
Azureリソースを作成するとAzure Monitorでメトリックとログの収集が開始されます。このログデータを用いてクエリを実行し、検索、統合、分析します。また、より高度なクエリを作成して統計分析を実行し、結果をグラフで視覚化することも出来ます。また、クラウドだけでなく、オンプレミスのリソースからでも生成されたデータを収集して分析出来ます。ログデータを収集することで、履歴を分析して傾向を把握し、問題の表面化の防止に役立てることが出来ます。
AzureでのAzure MonitorはPaaSに分類されます。
【前提事項】
Azure VMを構築していること。(今回はWindows 10を用いました)
※主にAzure portalでの操作となりますが、VMが実行中でないと設定出来ないことが多々あります。
1.ログデータ収集のための設定
1-1.Log Analyticsワークスペースの作成
(1)Azure portalにて、<A>Azure Portalの検索バーに[Log Analytics]と入力します。 → <B>[Log Analyticsワークスペース]をクリックします。
(2)[作成]をクリックします。
(3)<A>[サブスクリプション]、[地域]を選択します。[リソースグループ]を選択または新規作成します。[名前]を入力します。 → <B>[次:タグ>]をクリックします。
(4)[次:確認および作成>]をクリックします。
※今回は検証のため、デフォルトのままとしました。
(5)[作成]をクリックします。
(6)[リソースに移動]をクリックします。
1-2.VM insights(Azure Monitor for VMs )の有効化
(1)[対象のAzure VM]ブレードを開きます。 → <A>[分析情報]をクリックします。 → <B>[有効]をクリックします。
(2)<A>[Azure Monitorエージェント]を選択します。 → <B>[新規作成]をクリックします。
※1 Log Analytics エージェントは2024 年 8 月 31 日廃止予定(Azure Monitor エージェントに移行される)とのことです。Azure Monitor にデータを取り込みたい場合、 Azure Monitor エージェントに移行する必要があります。詳細は、Microsoft公式サイトをご参照ください。レガシ エージェントから新しい Azure Monitor エージェントへの移行 – Azure Monitor | Microsoft Docs
※2 今回は、プロセスと依存関係をEnabledにするため、新規作成を行います。既にEnabledになっている場合は、データ収集ルール:先ほど作成した[Log Analyticsワークスペース名]を選択します。 → [構成]をクリックします。 → (5)へ
(3)<A>[データ収集ルール名]を入力します。 → <B>チェックを入れます。 → <C>先ほど作成した[Log Analyticsワークスペース名]を選択します。 → <D>[作成]をクリックします。
(4)[構成]をクリックします。
(5)デプロイが行われます。 → [拡張機能とアプリケーション]をクリックします。 → 2種類のエージェントがインストールされていることが確認出来ます。
※プロセスと依存関係がEnabledになっていると、DependencyAgentWindowsエージェントがインストールされます。
(6)[分析情報]をクリックします。
※Azure Monitor for VMs の有効化をしてから、この画面に切り替わるまで5~10分程時間が掛かります。
これで、ログデータ収集のための設定は完了です。
1-3.VM insights(Azure Monitor for VMs )の確認
(1)<A>[分析情報]をクリックします。 → <B>[データの分析]をクリックします。
(2)<A>[パフォーマンス]をクリックします。 → <B>[Expand property panel?]をクリックします。
(3)<A>[Log Events]をクリックします。 → <B>[Insight Metrics]をクリックします。
(4)Log Analyticsワークスペースのログセクションが開きます。 → 対象のVMのInsightsMetricsクエリが実行されます。
(5)<A>[マップ]をクリックします。 → <B>[Properties][Log Events][Alerts][Connections][Change]をクリックしてそれぞれの確認が出来ます。 → <C>[Hearth][Machine properties][Azure VM properties]をクリックしてそれぞれの確認が出来ます。
※[マップ]を表示するためには、DependencyAgentWindowsエージェントをインストールしている必要があります。
(6)<A>[プロセス]をクリックします。 → <B>クリックすると、その内容を確認出来ます。
(7)ポートへの矢印をクリックすると、接続のメトリックを確認出来ます。
(8)<A>[サーバー]をクリックします。 → <B>クリックすると、その内容を確認出来ます。
(9)モニターのブレードを開きます。 → VM Insightsの[表示]をクリックします。
(10)[マップ]をクリックします。
(11)<A>[リソースグループ]を選択します。 → <B>[最新の情報に更新]をクリックします。
※リソースグループ内のVM Insightsで監視しているVM全てを確認出来ます。
2.ログクエリの作成とアラートへの利用
2-1.ログクエリ作成時の基本操作
(1)<A>[ログ]をクリックします。 → <B>[閉じる]をクリックします。
※クエリパックを使用したい場合は、クエリの例の[実行]をクリックします。
※対象のAzure VMのログのみ必要な場合は、対象の対象のAzure VMのブレードから[ログ]をクリックします。
(2)<A>[クエリ]を作成します。 → <B>[実行]をクリックします。 → 結果が出ます。
※[Insights Metrics]:仮想マシンゲストOSのパフォーマンスデータが含まれています。[|where]:絞り込みが出来ます。
※クエリ作成時、一部の文字を入力すると候補が出てきます。
(3)<A>[時刻の表示]をクリックします。 → <B>[現地時刻]をクリックします。 → 現地の時刻で表示されます。
(4)<A>[↑↓]をクリックします。 → 並べ替えが出来ます。
<B>[…]をクリックします。 → フィルターをかけることが出来ます。
(5)<C>[虫眼鏡]をクリックします。 → [検索ボックス]に検索したい文字を入力します。 → [↓]を押します。 → 結果の中から検索したい文字を見ることが出来ます。
(6)[グラフ]をクリックすると、結果がグラフで表示されます。
(7)<A>[Columns]をクリックします。 → <B>[Pivot Mode]をクリックします。 → ピボットテーブルを作成出来ます。
(8)<A>[ピン留め先]をクリックします。 → <B>[Azureダッシュボード]をクリックします。
(9)<A>[種類]を選択します。 → <B>[ダッシュボード名]を選択します。 → <C>[ピン留め]をクリックします。
(10)[ダッシュボード]のブレードを開きます。 → ピン留めしたクエリが確認出来ます。
(11)<A>[保存]をクリックします。 → <B>[クエリとして保存]をクリックします。
※[Azure VMのブレード]からのログでは保存出来ません。[Log Analyticsワークスペース]からのログは保存出来ます。
(12)[レガシクエリとして保存]にチェックを入れます。
(13)<A>[クエリ名]を入力します。 → <B>[タグ名]を入力します。 → <C>[保存]をクリックします。
(14)<A>[クエリ]をクリックします。 → <B>[その他]をクリックします。
(15)先ほど保存したクエリが一覧に表示されるようになります。
ログクエリ作成時の基本操作はこの辺りにしておきます。
2-2.ログクエリアラート
(1)対象のVMのブレードにて、<A>[ログ]をクリックします。 → <B>[クエリ]を作成します。 → <C>[実行]をクリックします。 → <D>[新しいアラートルール]をクリックします。
※今回はHeartbeatのログで、VMが使用不可になっていないか確認するアラートルールを作成します。
(2)<A>[メジャー][集計の種類][集計の粒度]を選択します。
※今回はデフォルトのままとしました。
<B>[演算子][しきい値][評価の頻度]を選択します。 → <C>[違反の数][評価期間][クエリの時間の範囲のオーバーライド]を選択します。
※今回は、[演算子]:次の値より小さい、[しきい値]:1としました。その他はデフォルトのままです。
<D>[次へ:アクション>]をクリックします。
※Heartbeatのログは、約1分ごとに得られ、VMが使用不可になるとテーブルの行が増えないため、上記の設定としました。
(3)<A>[アクショングループの選択]をクリックします。 → <B>[アクショングループ名]にチェックを入れます。 → <C>[選択]をクリックします。
※既に作成しているアクショングループを使用したい場合に選択します。
※今回は、異なるアクショングループにしたかったので、[アクショングループの作成]で新規に作成しました。(作成手順は、Azureを使いこなしたい! 7 ~Azure Monitor メトリック~2-3.メトリックアラート(9)~(15)を参照してください。)
(4)<A>[サブスクリプション][重大度][リージョン]を選択します。[リソースグループ]を選択または新規作成します。[アラートルール名][アラートルールの説明]を入力します。 → <B>デフォルトのままです。 → <C>[次へ:タグ>]をクリックします。
(5)[次へ:確認および作成>]をクリックします。
※今回は検証のため、デフォルトのままとしました。
(6)[作成]をクリックします。
(7)対象のVMのブレードを開きます。 → <A>[停止]をクリックします。 → <B>[OK]をクリックします。
(8)指定したメールアドレスに以下の画像のアラートメールが届きました。
(9)[アラート名]をクリックします。 → アラートの詳細を確認出来ます。
これで、ログクエリアラートの構成は完了です。
3.Azure WorkbooksでのLog Analyticsワークスペースの確認
(1)[ブック]をクリックします。
(2)[Log Analyticsワークスペースの分析情報]をクリックします。
(3)[log Analyticsワークスペース名]をクリックします。
(4)log Analyticsワークスペースの概要が確認出来ます。 → [使用状況][正常性][エージェント][クエリの監査][変更ログ]で確認したいものをクリックします。
(5)[使用状況]等が確認出来ます。