-
Notifications
You must be signed in to change notification settings - Fork 4.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Metricbeat][vSphere] Support for configurable IntervalId for perform…
…ance API (#40678) * initial commit for intervalId supports for performance metrics * update docs and fix CI * Add changelog entry * fix CI * resolve review comments * fix loggers * resolved review comments * update versions * update UTs * update integration tests * 10s -> 20s * Update CHANGELOG.next.asciidoc Co-authored-by: Aman <38116245+devamanv@users.noreply.github.com> * Update metricbeat/docs/modules/vsphere.asciidoc Co-authored-by: Aman <38116245+devamanv@users.noreply.github.com> * make update * add recover for ToMetricSeries panic * return error instead just logging it. * remove restriction of interval IDs * remove unnecessary validations * remove recover and add empty condition * update changelog entry * Fix wrapping of errors in loggers * update data.json * update data.json * fix CI and loggers * update changelog entries * make update * fix changelog entries * update changelog entry --------- Co-authored-by: Aman <38116245+devamanv@users.noreply.github.com> (cherry picked from commit c75a7a4)
- Loading branch information
1 parent
1ce389c
commit de0d2b2
Showing
20 changed files
with
484 additions
and
251 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
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 |
---|---|---|
@@ -1,13 +1,23 @@ | ||
- module: vsphere | ||
enabled: true | ||
metricsets: ["cluster", "datastore", "datastorecluster", "host", "network", "resourcepool", "virtualmachine"] | ||
# Real-time data collection – An ESXi Server collects data for each performance counter every 20 seconds. | ||
|
||
# Real-time data collection – An ESXi Server collects data for each performance counter every 20 seconds by default. | ||
# Supported Periods: | ||
# The Datastore and Host metricsets support performance data collection using the vSphere performance API. | ||
# Since the performance API has usage restrictions based on data collection intervals, | ||
# users should ensure that the period is configured optimally to receive real-time data. | ||
# users can still collect summary metrics if performance metrics are not supported for the configured instance. | ||
# This configuration can be determined based on the Data Collection Intervals and Data Collection Levels. | ||
# Reference Links: | ||
# Data Collection Intervals: https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.monitoring.doc/GUID-247646EA-A04B-411A-8DD4-62A3DCFCF49B.html | ||
# Data Collection Levels: https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.monitoring.doc/GUID-25800DE4-68E5-41CC-82D9-8811E27924BC.html | ||
period: 20s | ||
hosts: ["https://localhost/sdk"] | ||
|
||
username: "user" | ||
password: "password" | ||
# If insecure is true, don't verify the server's certificate chain | ||
insecure: false | ||
# Get custom fields when using virtualmachine metric set. Default false. | ||
# Get custom fields when using virtualmachine metricset. Default false. | ||
# get_custom_fields: false |
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 |
---|---|---|
@@ -1,11 +1,76 @@ | ||
The vSphere module uses the https://github.com/vmware/govmomi[Govmomi] library to collect metrics from any Vmware SDK URL (ESXi/VCenter). This library is built for and tested against ESXi and vCenter 5.5, 6.0 and 6.5. | ||
The vSphere module uses the https://github.com/vmware/govmomi[Govmomi] library to collect metrics from any VMware SDK URL (ESXi/VCenter). | ||
|
||
By default it enables the metricsets `cluster`, `datastore`, `datastorecluster`, `host`, `network`, `resourcepool` and `virtualmachine`. | ||
This module has been tested against ESXi and vCenter versions 5.5, 6.0, 6.5, and 7.0.3. | ||
|
||
By default, the vSphere module enables the following metricsets: | ||
|
||
1. cluster | ||
2. datastore | ||
3. datastorecluster | ||
4. host | ||
5. network | ||
6. resourcepool | ||
7. virtualmachine | ||
[float] | ||
=== Supported Periods: | ||
The Datastore and Host metricsets support performance data collection using the vSphere performance API. Given that the performance API imposes usage restrictions based on data collection intervals, users should configure the period optimally to ensure the receipt of real-time data. This configuration can be determined based on the https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.monitoring.doc/GUID-247646EA-A04B-411A-8DD4-62A3DCFCF49B.html[Data Collection Intervals] and https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.monitoring.doc/GUID-25800DE4-68E5-41CC-82D9-8811E27924BC.html[Data Collection Levels]. | ||
|
||
[IMPORTANT] | ||
|
||
Only host and datastore metricsets have limitation of system configured period from vSphere instance. Users can still collect summary metrics if performance metrics are not supported for the configured instance. | ||
|
||
[float] | ||
==== Real-time data collection default interval: | ||
- 20s | ||
|
||
[float] | ||
==== Historical data collection default intervals: | ||
- 300s | ||
- 1800s | ||
- 7200s | ||
- 86400s | ||
|
||
[float] | ||
=== Example: | ||
If you need to configure multiple metricsets with different periods, you can achieve this by setting up multiple vSphere modules with different metricsets as demonstrated below: | ||
|
||
[source,yaml] | ||
---- | ||
- module: vsphere | ||
metricsets: | ||
- cluster | ||
- datastorecluster | ||
- network | ||
- resourcepool | ||
- virtualmachine | ||
period: 10s | ||
hosts: ["https://localhost/sdk"] | ||
username: "user" | ||
password: "password" | ||
insecure: false | ||
- module: vsphere | ||
metricsets: | ||
- datastore | ||
- host | ||
period: 300s | ||
hosts: ["https://localhost/sdk"] | ||
username: "user" | ||
password: "password" | ||
insecure: false | ||
---- | ||
|
||
[float] | ||
=== Dashboard | ||
|
||
The vsphere module comes with a predefined dashboard. For example: | ||
The vSphere module includes a predefined dashboard. For example: | ||
|
||
image::./images/metricbeat_vsphere_dashboard.png[] | ||
image::./images/metricbeat_vsphere_vm_dashboard.png[] |
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.