XpoLog contains a mechanism that replicates configuration between sites in order to keep them synchronized.
The Geo-redundancy mechanism is designed to create a replication of selected XpoLog's configuration between a primary geographical location and a secondary geographical location that XpoLog instance/cluster runs on. In the event of a complete regional outage or disaster in your primary location, if users are redirected to the secondary site, the entire set of configuration will be available identically to the primary site.
XpoLog does not replicate raw data/index between sites or copies over the configuration files. Organizations that wish to activate and use the Geo-redundancy should plan to copy raw data to be processed on both sites, and the zipped configuration files created by the Geo-redundancy mechanism on each site to their designated locations on the other site.
Geo-redundancy Configuration
On each XpoLog instance/cluster there are 2 files in which determine the synchronization schedule and contents:
- /.../XPOLOG_CONF/conf/general/configMerge.xml
This file determine the contents of configuration that will be included in the sync process between sites.- InputsInfo
- filesToKeep - determines how many files XpoLog should keep in its 'Inbox' directory.
- Includes - the list of local configruation directories that will be included in the zipped configuration files that is created. By default, all user oriented configuration (avaialble in the GUI) are included:
- /.../XPOLOG_CONF/conf/general/addressbook.xml - connectivity accounts from the address book.
- /.../XPOLOG_CONF/conf/logsconf/* and /.../XPOLOG_CONF/conf/modules/* - Folders and Logs.
- /.../XPOLOG_CONF/conf/metadata/* - appTags.
- /.../XPOLOG_CONF/conf/verifiers/* - monitors.
- /.../XPOLOG_CONF/conf/usersenv/* - saved searches and user's specifics.
- /.../XPOLOG_CONF/conf/ui/apps/deploy/* - all applications (including their dashboards and gadgets).
- /.../XPOLOG_CONF/conf/ext/templates/user/* - logs templates.
- /.../XPOLOG_CONF/collection/conf/system/system.xml - collection policies.
- /.../XPOLOG_CONF/conf/general/addressbook.xml - connectivity accounts from the address book.
- Excludes - specify directories to exclude from the above list.
- BinaryIncludes - handle binary configuration data. Currently relevant only to user's specifics and user's defined templates.
- OutputInf
- filesToKeep - determines how many files XpoLog should keep in its 'Outbox' directory.
- filesToKeep - determines how many files XpoLog should keep in its 'Outbox' directory.
- InputsInfo
- /.../XPOLOG_CONF/conf/general/configMerge.user.xml
This file determine the schedule and 'Inbox'/'Outbox' directories location.- ScheduleOp - the scheudler settings which determines the frequency of executing synchronization. The only change should be the cron expression.
Note: commenting the ScheduleOp object pauses the synchronization process (node(s) restart is required). - InputInfo
- path - the absolute path to the site's 'Inbox' directory.
- OutputInfo
- path - the absolute path to the site's 'Outbox' directory
- path - the absolute path to the site's 'Outbox' directory
- ScheduleOp - the scheudler settings which determines the frequency of executing synchronization. The only change should be the cron expression.
Geo-redundancy Activation
Activation of Geo-redundancy is divided between 2 steps. There is a need to run an initial replication so both sites will be synchronized, afterwards the on going synchronization process takes place.
It is mandatory to go through a baseline process and validate it prior to activating the on going sync to avoid configuration duplication.
- Geo-redundancy baseline creation
- Prerequisite:
- Primary site contains configuration and Secondary site is empty from all configuration.
- Disable Geo-redundancy on both sites.
- Stop XpoLog instance/cluster on both sites.
- Manually copy the directories /files that are part of the sync from the Primary site to the Secondary site (override existing):
- /.../XPOLOG_CONF/conf/general/addressbook.xml
- /.../XPOLOG_CONF/conf/logsconf/* and /.../XPOLOG_CONF/conf/modules/*
- /.../XPOLOG_CONF/conf/metadata/*
- /.../XPOLOG_CONF/conf/verifiers/*
- /.../XPOLOG_CONF/conf/usersenv/*
- /.../XPOLOG_CONF/conf/ui/apps/deploy/*
- /.../XPOLOG_CONF/conf/ext/templates/user/*
- /.../XPOLOG_CONF/collection/conf/system/system.xml
- StartXpoLog instance/cluster on both site and validate that all the configuration is available and identical.
- Prerequisite:
- On going synchronization
- Prerequisite:
- Baseline procedure complete and validated.
- Ensure the files /.../XPOLOG_CONF/conf/general/configMerge.xml and /.../XPOLOG_CONF/conf/general/configMerge.user.xml are properly configured on each site with the correct local path of each site to its 'Inbox' and 'Outbox' directories, scheduler, sync contents, etc.
- Ensure on each site that its 'Inbox' and 'Outbox' directories are available and empty.
- Enable Geo-redundancy on both sites.
- Ensure there's a process in place that copies:
- Raw data from Primary site to Secondary site to the required location.
- Each site's contents of 'Outbox' to the other site's 'Inbox' and vice versa (keeping files last modified time).
- Prerequisite:
Important: Once the procedure is completed and active, all changes that will be made on any of the sites will be synced to other site. Therefore, configuration changes of the same object in XpoLog should take place on one site only and the Geo-redundancy mechanism will sync and merge them in the other site.