Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
In this article, learn how to use the Get-EsxtopData Run Command in Azure VMware Solution to collect batch-mode esxtop performance snapshots from a single ESXi host through the vCenter Server ServiceManager API and upload the resulting CSV file to a datastore. The command doesn't require SSH access to the ESXi host.
Use this command to capture low-level CPU, memory, network, and storage metrics for performance troubleshooting.
Prerequisites
Before you collect esxtop data, make sure that:
You have access to the Azure portal with permissions equivalent to the cloudadmin role for the Azure VMware Solution private cloud.
You're using the latest supported version of the Microsoft.AVS.Management Run Command package.
The target ESXi host is in the Connected state within the specified cluster.
A vSAN datastore (or a customer-specified datastore) is accessible on the cluster for CSV upload.
Run Command parameters: Get-EsxtopData
ClusterName — Name of the vSphere cluster that contains the target ESXi host. For example,
Cluster-1.EsxiHostName — ESXi host name or name prefix. The first connected host that matches this prefix is used. For example,
esx01.Iterations — Number of esxtop snapshots to collect. Valid values are
1through6. The default value is6. Combined with IntervalSeconds, the total spacing between the first and last sample must not exceed 30 seconds:(Iterations - 1) * IntervalSeconds <= 30.IntervalSeconds — Number of seconds to wait between snapshots. Valid values are
2through30. The default value is5. The minimum of2seconds aligns with the esxtop minimum sampling interval.OutputDatastoreName — Name of the datastore to upload the CSV file to. When omitted, the value defaults to the first vSAN datastore on the cluster. Specify this parameter to use a non-vSAN datastore, or when automatic vSAN discovery doesn't find the desired target.
Retain up to — Retention period of the cmdlet output. The default value is
60.Specify name for execution — Alphanumeric name. For example, Get-EsxtopData-Exec1.
Timeout — The period after which a cmdlet exits if it's taking too long to finish.
Collect esxtop data
Go to your Azure VMware Solution private cloud in the Azure portal.
Select Run command > Packages > Microsoft.AVS.Management.
Select Get-EsxtopData.
Provide the required values, or change the default values based on the preceding parameters list. Then select Run.
Note
The ClusterName and EsxiHostName fields are required. All other fields have default values and are optional.
The CSV file contains the following columns:
Timestamp — The date and time when the sample was captured (
yyyy-MM-dd HH:mm:ss).SampleNumber — Sequential sample number (
1through Iterations).RawData — Raw esxtop counter data returned by the vCenter Server esxtop
FetchStatsAPI.
Use the counter metadata from the esxtop CounterInfo API call to map raw data fields to specific performance metrics (CPU, memory, network, and disk).
Best practices and safety guidance
Start with the default values (6 iterations and 5-second intervals) for a quick 25-second capture window.
The total sampling window is limited to 30 seconds between the first and last sample. Exceeding this limit (
(Iterations - 1) * IntervalSeconds > 30) results in an error.If you need longer collection periods, run the command multiple times and correlate the output files by timestamp.
Use OutputDatastoreName when the cluster has multiple datastores or when automatic vSAN datastore discovery doesn't select the desired target.
The command doesn't require SSH access. It uses the vCenter Server
ServiceManagerAPI to collect data.The command doesn't modify the software-defined datacenter (SDDC) or any host configuration (
UpdatesSDDC = false).
Next steps
Download the CSV file from
[datastore]/esxtop_output/by using the vSphere Client or datastore browser.Use the VMware esxtop counter reference to interpret the raw performance data.