はじめに
前回の記事では、Azure上にWindows Serverを1台構築し、RDPで接続できるところまで確認しました。
今回はその続きとして、構築したサーバーを運用するなら普段どこを見ればよいのか、実際の画面を見ながら確認してみます。障害を再現して原因を調べる記事ではなく、日次的な状態確認の入口を整理することが目的です。
検証環境
| 項目 | 内容 |
|---|---|
| Cloud | Microsoft Azure |
| OS | Windows Server 2022 Datacenter: Azure Edition |
| Region | Japan East |
| VM Size | Standard B2ats v2 |
| vCPU | 2 |
| Memory | 1 GiB |
| Disk | Standard SSD |
| Connection | RDP |
VM作成、RDP接続、NSGの設定は前回の記事で扱っているため、ここでは省略します。
1. Server Managerで全体を確認する
RDPで接続したら、まずServer Managerの「ローカル サーバー」を開きました。
ここではコンピューター名やOSを見て、接続しているサーバーが想定したVMか確認できます。メモリ、Ethernet、Windows Update、リモート管理の状態も同じ画面にまとまっています。
画面下部にはイベントの概要も表示されます。まずはここでサーバー全体を眺め、気になる項目があれば個別の画面で詳しく見る、という使い方が分かりやすいと思いました。
2. Event ViewerでSystemログを見てみる
次に、Event Viewerの「Windows Logs → System」を開きました。
イベントにはInformation、Warning、Errorなどのレベルがあります。WarningやErrorがあると気になりますが、表示されたというだけで障害とは判断できません。
今回は一覧からDistributedCOMのWarningを開いてみました。Event IDは10016です。
イベントを見るときは、レベルだけでなく、発生日時、Source、Event ID、メッセージを一緒に確認します。同じ警告が繰り返されているか、実際に困っている現象があるかも合わせて見ます。今回の10016も、この画面だけから重大な障害だとは判断していません。
3. PowerShellでもイベントログを確認する
Event Viewerでは詳細を読みやすい一方、PowerShellを使うと必要なイベントを絞って一覧にできます。今回はSystemログの直近100件から、ErrorとWarningを取り出してみました。
Get-WinEvent -LogName System -MaxEvents 100 |
Where-Object {
$_.LevelDisplayName -eq "Error" -or
$_.LevelDisplayName -eq "Warning"
} |
Select-Object TimeCreated, Id, LevelDisplayName, ProviderName
実行結果には、先ほどEvent Viewerで見たDistributedCOMのWarningが表示されました。時刻、ID、レベル、記録元を一度に見られるので、最近どのような警告が出ているかを確認しやすいです。
ただし、ここで見ているのは直近100件に含まれるErrorとWarningだけです。気になるイベントがあれば、Event Viewerでメッセージまで開いて確認します。
4. サービスの状態を確認する
続いて、PowerShellでサービス一覧を表示しました。
Get-Service
Statusで起動中か停止中かを確認できます。サービスは数が多いので、普段の運用では利用している機能に関係するものから確認するのがよさそうです。
一覧にStoppedがあっても、それだけで異常とはいえません。そもそも起動が必要なサービスなのかを確認してから判断します。
5. CPUとメモリを確認する
リソースの状態は、まずタスクマネージャーの「パフォーマンス」を見てみました。今回の画像はCPUの画面です。
グラフには短い上昇が見られます。ただ、一度上がっただけで負荷が問題になっているとはいえません。高い状態が続くのか、作業した時刻と重なるのかを見ていきます。
メモリも同じ画面から切り替えて確認できます。今回手元にあるタスクマネージャーのスクリーンショットはCPU画面だけなので、メモリの使用率についてはここでは判断していません。
6. ディスクの空き容量を確認する
ディスクは、PowerShellでCドライブの容量と空き容量を確認しました。
Get-CimInstance Win32_LogicalDisk -Filter "DriveType=3" |
Select-Object DeviceID,
@{N="SizeGB";E={[math]::Round($_.Size/1GB,2)}},
@{N="FreeGB";E={[math]::Round($_.FreeSpace/1GB,2)}}
今回の表示では、Cドライブの容量が約29.45 GB、空き容量が約15.95 GBでした。前回の記事ではAzure側のOSディスク設定と、Windows上で認識するCドライブの大きさが異なることも確認しています。運用時にはAzure側のディスク容量だけでなく、OS上の空き容量を見る必要があります。
一度の数字だけでなく、空き容量が減り続けていないかを定期的に確認したいところです。
7. ネットワーク設定を確認する
ネットワークは、まずVM内で設定されているIPアドレスなどを表示しました。
ipconfig /all
IPアドレス、デフォルトゲートウェイ、DNSサーバーなどを確認できます。前回の記事ではAzure PortalのプライベートIPとWindows側のIPを照らし合わせました。今回も、どのネットワーク設定で動いているかを把握する入口になります。
接続先への疎通が必要になった場合はTest-NetConnectionなども使えますが、今回は追加の通信テストは行っていません。
8. Azure PortalからVMの状態とメトリックを見る
Windows Serverの中だけでなく、Azure Portal側も見てみます。VMの概要画面では、VMの状態やサイズ、OS、ディスク、ネットワークなどを確認できます。
次に「監視 → メトリック」を開き、Percentage CPUのグラフを確認しました。
グラフを見ると、CPU使用率が上がった時間帯と落ち着いている時間帯があります。Windows側のタスクマネージャーはその場の状態を確認しやすく、Azureのメトリックでは時間の流れに沿って見られます。
メモリ関連のメトリックも表示してみました。
メトリックは名前や単位、集計方法によって数字の意味が変わります。グラフの形だけで判断せず、何を表示しているかを確認しながら読む必要があります。
9. Azure Activity Logで操作履歴を見る
最後にAzure Portalのアクティビティ ログを開きました。
ここではAzureリソースに対する操作が、時刻や状態とともに表示されます。VMの起動や停止、設定変更がいつ行われたかを確認したいときに見る場所です。
WindowsのSystemログはOS内のイベント、Activity LogはAzure側の操作履歴を記録しています。何か変化があったときは、両方の時刻を見比べると状況を整理しやすいと思います。
まとめ
今回は、構築済みのWindows Serverを運用する目線で、普段確認したい画面とコマンドを一通り見てみました。
- Server Managerでサーバー全体を確認する
- Event ViewerとPowerShellでイベントログを見る
- サービス、CPU、ディスク、ネットワークの状態を確認する
- Azure MonitorとActivity LogでAzure側の推移や操作を確認する
実際に見てみると、警告が1件ある、CPUが一瞬上がった、といった情報だけでは判断できないことが分かります。まずは普段の状態を知り、変化があったときに時刻や関連する画面を照らし合わせられるようにしておきたいです。











