Log Analytics エージェントを使用して Windows と Linux のパフォーマンス データ ソースを収集する

Windows および Linux のパフォーマンス カウンターから、ハードウェア コンポーネント、オペレーティング システム、およびアプリケーションのパフォーマンスに関する情報が得られます。 Azure Monitor では、ほぼリアルタイムの分析のために Log Analytics エージェントからパフォーマンス カウンターを頻繁に収集することができます。 また、Azure Monitor では、長期的な分析とレポートのためにパフォーマンス データを集計することもできます。

重要

従来の Log Analytics エージェントは、2024 年 8 月までに非推奨になります。 この日付を過ぎると、Microsoft は Log Analytics エージェントのサポートを提供しなくなります。 データの取り込みを続行するには、2024 年 8 月より前に Azure Monitor エージェントに移行してください。

Screenshot that shows performance counters.

パフォーマンス カウンターを構成する

Log Analytics ワークスペースの [レガシ エージェントの管理] メニューからパフォーマンス カウンターを構成します。

新しいワークスペースの Windows または Linux のパフォーマンス カウンターを初めて構成する場合、いくつかの一般的なカウンターをすばやく作成するためのオプションが表示されます。 それぞれの横にはチェック ボックスが表示されます。 最初に作成するカウンターがオンになっていることを確かめてから、[選択されたパフォーマンス カウンターを追加する] を選択します。

Windows のパフォーマンス カウンターの場合、パフォーマンス カウンターごとに特定のインスタンスを選択できます。 Linux のパフォーマンス カウンターの場合、各カウンターに対して選択したインスタンスが、そのすべての子カウンターに適用されます。 次の表は、Windows と Linux の両方のパフォーマンス カウンターで利用できる共通のインスタンスを示しています。

インスタンス名 説明
_Total すべてのインスタンスの合計
* すべてのインスタンス
(/|/var) / または /var という名前のインスタンスと一致します

Windows パフォーマンス カウンター

Screenshot that shows configuring Windows performance counters.

収集する新しい Windows パフォーマンス カウンターを追加するには、次の手順を実行します。 V2 Windows パフォーマンス カウンターはサポートされていません。

  1. [パフォーマンス カウンターの追加] を選択します。

  2. <オブジェクト (インスタンス)>\<カウンター> の形式で、テキスト ボックスにカウンターの名前を入力します。 入力を開始すると、一致する一般的なカウンターの一覧が表示されます。 一覧からカウンターを選択するか、独自のものを入力することができます。 <オブジェクト>\<カウンター> を指定して、特定のカウンターのすべてのインスタンスを返すこともできます。

    名前付きインスタンスから SQL Server パフォーマンス カウンターが収集される場合、すべての名前付きインスタンス カウンターの名前は MSSQL$ から始まり、その後にインスタンスの名前が続きます。 たとえば、名前付き SQL インスタンス INST2 のデータベース パフォーマンス オブジェクトからログ キャッシュ ヒット率カウンターを収集するには、MSSQL$INST2:Databases(*)\Log Cache Hit Ratio と指定します。

  3. カウンターを追加すると、その [サンプルの間隔] には既定値の 10 秒が使用されます。 収集されたパフォーマンス データのストレージ要件を減らしたい場合は、1,800 秒 (30 分) を上限としてこの既定値を増やします。

  4. カウンターの追加が完了した後、画面の上部にある [適用] を選択して構成を保存します。

Linux パフォーマンス カウンター

Screenshot that shows configuring Linux performance counters.

収集する新しい Linux パフォーマンス カウンターを追加するには、次の手順を実行します。

  1. [パフォーマンス カウンターの追加] を選択します。
  2. <オブジェクト (インスタンス)>\<カウンター> の形式で、テキスト ボックスにカウンターの名前を入力します。 入力を開始すると、一致する一般的なカウンターの一覧が表示されます。 一覧からカウンターを選択するか、独自のものを入力することができます。
  3. オブジェクトのすべてのカウンターは、同じ [サンプルの間隔] を使用します。 既定値は 10 秒です。 収集されたパフォーマンス データのストレージ要件を減らしたい場合は、1,800 秒 (30 分) を上限としてこの既定値を増やします。
  4. カウンターの追加が完了した後、画面の上部にある [適用] を選択して構成を保存します。

構成ファイルで Linux のパフォーマンス カウンターを構成する

Azure portal を使用して Linux のパフォーマンス カウンターを構成する代わりに、Linux エージェントで構成ファイルを編集することもできます。 収集するパフォーマンス メトリックは、 /etc/opt/microsoft/omsagent/<workspace id>/conf/omsagent.conf の構成によって制御されます。

収集するパフォーマンス メトリックの各オブジェクト (カテゴリ) は、構成ファイルの中で単一の <source> 要素として定義する必要があります。 構文ではこのパターンに従います。

<source>
    type oms_omi  
    object_name "Processor"
    instance_regex ".*"
    counter_name_regex ".*"
    interval 30s
</source>

この要素のパラメーターを次の表に示します。

パラメーター 説明
object_name コレクションのオブジェクト名。
instance_regex 収集するインスタンスを定義する ''正規表現''。 すべてのインスタンスは、.* という値で指定します。 _Total インスタンスのみのプロセッサ メトリックを収集するには、_Total を指定します。 crond または sshd のインスタンスのみを対象にプロセス メトリックを収集するには、(crond\|sshd) を指定します。
counter_name_regex 収集する (オブジェクトの) カウンターを定義する ''正規表現''。 オブジェクトのすべてのカウンターを収集するには、.* を指定します。 メモリ オブジェクトを対象にスワップ領域カウンターのみを収集するには、たとえば、.+Swap.+ を指定できます
interval オブジェクトのカウンターを収集する頻度。

