diff --git a/changelog/fragments/1764752046-add-resource-pool-id-to-vsphere-cluster-metricset.yaml b/changelog/fragments/1764752046-add-resource-pool-id-to-vsphere-cluster-metricset.yaml new file mode 100644 index 000000000000..4629a54bc52f --- /dev/null +++ b/changelog/fragments/1764752046-add-resource-pool-id-to-vsphere-cluster-metricset.yaml @@ -0,0 +1,45 @@ +# REQUIRED +# Kind can be one of: +# - breaking-change: a change to previously-documented behavior +# - deprecation: functionality that is being removed in a later release +# - bug-fix: fixes a problem in a previous version +# - enhancement: extends functionality but does not break or fix existing behavior +# - feature: new functionality +# - known-issue: problems that we are aware of in a given version +# - security: impacts on the security of a product or a user’s deployment. +# - upgrade: important information for someone upgrading from a prior version +# - other: does not fit into any of the other categories +kind: feature + +# REQUIRED for all kinds +# Change summary; a 80ish characters long description of the change. +summary: add resource pool id to vsphere cluster metricset + +# REQUIRED for breaking-change, deprecation, known-issue +# Long description; in case the summary is not enough to describe the change +# this field accommodate a description without length limits. +# description: + +# REQUIRED for breaking-change, deprecation, known-issue +# impact: + +# REQUIRED for breaking-change, deprecation, known-issue +# action: + +# REQUIRED for all kinds +# Affected component; usually one of "elastic-agent", "fleet-server", "filebeat", "metricbeat", "auditbeat", "all", etc. +component: metricbeat + +# AUTOMATED +# OPTIONAL to manually add other PR URLs +# PR URL: A link the PR that added the changeset. +# If not present is automatically filled by the tooling finding the PR where this changelog fragment has been added. +# NOTE: the tooling supports backports, so it's able to fill the original PR number instead of the backport PR number. +# Please provide it if you are adding a fragment for a different PR. +# pr: https://github.com/owner/repo/1234 + +# AUTOMATED +# OPTIONAL to manually add other issue URLs +# Issue URL; optional; the GitHub issue related to this changeset (either closes or is part of). +# If not present is automatically filled by the tooling with the issue linked to the PR number. +# issue: https://github.com/owner/repo/1234 diff --git a/docs/reference/metricbeat/exported-fields-vsphere.md b/docs/reference/metricbeat/exported-fields-vsphere.md index b9d5da2a48cf..29973e358bf1 100644 --- a/docs/reference/metricbeat/exported-fields-vsphere.md +++ b/docs/reference/metricbeat/exported-fields-vsphere.md @@ -89,6 +89,12 @@ Cluster information. type: object +**`vsphere.cluster.resourcepool.id`** +: id of resource pool associated with the cluster. + + type: keyword + + ## datastore [_datastore] datastore diff --git a/metricbeat/module/vsphere/cluster/_meta/fields.yml b/metricbeat/module/vsphere/cluster/_meta/fields.yml index ce72f97fe8f1..d2a36a61cb28 100644 --- a/metricbeat/module/vsphere/cluster/_meta/fields.yml +++ b/metricbeat/module/vsphere/cluster/_meta/fields.yml @@ -60,4 +60,10 @@ type: object object_type: keyword description: > - List of all the triggered alarms. \ No newline at end of file + List of all the triggered alarms. + - name: resourcepool + type: group + fields: + - name: id + type: keyword + description: id of resource pool associated with the cluster. diff --git a/metricbeat/module/vsphere/cluster/cluster.go b/metricbeat/module/vsphere/cluster/cluster.go index 2849b7ff82d9..136e553665b5 100644 --- a/metricbeat/module/vsphere/cluster/cluster.go +++ b/metricbeat/module/vsphere/cluster/cluster.go @@ -119,7 +119,7 @@ func (m *ClusterMetricSet) Fetch(ctx context.Context, reporter mb.ReporterV2) er // Retrieve summary property for all Clusters var clt []mo.ClusterComputeResource - err = v.Retrieve(ctx, []string{"ClusterComputeResource"}, []string{"name", "host", "network", "datastore", "configuration", "triggeredAlarmState"}, &clt) + err = v.Retrieve(ctx, []string{"ClusterComputeResource"}, []string{"name", "host", "network", "datastore", "configuration", "triggeredAlarmState", "resourcePool"}, &clt) if err != nil { return fmt.Errorf("error in Retrieve: %w", err) } diff --git a/metricbeat/module/vsphere/cluster/cluster_test.go b/metricbeat/module/vsphere/cluster/cluster_test.go index 72026716544d..fcaf1363ae9f 100644 --- a/metricbeat/module/vsphere/cluster/cluster_test.go +++ b/metricbeat/module/vsphere/cluster/cluster_test.go @@ -64,6 +64,9 @@ func TestFetchEventContents(t *testing.T) { "count": 3, "names": []string{"VM Network", "DVS0-DVUplinks-8", "DC0_DVPG0"}, }, + "resourcepool": mapstr.M{ + "id": "resgroup-27", + }, } assert.Exactly(t, testEvent, event) diff --git a/metricbeat/module/vsphere/cluster/data.go b/metricbeat/module/vsphere/cluster/data.go index 286e4dbb2d8e..32f6c71abfbd 100644 --- a/metricbeat/module/vsphere/cluster/data.go +++ b/metricbeat/module/vsphere/cluster/data.go @@ -41,6 +41,12 @@ func (m *ClusterMetricSet) mapEvent(cl mo.ClusterComputeResource, data *metricDa "name": cl.Name, } + if cl.ResourcePool != nil { + event["resourcepool"] = mapstr.M{ + "id": cl.ResourcePool.Value, + } + } + if len(data.triggeredAlarms) > 0 { event.Put("triggered_alarms", data.triggeredAlarms) } diff --git a/metricbeat/module/vsphere/fields.go b/metricbeat/module/vsphere/fields.go index fff391f13457..e8b798af8089 100644 --- a/metricbeat/module/vsphere/fields.go +++ b/metricbeat/module/vsphere/fields.go @@ -32,5 +32,5 @@ func init() { // AssetVsphere returns asset data. // This is the base64 encoded zlib format compressed contents of module/vsphere. func AssetVsphere() string { - return "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" + return "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" }