こんにちは、ナレコムのDreamです。
本記事はAzure LogAnalytics を使用したAzure VM(WindowsServer)のリソース監視についてまとめていきます。
監視設定方法
ポータルから[ログの分析]を選択し設定していきます。
詳しくは、Azure LogAnalytics 概要についてまとめてみたを参照願います。
まずは、[仮想マシン]より対象となるVMが接続されていることを確認します。
[ログ]から取得するデータのクエリをなげていきます。
ComputerNameとCounterNameを調べる
CPUの使用率
1 2 3 4 5 6 7 |
#sample query Perf | where ( Computer == "VM名" ) | where ( ObjectName == "Processor" ) | where ( CounterName == "% Processor Time" ) | summarize AggregatedValue=avg(CounterValue) by Computer, bin(TimeGenerated, 1m) |
Memoryの使用率
1 2 3 4 5 6 7 |
#sample query Perf | where ( Computer == "VM名" ) | where ( ObjectName == "Memory" ) | where ( CounterName == "% Committed Bytes In Use" ) | summarize AggregatedValue=avg(CounterValue) by Computer, bin(TimeGenerated, 1m) |
Diskの空き容量
※デフォルトではトータルのディスク空き容量しか取得できません。
CやDドライブのみデータを取得したい場合には[詳細設定]よりパフォーマンスカウントを追加します。
#sample query
1 2 3 4 |
Perf | where (CounterName == "% Free Space" and InstanceName =="C:") | where Computer == "yrldwhdrs01.yrldom.local" | summarize AggregatedValue=avg(CounterValue) by Computer, bin(TimeGenerated, 1m) |
Heartbeatの監視(死活監視)
1 2 3 |
#sample query Heartbeat | where Computer == "VM名" |
取得したデータ(CPU / メモリ / ディスク)のメトリック表示
1 2 3 4 5 6 7 8 |
#sample query Perf | where Computer == "VM名" | where CounterName == "% Processor Time" or CounterName == "% Free Space" and InstanceName =="C:" or CounterName == "% Committed Bytes In Use" | summarize AveragePerDay = avg(CounterValue) by CounterName, bin(TimeGenerated, 1d) | sort by TimeGenerated asc | render timechart with (ycolumns=AveragePerDay, xcolumn=TimeGenerated) |
※データの保持期間がデフォルトで30日の為、30日以前のデータを取得したい場合、保持期間を変更する必要があります。
アラートの設定方法
上記のqueryを実行した後、[新しいアラートルール]を選択します。
[条件]からアラートの閾値を設定
[アクション]から通知先を設定
[アラートの詳細]で通知アラートの件名/説明を記入
まとめ
上記以外にも様々なデータを取得することが可能です。
本記事で紹介したリソースの監視以外にもLogAnalyticsではログの監視なども可能です。
リソース監視以外の部分については別記事でご紹介できればと考えています。