- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
Datadog’s WMI integration is a versatile approach to collecting relevant metrics from your Windows environments. As long as you’re able to query a WMI object for a numerical value, you can configure your dd-agent’s WMI check to run the same query and collect its results as a metric. See the retrieving WMI metrics guide.
But sometimes the default WMI counters aren’t sufficient for specific use-cases –in those cases, you can create your own custom WMI counters for the dd-agent
to query. Here’s a simple example of a powershell script that would create a custom WMI counter:
$ccdTypeName ='System.Diagnostics.CounterCreationData'
$CounterCollection = New-Object System.Diagnostics.CounterCreationDataCollection
$perfCounterVersion = 2
$perfCounterCategoryName = 'TestCounterCategory'
$CounterCollection.Add((New-Object $ccdTypeName "TestNameType", "TestNameDescription", NumberOfItems32))
[System.Diagnostics.PerformanceCounterCategory]::Create($perfCounterCategoryName, $perfCounterVersion, [Diagnostics.PerformanceCounterCategoryType]::SingleInstance, $CounterCollection);
That script will create a new performance counter, which will be available for querying once you re-sync your WMI counters thus:
winmgmt /resyncperf
You can verify that the new counter is available by querying it from powershell like so:
PS C:\Users\estib> Get-WmiObject -List | where {$_.name -match "TestCounterCategory"} | select Name
Which ought to output something like the following:
Name
----
Win32_PerfFormattedData_TestCounterCategory_TestCounterCategory
Win32_PerfRawData_TestCounterCategory_TestCounterCategory
You can further identify what numerical properties you have available to query from your custom counter with a query like the following:
PS C:\Users\estib> Get-WmiObject -Query "select * from Win32_PerfFormattedData_TestCounterCategory_TestCounterCategory"
...
TestNameType : 0
...
If then I wanted to collect that “TestNameType” value as a metric called “wmi.testnametype.count”, I could add this to my wmi_check.yaml configuration:
instances:
- class: Win32_PerfFormattedData_TestCounterCategory_TestCounterCategory
metrics:
- [TestNameType, wmi.testnametype.count, gauge]
Note: If you are submitting performance counters in languages other than English, set up the ddagentuser account with the en-US language pack.