次の表は、構成ファイルで指定できるオブジェクトとカウンターを一覧表示しています。 特定のアプリケーションでより多くのカウンターを使用できます。 詳細については、「Azure Monitor で Linux アプリケーションのパフォーマンス カウンターを収集する」を参照してください。

オブジェクト名 カウンター名
論理ディスク % Free Inodes
論理ディスク % Free Space
論理ディスク % Used Inodes
論理ディスク % Used Space
論理ディスク Disk Read Bytes/sec
論理ディスク Disk Reads/sec
論理ディスク Disk Transfers/sec
論理ディスク Disk Write Bytes/sec
論理ディスク Disk Writes/sec
論理ディスク Free Megabytes
論理ディスク Logical Disk Bytes/sec
メモリ % Available Memory
メモリ % Available Swap Space
メモリ % Used Memory
メモリ % Used Swap Space
メモリ Available MBytes Memory
メモリ Available MBytes Swap
メモリ Page Reads/sec
メモリ Page Writes/sec
メモリ Pages/sec
メモリ Used MBytes Swap Space
メモリ Used Memory MBytes
ネットワーク Total Bytes Transmitted
ネットワーク Total Bytes Received
ネットワーク Total Bytes
ネットワーク Total Packets Transmitted
ネットワーク Total Packets Received
ネットワーク Total Rx Errors
ネットワーク Total Tx Errors
ネットワーク Total Collisions
物理ディスク Avg.Disk sec/Read
物理ディスク Avg.Disk sec/Transfer
物理ディスク Avg.Disk sec/Write
物理ディスク Physical Disk Bytes/sec
Process Pct Privileged Time
Process Pct User Time
Process Used Memory kBytes
Process Virtual Shared Memory
プロセッサ % DPC Time
プロセッサ % Idle Time
プロセッサ % Interrupt Time
プロセッサ % IO Wait Time
プロセッサ % Nice Time
プロセッサ % Privileged Time
プロセッサ % Processor Time
プロセッサ % User Time
システム Free Physical Memory
システム Free Space in Paging Files
システム Free Virtual Memory
システム 処理
システム Size Stored In Paging Files
システム Uptime
システム ユーザー

次の構成はパフォーマンス メトリックの既定値です。

<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 の型と、次の表に一覧表示されているプロパティがあります。

プロパティ 説明
Computer イベントが収集されたコンピューター。
CounterName パフォーマンス カウンターの名前。
CounterPath \\<コンピューター>\オブジェクト(インスタンス)\カウンター形式のカウンターの完全パス。
CounterValue カウンターの数値。
InstanceName イベント インスタンスの名前。 インスタンスがない場合は空白です。
ObjectName パフォーマンス オブジェクトの名前。
SourceSystem データ収集元のエージェントの種類:

OpsManager – Windows エージェント、直接接続または SCOM
Linux – すべての Linux エージェント
AzureStorage – Azure Diagnostics
TimeGenerated データがサンプリングされた日付と時刻。

サイズ見積もり

10 秒間隔での特定のカウンターの収集量の大まかな見積もり値は、インスタンスごとに 1 日あたり約 1 MB です。 次の式で、特定のカウンターのストレージ要件を見積もることができます。

1 MB x (カウンターの数) x (エージェントの数) x (インスタンスの数)

パフォーマンス レコードに対するログ クエリ

次の表は、パフォーマンス レコードを取得するログ クエリのさまざまな例をまとめたものです。

クエリ 説明
Perf すべてのパフォーマンス データ
Perf | where Computer == "MyComputer" 特定のコンピューターからのすべてのパフォーマンス データ
Perf | where CounterName == "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 コンピューター全体のディスク転送数/秒の 95 パーセンタイル
Perf | where CounterName == "% Processor Time" and InstanceName == "_Total" | summarize AggregatedValue = avg(CounterValue) by bin(TimeGenerated, 1h), Computer 全コンピューターの CPU 使用率の平均値 (1 時間ごと)
Perf | where Computer == "MyComputer" and CounterName startswith_cs "%" and InstanceName == "_Total" | summarize AggregatedValue = percentile(CounterValue, 70) by bin(TimeGenerated, 1h), CounterName 特定のコンピューターの各パーセント カウンターの 70 パーセンタイル (1 時間ごと)
Perf | where CounterName == "% Processor Time" and InstanceName == "_Total" and Computer == "MyComputer" | summarize ["min(CounterValue)"] = min(CounterValue), ["avg(CounterValue)"] = avg(CounterValue), ["percentile75(CounterValue)"] = percentile(CounterValue, 75), ["max(CounterValue)"] = max(CounterValue) by bin(TimeGenerated, 1h), Computer 特定のコンピューターの CPU 使用率の平均、最小、最大、75 パーセンタイル (1 時間ごと)
Perf | where ObjectName == "MSSQL$INST2:Databases" and InstanceName == "master" 名前付き SQL Server インスタンス INST2 からのマスター データベースのデータベース パフォーマンス オブジェクトのすべてのパフォーマンス データ

次のステップ