-
Notifications
You must be signed in to change notification settings - Fork 703
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
perfdata: add generic perfdata collector
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
- Loading branch information
Showing
31 changed files
with
1,932 additions
and
112 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,114 @@ | ||
# Perfdata collector | ||
|
||
The perfdata collector exposes any configured metric. | ||
|
||
| | | | ||
|---------------------|-------------------------| | ||
| Metric name prefix | `perfdata` | | ||
| Data source | Performance Data Helper | | ||
| Enabled by default? | No | | ||
|
||
## Flags | ||
|
||
|
||
### `--collector.perfdata.objects` | ||
|
||
Objects is a list of objects to collect metrics from. The value takes the form of a JSON array of strings. YAML is also supported. | ||
|
||
The collector supports only english named counter. Localized counter-names are not supported. | ||
|
||
#### Schema | ||
|
||
YAML: | ||
```yaml | ||
- object: "Processor Information" | ||
instances: ["*"] | ||
instance_label: "core" | ||
counters: | ||
"% Processor Time": {} | ||
- object: "Memory" | ||
counters: | ||
"Cache Faults/sec": | ||
type: "counter" | ||
``` | ||
JSON: | ||
```json | ||
[ | ||
{"object":"Processor Information","instance_label": "core","instances":["*"],"counters": {"% Processor Time": {}}}, | ||
{"object":"Memory","counters": {"Cache Faults/sec": {"type": "counter"}}} | ||
] | ||
``` | ||
|
||
#### name | ||
|
||
ObjectName is the Object to query for, like Processor, DirectoryServices, LogicalDisk or similar. | ||
|
||
The collector supports only english named counter. Localized counter-names are not supported. | ||
|
||
#### instances | ||
|
||
The instances key (this is an array) declares the instances of a counter you would like returned, it can be one or more values. | ||
|
||
Example: Instances = `["C:","D:","E:"]` | ||
|
||
This will return only for the instances C:, D: and E: where relevant. To get all instances of a Counter, use `["*"]` only. | ||
|
||
Some Objects like `Memory` do not have instances to select from at all. In this case, the `instances` key can be omitted. | ||
|
||
#### counters | ||
|
||
The Counters key (this is an object) declares the counters of the ObjectName you would like returned, it can also be one or more values. | ||
|
||
Example: Counters = `{"% Idle Time": {}, "% Disk Read Time": {}, "% Disk Write Time": {}}` | ||
|
||
This must be specified for every counter you want the results. Wildcards are not supported. | ||
|
||
#### counters Sub-Schema | ||
|
||
##### type | ||
|
||
This key is optional. It indicates the type of the counter. The value can be `counter` or `gauge`. | ||
If not specified, the windows_exporter will try to determine the type based on the counter type. | ||
|
||
### Example | ||
|
||
``` | ||
# HELP windows_perfdata_memory_cache_faults_sec | ||
# TYPE windows_perfdata_memory_cache_faults_sec counter | ||
windows_perfdata_memory_cache_faults_sec 2.369977e+07 | ||
# HELP windows_perfdata_processor_information__processor_time | ||
# TYPE windows_perfdata_processor_information__processor_time gauge | ||
windows_perfdata_processor_information__processor_time{instance="0,0"} 1.7259640625e+11 | ||
windows_perfdata_processor_information__processor_time{instance="0,1"} 1.7576796875e+11 | ||
windows_perfdata_processor_information__processor_time{instance="0,10"} 2.2704234375e+11 | ||
windows_perfdata_processor_information__processor_time{instance="0,11"} 2.3069296875e+11 | ||
windows_perfdata_processor_information__processor_time{instance="0,12"} 2.3302265625e+11 | ||
windows_perfdata_processor_information__processor_time{instance="0,13"} 2.32851875e+11 | ||
windows_perfdata_processor_information__processor_time{instance="0,14"} 2.3282421875e+11 | ||
windows_perfdata_processor_information__processor_time{instance="0,15"} 2.3271234375e+11 | ||
windows_perfdata_processor_information__processor_time{instance="0,16"} 2.329590625e+11 | ||
windows_perfdata_processor_information__processor_time{instance="0,17"} 2.32800625e+11 | ||
windows_perfdata_processor_information__processor_time{instance="0,18"} 2.3194359375e+11 | ||
windows_perfdata_processor_information__processor_time{instance="0,19"} 2.32380625e+11 | ||
windows_perfdata_processor_information__processor_time{instance="0,2"} 1.954765625e+11 | ||
windows_perfdata_processor_information__processor_time{instance="0,20"} 2.3259765625e+11 | ||
windows_perfdata_processor_information__processor_time{instance="0,21"} 2.3268515625e+11 | ||
windows_perfdata_processor_information__processor_time{instance="0,22"} 2.3301765625e+11 | ||
windows_perfdata_processor_information__processor_time{instance="0,23"} 2.3264328125e+11 | ||
windows_perfdata_processor_information__processor_time{instance="0,3"} 1.94745625e+11 | ||
windows_perfdata_processor_information__processor_time{instance="0,4"} 2.2011453125e+11 | ||
windows_perfdata_processor_information__processor_time{instance="0,5"} 2.27244375e+11 | ||
windows_perfdata_processor_information__processor_time{instance="0,6"} 2.25501875e+11 | ||
windows_perfdata_processor_information__processor_time{instance="0,7"} 2.2995265625e+11 | ||
windows_perfdata_processor_information__processor_time{instance="0,8"} 2.2929890625e+11 | ||
windows_perfdata_processor_information__processor_time{instance="0,9"} 2.313540625e+11 | ||
windows_perfdata_processor_information__processor_time{instance="0,_Total"} 2.23009459635e+11 | ||
``` | ||
|
||
## Metrics | ||
|
||
The perfdata collector returns metrics based on the user configuration. | ||
The metrics are named based on the object name and the counter name. | ||
The instance name is added as a label to the metric. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.