Environment
NetIQ AppManager Operations Portal
NetIQ Operations Center
NetIQ Operations Center
Situation
Under circumstances, dashboard's chart builder portlet can fail, and display window with following error message:
This TID shows how to start troubleshooting this problem efficiently, and how to collect useful information for NetIQ support.
"ERROR: Couldn't Load Appearance File: |
This TID shows how to start troubleshooting this problem efficiently, and how to collect useful information for NetIQ support.
Resolution
For troubleshooting of this specific error it is important to understand what is appearance file, and how NOC/dashboard components work together, and why this specific error may appear. Appearance file is kind of temporary file, which gets prepared on the dashboard side, then processed on the NOC side, by the Corda server, and then returned back to dashboard. Chart processing for dashboard's chart builder portlet works the following way (roughly):
From the description above it is clear that it would be useful to know what exactly happened in the Corda server, why it failed, and why Corda claims that the file could not be reached. To achieve this we have to
- open Corda server administration console
- activate logging and debug mode
- repeat the scenario which gets broken (=reload given chart builder)
- analyze the output we receive on Corda server
The Corda server administration console can be reached on the following link:
http://<YOUR_NOC_SERVER_IP>:3004/casapp/administrator
Notes:
- port 3004 is default port value, it can be that your Corda server has been installed with different value.
- for login use standard NOC admin password.
Once you are in Corda administration console, you go to:
- Debugging & Logging -> Debug Settings, and enable debug mode
- Debugging & Logging -> Logging Settings, and enable data logging
After submitting changes you have to restart the Corda server, and then duplicate the problem. Logging output can be directly seen in Corda Administration console, under Debugging & Logging -> View Console Output option. Alternatively, the console output is saved to the ..\NOC\image\tmp\CordaAgent.log file.
Once you have the log file from the Corda server, you can contact NetIQ support and ask them for closer analyzes and help, or you can try to figure out what is going wrong by yourselves. Below is one example of such broken output.
Problem description in this output shows that in total 3 temporary files could not be reached for some reason, and indicates either permission problem, or the fact that provided links do not point to really existing temporary files in given location. So you might want to check if given temporary file does exist, and if it is not empty. If it is not the case then you would need to check for permissions. In some cases permission problem might be solved directly from Corda Administration console by checking (and modifying if needed) entries under Security->Path/URL Permissions option.
If you are still unsure what the cause here might be, then you have to contact NetIQ support.
- dashboard server creates an internal temporary file (=appearance file), and stores it
locally in its directory structure
- dashboard server sends process requests to the Corda server, pointing to the temporary file,
using standard HTTP syntax for the file path
- Corda server tries to reach (read) this temporary file
- if the file exists and can be read, then Corda server processes it, and then it informs dashboard server that processing is done
- if the file exists and can be read, then Corda server processes it, and then it informs dashboard server that processing is done
- if the file cannot be reached, the processing fails, and Corda server returns back to the dashboard server an error message
- this error message is then interpreted in dashboard as "Unable to load appearance file"
- this error message is then interpreted in dashboard as "Unable to load appearance file"
From the description above it is clear that it would be useful to know what exactly happened in the Corda server, why it failed, and why Corda claims that the file could not be reached. To achieve this we have to
- open Corda server administration console
- activate logging and debug mode
- repeat the scenario which gets broken (=reload given chart builder)
- analyze the output we receive on Corda server
The Corda server administration console can be reached on the following link:
http://<YOUR_NOC_SERVER_IP>:3004/casapp/administrator
Notes:
- port 3004 is default port value, it can be that your Corda server has been installed with different value.
- for login use standard NOC admin password.
Once you are in Corda administration console, you go to:
- Debugging & Logging -> Debug Settings, and enable debug mode
- Debugging & Logging -> Logging Settings, and enable data logging
After submitting changes you have to restart the Corda server, and then duplicate the problem. Logging output can be directly seen in Corda Administration console, under Debugging & Logging -> View Console Output option. Alternatively, the console output is saved to the ..\NOC\image\tmp\CordaAgent.log file.
Once you have the log file from the Corda server, you can contact NetIQ support and ask them for closer analyzes and help, or you can try to figure out what is going wrong by yourselves. Below is one example of such broken output.
CS>KeyStorage.getKeyElementFromKey:
QG_7Tqh_7oAs CS>Generating FLASH file CS>WIDTH:540 CS>HEIGHT:330 CS>Empty or null Appearance File: http://192.168.115.166:80/ManagedObjectsPortlets/managedobjects/generated/chartBuilder/templates/gen/generated_mo_chartBuilder_WAR_ManagedObjectsPortlets_INSTANCE_vl8B_.pcxml CS_ERR>[2014-04-02 09:00:13.487] Exception in getImage - Attempt to load appearance file from an unauthorized path or url, appearance file does not exist, or appearance file is empty CS>KeyStorage.getKeyElementFromKey: UK_7Tqf_3dy3 CS>Generating FLASH file CS>WIDTH:540 CS>HEIGHT:330 CS>KeyStorage.getKeyElementFromKey: EC_7Tqg_pFKC CS>Generating FLASH file CS>WIDTH:540 CS>HEIGHT:330 CS>Empty or null Appearance File: http://192.168.115.166:80/ManagedObjectsPortlets/managedobjects/generated/chartBuilder/templates/gen/generated_mo_chartBuilder_WAR_ManagedObjectsPortlets_INSTANCE_PKw0_.pcxml CS_ERR>[2014-04-02 09:00:13.572] Exception in getImage - Attempt to load appearance file from an unauthorized path or url, appearance file does not exist, or appearance file is empty CS>Empty or null Appearance File: hhttp://192.168.115.166:80/ManagedObjectsPortlets/managedobjects/generated/chartBuilder/templates/gen/generated_mo_chartBuilder_WAR_ManagedObjectsPortlets_INSTANCE_ilT8_.pcxml CS_ERR>[2014-04-02 09:00:13.577] Exception in getImage - Attempt to load appearance file from an unauthorized path or url, appearance file does not exist, or appearance file is empty |
Problem description in this output shows that in total 3 temporary files could not be reached for some reason, and indicates either permission problem, or the fact that provided links do not point to really existing temporary files in given location. So you might want to check if given temporary file does exist, and if it is not empty. If it is not the case then you would need to check for permissions. In some cases permission problem might be solved directly from Corda Administration console by checking (and modifying if needed) entries under Security->Path/URL Permissions option.
If you are still unsure what the cause here might be, then you have to contact NetIQ support.