Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[vSphere][datastore] Add support for additional metrics #10911

Merged

Conversation

lucian-ioan
Copy link
Contributor

@lucian-ioan lucian-ioan commented Aug 28, 2024

Proposed commit message

Following beats code changes in elastic/beats#40441, the following metrics need integration update:

Metrics Type Metrics Field Mappings
Datastore performance  
datastore.read.average (KBps) datastore.read.bytes
datastore.write.average (KBps) datastore.write.bytes
disk.capacity.bytes (KBps) disk.capacity.bytes
disk.capacity.usage.average (KB) disk.capacity.usage.bytes
disk.provisioned.bytes (KBps) disk.provisioned.bytes
Datastore Summary  
Datastore.OverallStatus datastore.status
Datastore.Host datastore.host.count
Datastore.Host datastore.host.names
Datastore.Vm datastore.vm.count
Datastore.Vm datastore.vm.names
Alerts  
triggerd_alarms.name Name of the alarm.
triggerd_alarms.id Unique key that identifies the alarm.
triggerd_alarms.status Overall status of the alarm object.
triggerd_alarms.triggered_time Time the alarm triggered.
triggerd_alarms.description Description of the alarm.
triggerd_alarms.entity_name alarm happened in respective entity

Checklist

  • I have reviewed tips for building integrations and this pull request is aligned with them.
  • I have verified that all data streams collect metrics or logs.
  • I have added an entry to my package's changelog.yml file.
  • I have verified that Kibana version constraints are current according to guidelines.

Author's Checklist

  • Create Snapshot of Metricbeat changes.
  • Use Snapshot to make the changes in the vSphere Integration Host datastream.
  • Update the system and pipeline changes.
  • Add versioning to changelog.
  • Test the Integration for metric collection.
  • Test Integration from TSDB Perspective.
  • Code review.

How to test this PR locally

Related issues

@lucian-ioan lucian-ioan self-assigned this Aug 28, 2024
@lucian-ioan lucian-ioan added the Integration:vsphere VMware vSphere label Aug 28, 2024
@lucian-ioan lucian-ioan marked this pull request as ready for review August 28, 2024 09:08
@lucian-ioan lucian-ioan requested a review from a team as a code owner August 28, 2024 09:08
@andrewkroh andrewkroh added enhancement New feature or request Team:Obs-InfraObs Label for the Observability Infrastructure Monitoring team [elastic/obs-infraobs-integrations] labels Aug 28, 2024
@elasticmachine
Copy link

🚀 Benchmarks report

To see the full report comment with /test benchmark fullreport

@lalit-satapathy
Copy link
Collaborator

lalit-satapathy commented Aug 30, 2024

What about stack version dependancy?

Also release version we need to use next.

@ishleenk17
Copy link
Contributor

I have shared the details of how we can handle versioning here.
Please follow that for all the Integration PR's

@ishleenk17
Copy link
Contributor

@agithomas : Keeping TSDB in mind, can you check and suggest if any of these need to be added for TSDB?

@lucian-ioan
Copy link
Contributor Author

lucian-ioan commented Sep 2, 2024

@agithomas @ishleenk17 I think host.names and vm.names could be used for TSDB.

Do you think using the fingerprint processor is unnecessary here?

@agithomas
Copy link
Contributor

agithomas commented Sep 2, 2024

@agithomas @ishleenk17 I think host.names and vm.names could be used for TSDB.

Do you think using the fingerprint processor is unnecessary here?

Going with the description of host.names, it is List of all the host names associated with the datastore.. So, can there be more than one hosts mapped to one datastore? So, is this an array?

@ishleenk17
Copy link
Contributor

@agithomas @ishleenk17 I think host.names and vm.names could be used for TSDB.
Do you think using the fingerprint processor is unnecessary here?

Going with the description of host.names, it is List of all the host names associated with the datastore.. So, can there be more than one hosts mapped to one datastore? So, is this an array? Does dimension mapping support arrays?

Yes, one datastore can have multiple hosts associated.

@agithomas
Copy link
Contributor

@ishleenk17 , if a specific datastore is mapped with more than one hosts, will it create multiple documents or it will be a single document having host.names having multiple values?

This decides - if host.names must be a dimension or not

@ishleenk17
Copy link
Contributor

@ishleenk17 , if a specific datastore is mapped with more than one hosts, will it create multiple documents or it will be a single document having host.names having multiple values?

This decides - if host.names must be a dimension or not

Single document with host.name/vm.name as an array in it. Sample json

@lucian-ioan lucian-ioan force-pushed the update_vsphere_datastore_integration branch from ea12d0d to 57aad0b Compare September 18, 2024 08:30
@lucian-ioan
Copy link
Contributor Author

lucian-ioan commented Sep 18, 2024

Updated the integration with all the recent changes from elastic/beats.

Will rerun system tests, but I don't think any other changes are needed.

@ishleenk17
Copy link
Contributor

Period is not removed from the main manifest file and upgrade the kibana version to 8.15.2

@@ -1,4 +1,9 @@
# newer versions go on top
- version: "1.14.0-next"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Update the version to 1.15.0-next

description: >
Rate of writing data to the datastore.
format: bytes
- name: write.latency.total.ms
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this is resolved still ?

title: Period
description: The vSphere performance API allows for collecting host and datastore metrics at various intervals, including real-time (every 20 seconds), 5 minutes, or longer durations. Properly configuring the "period" parameter is crucial to manage usage restrictions and ensure accurate data collection. For more information on optimizing your data collection setup, refer to the [Data Collection Intervals](https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.monitoring.doc/GUID-247646EA-A04B-411A-8DD4-62A3DCFCF49B.html) and [Data Collection Levels](https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.monitoring.doc/GUID-25800DE4-68E5-41CC-82D9-8811E27924BC.html) documentation.
default: 20s
- name: tags
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tags is not added to hbs file.

@ishleenk17
Copy link
Contributor

Can we add pipeline tests as well ?
You may refer to host PR

@ishleenk17
Copy link
Contributor

The fields in the commit description are not updated to the latest ones

@elasticmachine
Copy link

💚 Build Succeeded

History

cc @lucian-ioan

Copy link
Contributor

@niraj-elastic niraj-elastic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Copy link
Collaborator

@kush-elastic kush-elastic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Copy link
Contributor

@ishleenk17 ishleenk17 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

@lucian-ioan lucian-ioan merged commit 3390921 into elastic:main Sep 19, 2024
5 checks passed
@elastic-vault-github-plugin-prod

Package vsphere - 1.15.0 containing this change is available at https://epr.elastic.co/search?package=vsphere

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Integration:vsphere VMware vSphere Team:Obs-InfraObs Label for the Observability Infrastructure Monitoring team [elastic/obs-infraobs-integrations]
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants