SystemReporter can't display most of the performance data on 5500V3

Publication Date:  2016-04-01 Views:  353 Downloads:  0
Issue Description

1. The customer installed SystemReporter on a Microsoft Windows 2008R2 English version with German package. Also the customer registered the 5500V3 storage to SystemReporter and Collect switch was on.


2. The version of 5500V3 storage and Systemreporter are both V300R003C00.


3. But most of the performance statistics graph displayed as "No date".


Only LUN PRIORITY statistics graph has data.


Alarm Information
None
Handling Process

1. Check and find that the performance Monitoring function is enabled on storage. Also the real-time performance statistics graph can displayed normally.


2. Check the configuration of SystemReporter is all okay as Issue description.

3. Try to restart SystemReporter, but not work.


4. Collect SystemReporter logs and temporary performance data files from the Windows server. The procedure: Go to the disk partition which installed SystemReporter and find the directory named as "Runtime". Then collect logs including: ./logs; ./TomcatXXX/logs; ./LegoRuntime/logs; ./LegoRuntime/TempPerf.

5. Check the temporary performance data files (in LegoRuntime/TempPerf) and find many of them was lost. Each of the file named as "save_XXXX-realtimedata.sql" represent a performance statistics item. As below, we can find there're just 5 kinds of items.

6. Since some of the performance statistics data can be analyzed correctly, we need to analyze ISM logs(in LegoRuntime/ISM).

We can find many error messages as below(search the critical words as "ERROR: extra data after").


So, we can confirm that the performance data was lost because SystemReporter can't analyze the performance data correctly. There's extra unexpected column in data files.

 

Root Cause

1. SystemReporter get the performance statistics data files from storage and import it into his own database. Since the database of storage and SystemReporter are different. So, SystemReporter need to analyze these performance data and write to temporary excel file(.CSV) in TempPerf directory, then import into (Guass)database in SystemReporter.

2. Usually, CSV files use comma(,) as separator. In the meanwhile, sometimes, performance statistics data like average IO size need to transfer from Byte to KB for the uniformdisplay. So, The original value need to be divided as 1000 and reserve 3 decimal points.  SystemReporter calls DecimalFormat of JDK to implement this transformation.

3. Unfortunately, DecimalFormat will configure the transfer format according to the language of operating system. And, In European language operating systems, the decimal point should save as comma(,) instead of dot(.). For example,value like 1.234 will be stored as 1,234. This may obviously impact SystemReporter import data from CSV files. For example, we expected as 10 colums but we get 11 or even more colums from CSV file. In this case, SystemReporter can't successfully import these data into database and display "No data" in portal.
 

Solution

1. Login the Windows server which install SystemReporter, then open Regedit in command line.


2. Open item "HKEY_LOCAL_MACHINE->SOFTWARE->Wow6432Node->Apache Software Foundation->Procrun 2.0->LEGOService->Parameters->Java->Options" as below. Then, add a new line of "-Duser.language=en".

3. Shutdown SystemReporter and start it again.



Suggestions

1. SystemReporter has many deployment restrictions, please refer to product document carefully.

2. We still  recommend to check storage performance statistics first when you encounter issue of SystemReporter like this case.

END