"Performance data is currently not available for this entity" viewing the VM performance tab in vCenter Server
search cancel

"Performance data is currently not available for this entity" viewing the VM performance tab in vCenter Server

book

Article ID: 326318

calendar_today

Updated On:

Products

VMware vCenter Server VMware vSphere ESXi

Issue/Introduction

  • While accessing the VM performance tab and navigating to Overview, you see: "No data available".
  • Data is shown for Real time, but fails to retrieve it for past 1 day, week, month, or year.
  • While selecting the Advanced parameter in the performance tab, you see one of the following:

    "Performance data is currently not available for this entity"        
    "Performance data is currently not available for these metrics"      
    "No performance data is available for the currently selected metrics"

Environment

VMware vCenter Server 6.x, 7.x, 8.x
VMware ESXi 6.x, 7.x, 8.x

Cause

This issue occurs when the vCenter Server database (Postgres) contains a stale or future timestamp reference for the ESXi host from which the data was collected.

Resolution

  1. Ensure the system time on the affected ESXi host is synchronized with the vCenter Server.

  2. Create a snapshot of the vCenter Server Appliance. If in Enhanced Linked Mode (ELM), take an offline snapshot of all vCenter Servers in the environment.

  3. Log in to the vSphere Web Client. Navigate to Advanced Settings and verify config.vpxd.stats.maxQueryMetrics is set to 256.




  4. Connect to the vCenter Server Appliance via SSH using root credentials.
  5. Enable the shell: shell.set --enabled true
  6. Enter the shell: shell
  7. Log in to the database: /opt/vmware/vpostgres/current/bin/psql -d VCDB -U postgres

    Note: The next steps are depending on the version of vCenter Server. If you are using vCenter Server 6.7 or earlier, run steps 10 to 13. If you are using vCenter Server 7.x or 8.x, run steps 14 to 17 instead.

  8. For vCenter 6.7 or earlier,

    1. Run the following query to list the ESXi hosts where the timestamp is in future:

      SELECT id, dns_name, last_perf_time FROM vpx_host WHERE last_perf_time > NOW() ORDER BY last_perf_time;


      Example output:

      id |      dns_name      |   last_perf_time     
      ----+--------------------+---------------------
      ## | <FQDN_ESXI_HOST1> | YYYY-MM-DD HH:MM:SS   
      ## | <FQDN_ESXI_HOST2> | YYYY-MM-dd HH:MM:SS   
      ## | <FQDN_ESXI_HOST3> | YYYY-MM-dd HH:MM:SS   

       

    2. Look for last_perf_time entries that are not close in time to the other entries:

      id |      dns_name      |   last_perf_time
      ----+--------------------+---------------------
      ## | <FQDN_ESXI_HOST1> | YYYY-MM-DD HH:MM:SS   
      ## | <FQDN_ESXI_HOST2> | YYYY-MM-DD HH:MM:SS   <-------- Problem host
      ## | <FQDN_ESXI_HOST3> | YYYY-MM-DD HH:MM:SS   


    3. Run the following query to update the time stamp: 

       update vpx_host set last_perf_time=now() where id=’HOST_ID’;    

    4. To update multiple/all hosts with future timestamps:

      UPDATE vpx_host SET last_perf_time = NOW() WHERE last_perf_time > NOW();

      Once the update is successful, run the select query provided in step.8 to confirm the changes are reflected.
  9. For vCenter Server 7.x and 8.x, use the vpx_host_perfinfo table:

    1. To list hosts with future timestamps:

      SELECT h.id AS host_id, h.dns_name, p.last_perf_time FROM vpx_host h JOIN vpx_host_perfinfo p ON h.id = p.host_id WHERE p.last_perf_time > NOW();

    2. To update a single host:

      UPDATE vpx_host_perfinfo SET last_perf_time = NOW() WHERE host_id = 'HOST_ID';

    3. To update multiple/all hosts with future timestamps. Once the update is successful, run the select query provided in step.11.a to confirm there are no hosts listed with future timestamps:

      UPDATE vpx_host_perfinfo SET last_perf_time = NOW() WHERE last_perf_time > NOW();

  10. Exit the database: \q

  11. Restart the vpxd service: service-control --restart vpxd


Note: Performance charts typically take 30-40 minutes to begin repopulating after these steps.