Unable to see performance charts in vCenter Server
search cancel

Unable to see performance charts in vCenter Server

book

Article ID: 338856

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

Symptoms:
  • Performance charts fail to load in vCenter Server
  • Unable to see performance data in the vSphere Client when connected to vCenter Server
  • Viewing performance statistics from vCenter Server is not possible
  • The stats.log file contains entries similar to:

    [05 Aug 10, 11:42:01] [INFO] com.vmware.vim.stats.webui.util.VcDbConnectionInfo : VC DB connection initialized from WinRegistry with parameters: DbUrl = jdbc:sqlserver://vCenterSQLServer;instanceName=SQL_VIM;databaseName=VCDB; DbDriver = com.microsoft.sqlserver.jdbc.SQLServerDriver; DbUser = vcuser
    [05 Aug 10, 11:42:02] [ERROR] com.vmware.vim.stats.webui.startup.StatsApplicationLauncher : Task execution produced an error. Re-initialization attempt #1264 will startup after 60 seconds... java.util.concurrent.ExecutionException: java.lang.IllegalStateException: com.vmware.vim.stats.webui.StatsReportException: Unable to open VC DataSource.
    at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:205)
    at java.util.concurrent.FutureTask.get(FutureTask.java:80)
    at com.vmware.vim.stats.webui.startup.StatsApplicationLauncher$1.run(Unknown Source)
    at java.lang.Thread.run(Thread.java:595)
    Caused by: java.lang.IllegalStateException: com.vmware.vim.stats.webui.StatsReportException: Unable to open VC DataSource.
    at com.vmware.vim.stats.webui.startup.StatsApplicationLauncher$1$1.run(Unknown Source)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
    at java.util.concurrent.FutureTask.run(FutureTask.java:123)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:65)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:172)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:651)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:676)
    ... 1 more
    Caused by: com.vmware.vim.stats.webui.StatsReportException: Unable to open VC DataSource.
    at com.vmware.vim.stats.webui.startup.VcDataSourceInitializer.init(Unknown Source)
    at com.vmware.vim.stats.webui.startup.StatsReportInitializer.createInitializers(Unknown Source)
    at com.vmware.vim.stats.webui.startup.StatsReportInitializer.init(Unknown Source)
    ... 9 more
    Caused by: org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (The TCP/IP connection to the host has failed. java.net.ConnectException: Connection refused: connect)
    at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1225)
    at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
    at com.vmware.vim.stats.webui.startup.VcDataSourceInitializer.openVcDataSource(Unknown Source)
    ... 12 more
    Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host has failed. java.net.ConnectException: Connection refused: connect
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(Unknown Source)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.loginWithoutFailover(Unknown Source)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source)
    at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source)
    at org.apache.tomcat.dbcp.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
    at org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:294)
    at org.apache.tomcat.dbcp.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1247)
    at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1221)
    ... 14 more

     


Environment

VMware vCenter Server 4.1.x
VMware vCenter Server 4.0.x

Resolution

The messages recorded in the stats.log file indicate that the connection has been refused by the SQL server.
 
To determine why the connection was refused:
  1. Determine what port is being used on the SQL server, and ensure that this port is included in the connection string.

    Note: The ports can vary from site to site due to security reasons. The onsite DBA (Database Administrator) should have these details.
     
  2. If the database is running on an instance of your SQL server, Tomcat may encounter issues while trying to connect to the database through its jdbc connection. Creating an alias may resolve these issues. To create an alias if your SQL instance is on vCenterSQLServer\SQL_VIM:

    Note: This procedure modifies the Windows registry. Before making any registry modifications, ensure that you have a current and valid backup of the registry and the virtual machine. For more information on backing up and restoring the registry, see the Microsoft Knowledge Base article 136393.

    The preceding link was correct as of March 13th 2013. If you find the link is broken, provide feedback and a VMware employee will update the link.

     
    1. On vCenter Server, click Start > Run, type regedit, and click OK.
    2. Navigate to HKLM\Software\Microsoft\MSSQLServer\Client\ConnectTo .
    3. Create a new string value where the name is SQL_VIM and the value is DBMSSOCN,vCenterSQLServer\SQL_VIM.
    4. Go to the ODBC Data Sources by clicking Start > Programs > Administrative Tools > Data Sources (ODBC).
    5. Edit the DSN settings by changing the SQL server name from vCenterSQLServer\SQL_VIM to SQL_VIM.
       
  3. Ensure that the vCenter Server and your Database Server are able to resolve each other's DNS names. If DNS resolution is not working correctly in both directions, then connections may be refused.
     
    1. Look for messages or errors in the event logs of the SQL Server concerning DNS registration issues.
    2. Verify DNS configuration using the Windows NSlookup Utility.


Additional Information

The stats.log file can be found in these locations:
  • vCenter Server 4.0.x running on a 32-bit version of Windows:

    C:\Program Files\Vmware\Infrastructure\Tomcat\Logs\
     
  • vCenter Server 4.0.x running on a 64-bit version of Windows:

    C:\Program Files (x86)\Vmware\Infrastructure\Tomcat\Logs\
     
  • vCenter Server 4.1.x running on 64-bit version of Windows 2003:

    C:\Documents and Settings\All Users\Application Data\VMware\VirtualCenter Server\Logs\
     
  • vCenter Server 4.1.x running on 64-bit version of Windows 2008:

    C:\ProgramData\VMware\VirtualCenter Server\Logs\
For additional information relating to DNS, see these Microsoft articles:

Note: The preceding links were correct as of October 15, 2010. If you find the links are broken, please provide feedback and a VMware employee will update the links.