Windowsパフォーマンス・カウンターレシーバー 🔗
The Windows Performance Counters receiver allows the Splunk Distribution of the OpenTelemetry Collector to collect configured system, application, or custom performance counter data from the Windows Registry. The supported pipeline type is metrics
. See パイプラインでデータを処理する for more information.
注釈
Windowsパフォーマンス・カウンター・レシーバーはWindowsホストでのみ動作します。
Windowsパフォーマンスカウンターレシーバーは、SmartAgentモニター Windows Performance Counters (deprecated) を置き換えます。これは、Telegraf Windows Performance Counters Input Plugin をベースとし、PDHインターフェイス を使用します。
はじめに 🔗
以下の手順に従って、コンポーネントの設定とアクティベーションを行ってください:
Deploy the Splunk Distribution of the OpenTelemetry Collector to your Windows host platform as described in インストーラ・スクリプトを使用して Collector for Windows をインストールします。.
次のセクションで説明するように、Windowsパフォーマンス・カウンター・レシーバーを設定します。
Collector を再起動します。
サンプル構成 🔗
Windows Performance Counters レシーバーをアクティブにするには、Collector 構成ファイルの receivers
セクションに windowsperfcounters
エントリーを追加します。例:
receivers:
windowsperfcounters:
metrics:
bytes.committed:
description: the number of bytes committed to memory
unit: By
gauge:
collection_interval: 30s
perfcounters:
- object: Memory
counters:
- name: Committed Bytes
metric: bytes.committed
設定を完了するには、設定ファイルの service
セクションの metrics
パイプラインに、レシーバーを含めます:
service:
pipelines:
metrics:
receivers:
- windowsperfcounters
Windows パフォーマンス・カウンターからメトリクスを収集するには、例のように metrics
フィールドを使用してメトリクスを定義する必要があります。その後、counters.metric
フィールドから定義したメトリクスを参照できます。
利用可能なパフォーマンス・カウンターを見る 🔗
利用可能なパフォーマンス・カウンターのリストを見るには、Windows PowerShellまたはWindowsパフォーマンスモニターを使用します。
PowerShellで以下のコマンドを実行し、すべてのパフォーマンス・カウンターセットをリストします:
Get-Counter -ListSet *
各パフォーマンス・カウンターセットのインスタンスを一覧表示するには、以下のコマンドを実行し、<perf_object_name>
を検索したいインスタンス名に置き換えます:
Get-Counter -List "<perf_object_name>"
次のことに注意してください:
If a specific performance counter can’t be accessed at startup, the receiver emits a warning and continues execution.
OSの設定が異なるため、システムによってはパフォーマンスカウンターが存在しない場合があります。
高度な設定 🔗
収集間隔とカウンターを設定する 🔗
収集間隔とスクレイピングするパフォーマンス・カウンターを設定できます。例:
windowsperfcounters:
collection_interval: <duration>
initial_delay: <duration>
metrics:
<metric name 1>:
description: <description>
unit: <unit type>
gauge: null
<metric name 2>:
description: <description>
unit: <unit type>
sum: null
aggregation: <cumulative or delta>
monotonic: <true or false>
perfcounters:
- object: <object name>
instances:
- <instance name>
counters:
- name: <counter name>
metric: <metric name>
attributes:
<key>: <value>
異なる収集間隔でスクレイプする 🔗
以下の例は、ターゲットによって異なる収集間隔を使用してパフォーマンス・カウンターをスクレイピングする方法を示しています:
receivers:
windowsperfcounters/memory:
metrics:
bytes.committed:
description: Number of bytes committed to memory
unit: By
gauge:
collection_interval: 30s
perfcounters:
- object: Memory
counters:
- name: Committed Bytes
metric: bytes.committed
windowsperfcounters/processor:
collection_interval: 1m
metrics:
processor.time:
description: CPU active and idle time
unit: "%"
gauge:
perfcounters:
- object: "Processor"
instances: "*"
counters:
- name: "% Processor Time"
metric: processor.time
attributes:
state: active
- object: "Processor"
instances: ["0", "1"]
counters:
- name: "% Idle Time"
metric: processor.time
attributes:
state: idle
# ...
service:
pipelines:
metrics:
receivers: [windowsperfcounters/memory, windowsperfcounters/processor]
Configure instances 🔗
インスタンスは、パフォーマンス・データを生成するあらゆるエンティティです。インスタンスは1つ以上のカウンター値を持つことができます。
レシーバーは instances
フィールドを通じて以下の値をサポートします:
値 |
解釈 |
---|---|
Not specified |
これは、カウンターにインスタンスがない場合にのみ有効な値です。 |
|
All instances, excluding |
|
他のすべてのインスタンスの値を集約した 「合計 「インスタンス。詳しくは、インスタンスの動作と集計カウンターの合計 を参照してください。 |
|
シングルインスタンス |
|
インスタンスのセット |
|
総インスタンスを含むインスタンスのセット |
インスタンスの動作と集計カウンターの合計 🔗
_Total
インスタンスのドロップを避けるには、以下の例のように、レシーバーが独自のメトリックで個別に収集するように設定します:
windowsperfcounters:
metrics:
processor.time.total:
description: Total CPU active and idle time
unit: "%"
gauge:
collection_interval: 30s
perfcounters:
- object: "Processor"
instances:
- "_Total"
counters:
- name: "% Processor Time"
metric: processor.time.total
警告
instance
の値 "*"
を使用する場合、カウンターが _Total
以外の値を使用する場合は、レシーバーがメトリクスをスクレイピングした後に集約する際に、ダブルカウントを避けるようにしてください。
Recreate the query on every scrape 🔗
Windowsのバージョンによっては、カウンターが破損し、最初のスクレイプの後に無効なデータを返し続けることがあります。このような場合は、カウンターの設定 recreate_query
を true
に設定し(デフォルトは false
)、スクレイプの度にPDHクエリを再作成するように受信機に指示します。これはパフォーマンスに影響する可能性がありますが、collection_interval
が非常に高くない限り、重要ではありません。
クエリの再作成に失敗した場合、以前のクエリが再利用され、エラーが記録されます。
Define metric format 🔗
Configured metrics consist of a metric description, including unit and type, used by one or more performance counters scraped by the receiver.
特定の形式でメトリクスを報告するには、メトリクスを定義し、該当する属性とともに、対応するカウンターでそれを参照します。デフォルトでは、メトリクス名はカウンターの名前に対応します。
メトリクスは、sum
または gauge
のタイプが可能です。Sum メトリクスは、aggregation
と monotonic
フィールドをサポートします。
フィールド |
説明 |
値 |
デフォルト |
---|---|---|---|
|
メトリクスのキーまたは名前。空でない文字列。 |
文字列 |
カウンターの名前 |
|
メトリクスまたは測定の説明 |
文字列 |
|
|
測定単位 |
文字列 |
|
|
合計メトリクスの表現 |
合計設定 |
|
|
ゲージメトリクスの表現 |
ゲージ設定 |
Sum metrics 🔗
以下の設定は、合計メトリクスに適用されます:
フィールド |
説明 |
値 |
---|---|---|
|
メトリクスの集計の一時性のタイプ |
|
|
メトリクス値が減少するかどうか |
|
Gauge metrics 🔗
gauge
設定は設定を受け付けません。上位互換性のためにオブジェクトとして指定されています。
The following example emits the Memory/Committed Bytes
counter as the bytes.committed
metric:
receivers:
windowsperfcounters:
metrics:
bytes.committed:
description: the number of bytes committed to memory
unit: By
gauge:
collection_interval: 30s
perfcounters:
- object: Memory
counters:
- name: Committed Bytes
metric: bytes.committed
service:
pipelines:
metrics:
receivers: [windowsperfcounters]
既知の制限 🔗
ネットワーク・インターフェイスはコンテナ内部では利用できないため、そのシナリオではオブジェクト
Network Interface
のメトリクスは生成されません。サブプロセスがある場合は、Network Interface
メトリクスをキャプチャします。カウンターのカテゴリ
Process
は、同じプロセスの複数のインスタンスがあると信頼できません。Windows 11以降では、インスタンス名にプロセスIDが含まれるため、代わりに
Process V2
を使用します。Windows 11より前のバージョンでは、インスタンス名にPIDを含めるように
Process
カウンターカテゴリを設定できます。詳しくは、Microsoftのドキュメント Handling Duplicate Instance Names をご覧ください。
設定 🔗
以下の表は、Windows パフォーマンス・カウンター・レシーバーの構成オプションを示します:
トラブルシューティング 🔗
Splunk Observability Cloudをご利用のお客様で、Splunk Observability Cloudでデータを確認できない場合は、以下の方法でサポートを受けることができます。
Splunk Observability Cloudをご利用のお客様
Submit a case in the Splunk Support Portal .
Contact Splunk Support .
見込み客および無料トライアルユーザー様
Splunk Answers のコミュニティサポートで質問し、回答を得る
Splunk #observability ユーザーグループの Slack チャンネルに参加して、世界中の顧客、パートナー、Splunk 社員とのコミュニケーションを図る。参加するには、Get Started with Splunk Community マニュアルの チャットグループ を参照してください。