After I removed a landscape from a distributed SpectroSERVER environment, I constantly receive numerous errors, referencing the non existent landscapes, in the tomcat log, on my Spectrum Report Manager (SRM) server. e.g.
Mar 22, 2016 07:40:37.239 (SRM/Startup/Container) (ReportManager) - (WARN) - Domain xxx cannot be found and will not be reported on
Mar 22, 2016 07:40:37.239 (SRM/Startup/Container) (ReportManager) - (WARN) - Domain yyy cannot be found and will not be reported on
Why do I still get errors in my SRM tomcat log for a landscape that has been removed?
Component: Spectrum Report Manager
Even though the landscape has been removed from the landscape map, the reporting database still has information in it for that landscape.
NOTE: Starting from DX NetOps Spectrum 21.2.4, the default root password for MySql is "MySqlR00t". For DX NetOps Spectrum versions prior to 21.2.4, the default root password is "root". In the following MySql commands, replace <PASSWD> with the root password for your DX NetOps Spectrum version.
If the information in the reporting database is still needed, these errors can be ignored.
If the information in the reporting database is not needed, use the following steps to remove the landscape from the reporting database.
The first step is to use the RpmgrInitializeLandscape script to remove all data for the landscape from the reporting database. Please reference the "Initialize the Database for Specific Landscapes" section of the documentation for details on running the RpmgrInitializeLandscape script.
The next step is to remove the landscape from the landscape table in the reporting database.
1. Log into the SRM system as the user that owns the Spectrum installation
2. If on Windows, start a bash shell by running "bash -login"
3. cd to the $SPECROOT/mysq/bin directory and enter the following command to log into mysql:
./mysql --defaults-file=../my-spectrum.cnf -uroot -p<PASSWD> reporting
4. Enter the following command command at the mysql prompt to view the entries in the landscape table:
select * from landscape \G;
5. The output will look similar to the following:
mysql> select * from landscape \G;
*************************** 1. row ***************************
avail_sync_time: 2019-05-15 05:46:48
alarm_sync_time: 2019-05-15 09:20:25
event_sync_time: 2019-05-15 09:27:48
accountable_sync_time: 2019-05-15 09:06:27
1 row in set (0.00 sec)
6. In the output from the "select * from landscape \G:" command entered in step 4, find the landscape name (domain_name). Above the domain_name parameter note the value of the landscape_h parameter.
7. At the mysql prompt, enter the delete command to remove the landscape_h from the landscape table. For example, using the output above, the landscape_h is 16777216 so the command would be as follows:
delete from landscape where landscape_h=16777216 \G;
8. At the mysql prompt, rerun the "select * from landscape \G:" command entered in step 4 to verify the landscape has been removed.
9. Enter "quit" at the command line to exit mysql