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

"Performance data is currently not available for this entity" viewing the performance tab

book

Article ID: 326318

calendar_today

Updated On:

Products

VMware vCenter Server VMware vSphere ESXi

Issue/Introduction

Symptoms:
  • While accessing the performance tab and navigating to Overview, you see:
    No data available
  • The data is shown for Real time, but fails to retrieve it for past 1 day, week, month or year. 
  • While selecting the advance parameter in performance tab, you see:
    Performance data is currently not available for this entity


Environment

VMware vCenter Server 6.7.x
VMware vCenter Server 7.0.x
VMware vSphere ESXi 6.7
VMware vCenter Server 6.5.x
VMware vSphere ESXi 7.0.0
VMware vSphere ESXi 6.5

Cause

This issue is can happen when the vCenter Server database (Postgres) contains a stale or future time stamp reference for the ESXi host when the data was collected.

For vCenter Servers using SQL, see 
"Performance data is currently not available for this entity" error after updating rollup in vSphere

Resolution

  1. Ensure that the system time on the affected ESXi is in sync with the vCenter
  2. Backup the vCenter database. For more information, see Back up and restore vCenter Server Appliance/vCenter Server 6.x vPostgres database
  3. Create a snapshot of the vCenter Server Appliance.
  4. Log in to the vSphere Web Client and navigate to Advanced Settings:

  5. Add a new advanced setting with the name config.vpxd.stats.maxQueryMetrics and the value 256.
  6. Connect to vCenter Server Appliance through the console or using an SSH session along with root credentials.
  7. Enable the shell by running this command:
    # shell.set --enabled true
    
    
  8. Type shell and press Enter.
  9. Run this command to log in to the vCenter Server Appliance database:  
    # /opt/vmware/vpostgres/current/bin/psql -d VCDB -U postgres
    
    
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.0, run steps 14 to 17 instead.
 
  1. For vCenter 6.7 or earlier, run the following query:
    select id,dns_name,last_perf_time from vpx_host;
    
    
Example output:
id |      dns_name      |   last_perf_time
----+--------------------+---------------------
15 | esxi1.example.com | 2020-06-10 17:45:00
18 | esxi2.example.com | 2020-06-10 17:25:00
52 | esxi3.example.com | 2020-06-10 17:40:00

  1. Look for last_perf_time entries that are not close in time to the other entries:
    id |      dns_name      |   last_perf_time
    ----+--------------------+---------------------
    15 | esxi1.example.com | 2020-06-10 17:45:00
    18 | esxi2.example.com | 2020-04-15 13:05:00    <-------- Problem host
    52 | esxi3.example.com | 2020-06-10 17:40:00
    
    
  2.  Run the following query to update the time stamp:
    update vpx_host set last_perf_time=now() where id=’HOST_ID’;    
         
    
  3. In vCenter database confirm that host time has been updated ( After update)
         id |      dns_name      |   last_perf_time
        ----+--------------------+---------------------
         15 | esxi1.example.com | 2020-06-10 17:45:00
         18 | esxi2.example.com | 2020-06-10 17:55:00 
         52 | esxi3.example.com | 2020-06-10 17:28:00
    
    
  1. In vCenter Server 7.0, the last_perf_time column was moved to the table vpx_host_perfinfo. Therefore run this command to list the hosts with their last_perf_time information:
    select * from vpx_host_perfinfo;
    
    
  2. Look for last_perf_time entries that are not close in time to the other entries:
     host_id |       last_perf_time       | perf_refresh_rate
    ---------+----------------------------+-------------------
       18022 | 2022-04-21 07:52:00        |                20
       10029 | 2022-04-21 07:52:55        |                20
       10011 | 2022-04-21 02:32:55        |                20  <----
       10035 | 2022-04-21 07:52:55        |                20
    
    
  3. Run the following query to update the time stamp:
    update vpx_host_perfinfo set last_perf_time=now() where host_id='HOST_ID';
    
    
  4. Verify that the field has been updated:
    select * from vpx_host_perfinfo;
     host_id |       last_perf_time       | perf_refresh_rate
    ---------+----------------------------+-------------------
       18022 | 2022-04-21 07:52:00        |                20
       10029 | 2022-04-21 07:52:55        |                20
       10011 | 2022-04-21 07:54:00.123445 |                20  
       10035 | 2022-04-21 07:52:55        |                20
    
    
    

About 30-40 mins after running the steps above, the vCenter Server performance chart will start populating. Data collection of month, week will take more time.