Log Analytics エージェントを使用して Windows と Linux のパフォーマンス データ ソースを収集する
Windows および Linux のパフォーマンス カウンターから、ハードウェア コンポーネント、オペレーティング システム、およびアプリケーションのパフォーマンスに関する情報が得られます。 Azure Monitor では、ほぼリアルタイムの分析のために Log Analytics エージェントからパフォーマンス カウンターを頻繁に収集することができます。 また、Azure Monitor では、長期的な分析とレポートのためにパフォーマンス データを集計することもできます。
重要
レガシの Log Analytics エージェントは、2024 年 8 月 31 日の時点で非推奨となっています。 今後 Microsoft は、Log Analytics エージェントに関するすべてのサポートを提供しません。 Azure Monitor にデータを取り込むために Log Analytics エージェントを使用している場合は、Azure Monitor エージェントに移行してください。
パフォーマンス カウンターを構成する
Log Analytics ワークスペースの [レガシ エージェントの管理] メニューからパフォーマンス カウンターを構成します。
新しいワークスペースの Windows または Linux のパフォーマンス カウンターを初めて構成する場合、いくつかの一般的なカウンターをすばやく作成するためのオプションが表示されます。 それぞれの横にはチェック ボックスが表示されます。 最初に作成するカウンターがオンになっていることを確かめてから、[選択されたパフォーマンス カウンターを追加する] を選択します。
Windows のパフォーマンス カウンターの場合、パフォーマンス カウンターごとに特定のインスタンスを選択できます。 Linux のパフォーマンス カウンターの場合、各カウンターに対して選択したインスタンスが、そのすべての子カウンターに適用されます。 次の表は、Windows と Linux の両方のパフォーマンス カウンターで利用できる共通のインスタンスを示しています。
インスタンス名 | 説明 |
---|---|
_Total | すべてのインスタンスの合計 |
* | すべてのインスタンス |
(/|/var) | / または /var という名前のインスタンスと一致します |
Windows パフォーマンス カウンター
収集する新しい Windows パフォーマンス カウンターを追加するには、次の手順を実行します。 V2 Windows パフォーマンス カウンターはサポートされていません。
[パフォーマンス カウンターの追加] を選択します。
<オブジェクト (インスタンス)>\<カウンター> の形式で、テキスト ボックスにカウンターの名前を入力します。 入力を開始すると、一致する一般的なカウンターの一覧が表示されます。 一覧からカウンターを選択するか、独自のものを入力することができます。 <オブジェクト>\<カウンター> を指定して、特定のカウンターのすべてのインスタンスを返すこともできます。
名前付きインスタンスから SQL Server パフォーマンス カウンターが収集される場合、すべての名前付きインスタンス カウンターの名前は MSSQL$ から始まり、その後にインスタンスの名前が続きます。 たとえば、名前付き SQL インスタンス INST2 のデータベース パフォーマンス オブジェクトからログ キャッシュ ヒット率カウンターを収集するには、
MSSQL$INST2:Databases(*)\Log Cache Hit Ratio
と指定します。カウンターを追加すると、その [サンプルの間隔] には既定値の 10 秒が使用されます。 収集されたパフォーマンス データのストレージ要件を減らしたい場合は、1,800 秒 (30 分) を上限としてこの既定値を増やします。
カウンターの追加が完了した後、画面の上部にある [適用] を選択して構成を保存します。
Linux パフォーマンス カウンター
収集する新しい Linux パフォーマンス カウンターを追加するには、次の手順を実行します。
- [パフォーマンス カウンターの追加] を選択します。
- <オブジェクト (インスタンス)>\<カウンター> の形式で、テキスト ボックスにカウンターの名前を入力します。 入力を開始すると、一致する一般的なカウンターの一覧が表示されます。 一覧からカウンターを選択するか、独自のものを入力することができます。
- オブジェクトのすべてのカウンターは、同じ [サンプルの間隔] を使用します。 既定値は 10 秒です。 収集されたパフォーマンス データのストレージ要件を減らしたい場合は、1,800 秒 (30 分) を上限としてこの既定値を増やします。
- カウンターの追加が完了した後、画面の上部にある [適用] を選択して構成を保存します。
構成ファイルで 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 からのマスター データベースのデータベース パフォーマンス オブジェクトのすべてのパフォーマンス データ |
次のステップ
- MySQL および Apache HTTP Server を含む、Linux アプリケーションからパフォーマンス カウンターを収集します。
- ログ クエリについて学習し、データ ソースとソリューションから収集されたデータを分析します。
- さらに視覚化および分析を行うために、収集されたデータを Power BI にエクスポートします。