Using Ompare to compare CPF configuration and Scheduled Tasks between IRIS instances
Some Usage cases
1. A deployment may consist of two high availability instances and two disaster recovery instances in a different data center.
The corresponding UAT environment could replicate this giving a total of 8 instances. How do you confirm CPF and Scheduled task alignment across ALL instances.
2. Another team (possibly in anther organization) makes changes to an IRIS instance to correct a problem, improve security, or modify shared system task configuration. Capture the CPF before and after to see what was done across instances. Was the modification also consistently applied to Backup or DR node?
3. An upgrade was applied. Did this modify or introduce new defaults to CPF or Task configuration
USER>ZPM ZPM>install alwo-ompare ZPM>quit USER>
Example - Profile, Change something, Profile again, See Report
Step 1 - Profile the system with manual schedule
Demonstrates the process can be scripted for automation
DiscardProfileData=0 means for the example we retain the local generated data for reporting.
Normally it would be exported to file and then re-imported to a central reporting instance.
set tBASE=##class(ompare.Schedule).%New() set tBASE.Environment="LIVE_DC1_N1" set tBASE.Namespaces="%SYS" set tBASE.RunSourceHandlers=1 set tBASE.ExportToFile=0 set tBASE.ExportDirectory="C:\tmp\Export\" set tBASE.ExportCompression=0 set tBASE.RetainExportDays=100 set tBASE.IncludeSourceCode=1 set tBASE.EnableLogging=0 set tBASE.RetainSigSrcHistoricVersions=-1 set tBASE.Debug=0 set tBASE.DiscardProfileData=0 set tSC1=tBASE.OnTask()
Step 2 - Change some things
For SQL modifying some settings
Step 3 -Scheduled Tasks - Created new on demand Task
Demonstrates automated profiling.
- Pick a filepath useful for your system.
- The Environment name is different from earlier to give an example of comparing systems.
Make a change to an existing task of choice to explore reporting.
Step 4 - Run the new Schedule
Create Report View for CPF and Scheduled Tasks
Step 1 - Launch Main page
Step 2 - Create CPF Report
After saving. Some new report configurations appear.
Scroll to the bottom of the page and enable viewing of CPF collected information.
Exclude: "*" means exclude everything
Include: "Config.*" means but then include back in any SQL profiled data from Table or alias prefixed with "Config."
Step 3 - Create a Scheduled Task report
View the HTML Report version
Step 1- View CPF Report Summary
Note: Though there are only 2 "instances" included for this example, the reporting can happily show 10 or 15 instances for side-by-side comparison.
Step 2 - Drilldown detail
Click on the "differences" link for Config.SQL
Expand the browser window to full-screen.
By default only the columns that are different are displayed.
Step 3 - Show Columns with same content
Click on the "Show same Cols" checkbox to display all columns.
When one panel scrolls it synchronizes the other panel to scoll the same amount.
Step 4 - View the Task Report
View newly created "Task Report" summary from earlier
Step 5 - Drilldown detail
There is a placeholder row to indicate a gap where a task was missing in the first profile.
Step 6 - Show Rows with same content
Enable "Show same Rows"
Make a portable Excel Report to share findings
Step 1 - Create a new Excel Report configuration
Step 2 - Download the Excel report
Step 3 - Open the Excel Report
The cover page includes details of the report and where and when it was generated.
Each subsequent tab represents an included report summary.
Generated cell heights have been pre-expanded for easy viewing of information.
The information for Classes and Routines provides more detail (Properties, Methods etc.)
The SQL Table is a generic mechanism for reporting any differences in SQL viewable data across instances.
Possibly an enhancement can be made either generically or as an "Opt-In" at report level to give break down of difference count against "Column" name.
Hope this gave a useful taster into the abilities of ompare, and stimulated some ideas on how it might be useful for your deployment and support of products leveraging IRIS.
For more information please head over to the Open Exchange at https://openexchange.intersystems.com/package/ompare