Pre-Failover Checklist
Update the RECOVERY Kafka Connector
Start RECOVERY Engines
Post-Recovery Review
Overview
This runbook provides a generic framework for failing over GermainUX from a Production environment (PROD) to a Recovery environment (RECOVERY). It must be adapted and tested for each deployment. Service names, paths, versions, dependencies, authentication methods, and startup procedures vary by environment.Pre-Failover Checklist
Record the following information before initiating recovery:1. Stop GermainUX Engines in PROD
Stop all GermainUX Engines gracefully to prevent them from continuing to send data or execute automation during the cutover. For each PROD Engine server:- Identify the Engine and Engine Manager processes.
- Use the approved service manager or GermainUX shutdown procedure.
- Confirm that all processes have stopped.
- Record the shutdown result in the incident or change record.
systemd, use the applicable service unit:
2. Stop Germain Enterprise Services in PROD
Stop the Germain Enterprise services using the approved service-management mechanism. Services may include:- Ingestion Service
- Session Tracking Service
- Analytics Service
- Aggregation Service
- Action Service
- Storage Service
- REST or application-container services
systemd:
3. Confirm Data and Infrastructure Readiness
Before starting GermainUX in RECOVERY, validate the readiness of every required dependency.4. Update the RECOVERY Kafka Connector
Update the GermainUX configuration used by the RECOVERY environment so it references the RECOVERY Kafka service. Open:Select the Kafka connector used by RECOVERY
Replace the PROD broker URL with the RECOVERY broker URL
Verify authentication, TLS, certificates, ports, and topic settings
Save the configuration
Test connectivity before starting data-producing services
5. Start Infrastructure in RECOVERY
Start and validate infrastructure dependencies in the order required by your architecture. A typical dependency sequence is:ZooKeeper, if required
Kafka
Database or Elasticsearch
Hazelcast
Application container
Start the service
Confirm that its process is running
Review its health endpoint or cluster status
Check its logs for startup errors
Confirm connectivity from the GermainUX RECOVERY nodes
Continue only after the dependency is healthy
6. Start Germain Enterprise Services in RECOVERY
Start Germain Enterprise services according to the dependency order validated for your installed version. A typical sequence is:Storage Service
Session Tracking Service
Analytics Service
Aggregation Service
Action Service
Ingestion Service
REST or other application services
systemd, execute the scripts defined in the RECOVERY operations documentation.
After starting each service:
- Confirm that the process remains running.
- Review its logs.
- Verify connectivity to Kafka, Hazelcast, and the datastore.
- Confirm that no repeated retries or authentication failures occur.
- Confirm that the service appears healthy in GermainUX Workspace > Germain > State.
7. Prepare RECOVERY Engines
Before starting the RECOVERY Engines:Confirm that each Engine points to the RECOVERY environment
Verify its credentials, certificates, ports, and queue configuration
Confirm that its node identity is unique
Update any environment-specific hostname or node references from PROD to RECOVERY
Review component schedules to prevent duplicate executions
Confirm that PROD Engines remain stopped
Session-State File
If your GermainUX version and deployment procedure require resettingsession.txt:
Confirm the exact file path
Stop the Engine
Create a recoverable backup of the file
Remove or rename only the validated file
Record the operation
Update Node Identity
In GermainUX Workspace > Germain > State, update the applicable node or hostname references from the PROD naming convention to the RECOVERY naming convention. Example:8. Start RECOVERY Engines
Start each Engine using the approved service manager or startup procedure. Example:Confirm that the process remains running
Verify registration in the GermainUX State dashboard
Confirm that deployed components start successfully
Review Engine and component logs
Confirm that data is reaching the RECOVERY Kafka and GermainUX services
Verify that scheduled actions are not duplicated
9. Validate the RECOVERY Environment
Perform technical and functional validation before declaring recovery complete.Platform Validation
- All required Germain Enterprise services are healthy.
- Nodes, Engines, agents, and components are connected.
- Kafka queues are processing without a continuously growing backlog.
- Hazelcast members form the expected cluster.
- The datastore is healthy and writable.
- REST endpoints respond successfully.
- No critical startup or connectivity errors appear in logs.
Data Validation
- New monitoring data is ingested.
- Aggregated data is generated.
- User sessions are tracked.
- Dashboards display current data.
- Historical data required by the recovery plan is available.
- Data timestamps, environments, and hostnames are correct.
Analytics and Automation Validation
- SLAs are evaluated.
- Alerts and reports can be generated.
- Scheduled actions execute only once.
- Synthetic scenarios run successfully.
- Automation targets the RECOVERY environment.
- No action can unintentionally affect PROD.
User Validation
- Authorized users can log in.
- Roles, teams, and permissions operate correctly.
- Dashboards and Session Replay are accessible as expected.
- A representative monitoring workflow completes successfully.
10. Complete the Cutover
After validation:- Update DNS, load balancers, integrations, or monitoring endpoints according to the approved cutover plan.
- Notify stakeholders that RECOVERY is active.
- Record the recovery time and any observed data loss.
- Preserve relevant logs and evidence.
- Continue heightened monitoring for the defined stabilization period.
- Keep PROD services stopped until the recovery owner authorizes another change.
Rollback Plan
Define rollback criteria before beginning the failover. A rollback may be required if:- Critical GermainUX services cannot start.
- Data replication is incomplete or inconsistent.
- Automation could target the wrong environment.
- Required monitoring data cannot be ingested or stored.
- Security, authentication, or access controls fail validation.
- Recovery cannot be completed within the approved RTO.
Post-Recovery Review
After stabilization:- Document the incident timeline.
- Record actual RTO and RPO performance.
- Identify failed or manual steps.
- Update service names, dependencies, paths, and owners.
- Review monitoring and alert coverage.
- Confirm that backups and replication have resumed.
- Schedule the next disaster-recovery test.
- Obtain technical and business sign-off.
Get Help
Contact GermainUX Support
Can't find what you need?
The content of this document is proprietary to GERMAIN SOFTWARE.

