Windows および Linux のパフォーマンス カウンターは、ハードウェア コンポーネント、オペレーティング システム、アプリケーションのパフォーマンスに関する分析情報を提供します。 Azure Monitor では、Log Analytics エージェントからパフォーマンス カウンターを頻繁に収集して、ほぼリアルタイムで分析できます。 Azure Monitor では、長期的な分析とレポートのためにパフォーマンス データを集計することもできます。
Important
従来の Log Analytics エージェントは、2024 年 8 月 31 日の時点で非推奨となっています。 Microsoft は Log Analytics エージェントのサポートを提供しなくなります。 Log Analytics エージェントを使用して Azure Monitor にデータを取り込む場合は、 ここで Azure Monitor エージェントに移行します。
パフォーマンス カウンターを構成する
Log Analytics ワークスペースの レガシ エージェント管理メニュー からパフォーマンス カウンターを構成します。
新しいワークスペースの Windows または Linux のパフォーマンス カウンターを初めて構成するときは、いくつかの一般的なカウンターをすばやく作成するオプションが提供されます。 それぞれの横にチェック ボックスが表示されます。 最初に作成するカウンターが選択されていることを確認し、[ 選択したパフォーマンス カウンターの追加] を選択します。
Windows パフォーマンス カウンターの場合は、パフォーマンス カウンターごとに特定のインスタンスを選択できます。 Linux パフォーマンス カウンターの場合、選択した各カウンターのインスタンスは、親カウンターのすべての子カウンターに適用されます。 次の表に、Windows と Linux の両方のパフォーマンス カウンターで使用できる一般的なインスタンスを示します。
| インスタンス名 | Description |
|---|---|
| _トータル | すべてのインスタンスの合計 |
| * | すべてのインスタンス |
| (/|/var) | /または /var という名前のインスタンスと一致します |
Windows パフォーマンス カウンター
収集する新しい Windows パフォーマンス カウンターを追加するには、次の手順に従います。 V2 Windows パフォーマンス カウンターはサポートされていません。
[ パフォーマンス カウンターの追加] を選択します。
書式 オブジェクト (インスタンス)\counter のテキスト ボックスにカウンターの名前を入力します。 入力を開始すると、一致する共通カウンターの一覧が表示されます。 一覧からカウンターを選択するか、独自のカウンターを入力します。 object\counter を指定することで、特定のカウンターのすべてのインスタンスを返すこともできます。
SQL Server パフォーマンス カウンターが名前付きインスタンスから収集されると、すべての名前付きインスタンス カウンターは MSSQL$ で始まり、その後にインスタンスの名前が続きます。 たとえば、名前付き SQL インスタンス INST2 の Database パフォーマンス オブジェクトからすべてのデータベースのログ キャッシュ ヒット率カウンターを収集するには、
MSSQL$INST2:Databases(*)\Log Cache Hit Ratioを指定します。カウンターを追加すると、既定の 10 秒が サンプル間隔に使用されます。 収集されたパフォーマンス データのストレージ要件を減らす場合は、この既定値を最大 1,800 秒 (30 分) の高い値に変更します。
カウンターの追加が完了したら、画面の上部にある [ 適用 ] を選択して構成を保存します。
Linux パフォーマンス カウンター
収集する新しい Linux パフォーマンス カウンターを追加するには、次の手順に従います。
- [ パフォーマンス カウンターの追加] を選択します。
- 書式 オブジェクト (インスタンス)\counter のテキスト ボックスにカウンターの名前を入力します。 入力を開始すると、一致する共通カウンターの一覧が表示されます。 一覧からカウンターを選択するか、独自のカウンターを入力します。
- オブジェクトのすべてのカウンターは、同じ サンプル間隔を使用します。 既定値は 10 秒です。 収集されたパフォーマンス データのストレージ要件を減らす場合は、この既定値を最大 1,800 秒 (30 分) の高い値に変更します。
- カウンターの追加が完了したら、画面の上部にある [ 適用 ] を選択して構成を保存します。
構成ファイルで Linux パフォーマンス カウンターを構成する
Azure portal を使用して Linux パフォーマンス カウンターを構成する代わりに、Linux エージェントで構成ファイルを編集することもできます。 収集するパフォーマンス メトリックは、 /etc/opt/microsoft/omsagent/<workspace id>/conf/omsagent.conf の構成によって制御されます。
収集するパフォーマンス メトリックの各オブジェクト (カテゴリ) は、構成ファイルで 1 つの <source> 要素として定義する必要があります。 構文は、次のパターンに従います。
<source>
type oms_omi
object_name "Processor"
instance_regex ".*"
counter_name_regex ".*"
interval 30s
</source>
この要素のパラメーターについては、次の表で説明します。
| パラメーター | Description |
|---|---|
| object_name | コレクションのオブジェクト名。 |
| instance_regex | 収集するインスタンスを定義する 正規表現 。
.*値は、すべてのインスタンスを指定します。 _Total インスタンスのみのプロセッサ メトリックを収集するには、 _Totalを指定できます。 crond インスタンスまたは sshd インスタンスのみのプロセス メトリックを収集するには、 (crond\|sshd)を指定できます。 |
| counter_name_regex | 収集する (オブジェクトの) カウンターを定義する 正規表現 。 オブジェクトのすべてのカウンターを収集するには、 .*を指定します。 メモリ オブジェクトのスワップ領域カウンターのみを収集するには、次のように指定できます。 .+Swap.+ |
| サイクル間隔 | オブジェクトのカウンターが収集される頻度。 |
次の表に、構成ファイルで指定できるオブジェクトとカウンターを示します。 特定のアプリケーションでは、より多くのカウンターを使用できます。 詳細については、「 Azure Monitor での Linux アプリケーションのパフォーマンス カウンターの収集」を参照してください。
| オブジェクト名 | カウンター名 |
|---|---|
| 論理ディスク | % 無料の Inodes |
| 論理ディスク | % の空き領域 |
| 論理ディスク | % 使用済み Inodes |
| 論理ディスク | % 使用済みスペース |
| 論理ディスク | ディスク読み取りバイト/秒 |
| 論理ディスク | ディスク読み取り/秒 |
| 論理ディスク | ディスク転送/秒 |
| 論理ディスク | ディスク書き込みバイト/秒 |
| 論理ディスク | ディスク書き込み/秒 |
| 論理ディスク | 空きメガバイト |
| 論理ディスク | 論理ディスクバイト数/秒 |
| 記憶 | 使用可能なメモリの % |
| 記憶 | 使用可能なスワップ領域の % |
| 記憶 | 使用メモリの % |
| 記憶 | 使用済みスワップ領域の割合% |
| 記憶 | 使用可能なメガバイトメモリ |
| 記憶 | 使用可能なメガバイトスワップ |
| 記憶 | ページ読み取り/秒 |
| 記憶 | ページ書き込み数/秒 |
| 記憶 | ページ/秒 (Pages/sec) |
| 記憶 | 使用済みメガバイトスワップ領域 |
| 記憶 | 使用済みメモリ MBytes |
| ネットワーク | 送信された合計バイト数 |
| ネットワーク | 受信した合計バイト数 |
| ネットワーク | 合計バイト数 |
| ネットワーク | 送信されたパケットの合計数 |
| ネットワーク | 受信したパケットの合計数 |
| ネットワーク | Rx エラーの合計 |
| ネットワーク | Tx エラーの合計 |
| ネットワーク | 合計衝突数 |
| 物理ディスク | 平均ディスク秒/読み取り |
| 物理ディスク | 平均ディスク秒/転送 |
| 物理ディスク | 平均ディスク書き込み秒数 |
| 物理ディスク | 物理ディスクバイト数/秒 |
| プロセス | 特権時間パーセント |
| プロセス | Pct ユーザー時間 |
| プロセス | 使用済みメモリ kBytes |
| プロセス | 仮想共有メモリ |
| プロセッサ | DPC 時間のパーセンテージ |
| プロセッサ | % アイドル時間 |
| プロセッサ | % 割り込み時間 |
| プロセッサ | % IO 待機時間 |
| プロセッサ | % いい時間 |
| プロセッサ | 特権時間の % |
| プロセッサ | プロセッサ時間の使用率 (%) |
| プロセッサ | % ユーザー時間 |
| System | 空き物理メモリ |
| System | ページング ファイルの空き領域 |
| System | 空き仮想メモリ |
| System | Processes |
| System | ページング ファイルに格納されているサイズ |
| System | Uptime |
| System | ユーザー |
次の構成は、パフォーマンス メトリックの既定値です。
<source>
type oms_omi
object_name "Physical Disk"
instance_regex ".*"
counter_name_regex ".*"
interval 5m
</source>
<source>
type oms_omi
object_name "Logical Disk"
instance_regex ".*"
counter_name_regex ".*"
interval 5m
</source>
<source>
type oms_omi
object_name "Processor"
instance_regex ".*"
counter_name_regex ".*"
interval 30s
</source>
<source>
type oms_omi
object_name "Memory"
instance_regex ".*"
counter_name_regex ".*"
interval 30s
</source>
データ コレクション
Azure Monitor は、そのカウンターがインストールされているすべてのエージェントについて、指定したサンプル間隔で、指定されたすべてのパフォーマンス カウンターを収集します。 データは集計されません。 生データは、Log Analytics ワークスペースで指定された期間、すべてのログ クエリ ビューで使用できます。
パフォーマンス レコードのプロパティ
パフォーマンス レコードの種類は Perf で、次の表に示すプロパティがあります。
| プロパティ | Description |
|---|---|
| コンピューター | イベントが収集された元のコンピューター。 |
| CounterName | パフォーマンス カウンターの名前。 |
| CounterPath | \\<Computer>\object(instance)\counter という形式のカウンターの完全なパス。 |
| カウンターバリュー | カウンターの数値。 |
| インスタンス名 | イベント インスタンスの名前。 インスタンスがない場合は空。 |
| オブジェクト名 | パフォーマンス オブジェクトの名前。 |
| ソースシステム | データが収集されたエージェントの種類: OpsManager – Windows エージェント (直接接続または SCOM) Linux – すべての Linux エージェント AzureStorage – Azure Diagnostics |
| タイムジェネレイテッド | データがサンプリングされた日付と時刻。 |
サイズの見積もり
10 秒間隔での特定のカウンターの収集の大まかな見積もりは、インスタンスあたり 1 日あたり約 1 MB です。 次の式を使用して、特定のカウンターのストレージ要件を見積もることができます。
1 MB x (カウンター数) x (エージェントの数) x (インスタンス数)
パフォーマンス レコードを含むログ クエリ
次の表は、パフォーマンス レコードを取得するログ クエリのさまざまな例を示しています。
| Query | Description |
|---|---|
| Perf | すべてのパフォーマンス データ |
| Perf |where Computer == "MyComputer" | 特定のコンピューターのすべてのパフォーマンス データ |
| Perf | where カウンター名 == "Current Disk Queue Length" | 特定のカウンターのすべてのパフォーマンス データ |
| Perf |where ObjectName == "Processor" and CounterName == "% Processor Time" and InstanceName == "_Total" |summarize AVGCPU = avg(CounterValue) by Computer | すべてのコンピューターの平均 CPU 使用率 |
| Perf |where CounterName == "% Processor Time" |summarize AggregatedValue = max(CounterValue) by Computer | すべてのコンピューターの最大 CPU 使用率 |
| Perf |where ObjectName == "LogicalDisk" and CounterName == "Current Disk Queue Length" and Computer == "MyComputerName" |summarize AggregatedValue = avg(CounterValue) by InstanceName | 特定のコンピューターのすべてのインスタンスの現在のディスク キューの平均長 |
| Perf |where CounterName == "Disk Transfers/sec" |summarize AggregatedValue = percentile(CounterValue, 95) by Computer | すべてのコンピューターで 1 秒に 95 パーセンタイルのディスク転送 |
| Perf | where CounterName == "% プロセッサ時間" and InstanceName == "_合計" | summarize AggregatedValue = avg(CounterValue) by bin(TimeGenerated, 1h), コンピューター | すべてのコンピューターの CPU 使用率の 1 時間あたりの平均 |
| Perf |where Computer == "MyComputer" and CounterName startswith_cs "%" and InstanceName == "_Total" |summarize AggregatedValue = percentile(CounterValue, 70) by bin(TimeGenerated, 1h), CounterName | 特定のコンピューターにおける各パーセントカウンターの1時間ごとの70パーセンタイル |
| Perf | where CounterName == "% プロセッサ時間" and InstanceName == "_Total" and Computer == "MyComputer" | summarize ["最小値(CounterValue)"] = min(CounterValue), ["平均値(CounterValue)"] = avg(CounterValue), ["第75パーセンタイル値(CounterValue)"] = percentile(CounterValue, 75), ["最大値(CounterValue)"] = max(CounterValue) by bin(TimeGenerated, 1h), Computer | 特定のコンピューターの 1 時間ごとの平均、最小、最大、および 75 パーセンタイル CPU 使用率 |
| Perf |where ObjectName == "MSSQL$INST2:Databases" and InstanceName == "master" | 名前付き SQL Server インスタンス INST2 のマスター データベースのデータベース パフォーマンス オブジェクトのすべてのパフォーマンス データ |
次のステップ
- MySQL や Apache HTTP Server など、Linux アプリケーションからパフォーマンス カウンターを収集します。
- データ ソースとソリューションから収集されたデータを分析するための ログ クエリ について説明します。
- 収集したデータを Power BI にエクスポートして、より多くの視覚化と分析を行います。