Migrating from Standard Edition to Custom Edition
You can migrate Standard Edition to Custom Edition. The data that you can migrate includes tenant unit configuration data. The tenant unit configuration data includes user settings, dashboards, events, alerts, application perspectives, EUM websites and mobile apps, and other data. Migration is manual and pre-backend installation, it requires a fresh Postgres setup.
The following items are migrated:
- Email and SMTP settings:
- SMTP server (host, port)
- Email sender address
- SSL/TLS settings
- SMTP credentials (if sensitive data included)
- Proxy Settings;
- Proxy server (host, port)
- Non-proxy hosts list
- Proxy credentials (if sensitive data included)
- Acceptor Configurations:
- Agent acceptor (host, port)
- EUM acceptor (host, port)
- Synthetics acceptor (host, port)
- Serverless acceptor (host, port)
- OpAmp acceptor (host, port)
- OTLP HTTP acceptor (host, port)
- OTLP GRPC acceptor (host, port)
- Feature Flags: The flags of features that are enabled or disabled features with their values
- Domain Configuration: Base domain and tenant or unit URL path setting
Prerequisites
Make sure that the following prerequisites are met:
- The Kubernetes cluster is installed and configured.
- The Instana kubectl plug-in is installed.
- The data stores are up and running.
Procedure
To migrate the data, complete the following steps:
-
On your Self-Hosted Standard Edition host, extract the tenant unit configuration data from the Postgres data store.
stanctl dump config-dataA
dump.tar.gzfile is created in the./dumpdirectory. This file contains the tenant unit configuration data in the form of executable SQL queries. -
Optional: Set the
--include-sensitiveflag to skip the following dialog....Do you want to include sensitive information?.Sensitive information includes SMTP password, proxy password, and download keys.
If the--include-sensitiveflag is not set, the following dialog is displayed.This operation may include sensitive information (for example, SMTP credentials, proxy credentials, and download key). Do you want to include sensitive information? Note: Excluding it will require you to reconfigure SMTP and proxy settings in the destination environment during installation. - Complete one of the following steps:
- To include sensitive information in the backup, enter "Yes".
- To exclude sensitive information from the backup, enter "No".
- Transfer the generated dump-<timestamp>.tar.gz file package from the old host to your new Custom Edition host.
- Install data stores, see Setting up data stores.
- Import data from Standard Edition.
kubectl-instana migrate -f <path-to-dump-file>Table 1. Migration parameters Parameter Description -f, --file Path to the migration memory dump archive --postgres-namespace Namespace (default: instana-postgres)--postgres-name Name of the Postgres cluster (default: postgres)--postgres-user Postgres username --postgres-password Postgres password - Extract the memory dump archive and use the following configuration for installing the backend:
tar -xzf dump-<timestamp>.tar.gz -o dump/migrate.yaml | cat - Note the parameters in the
migrate.yamlfile. You need to use these values to install the Instana backend.- Use the following parameters from the
migrate.yamlfile in Core Secret:- salesKey
- tokenSecret
- downloadKey
- emailConfig
emailConfig: smtpConfig: user: smtp-user@example.com password: smtp-password-123 - proxy
proxyConfig: user: proxy-user password: proxy-password-456
- Use the following parameters from the
migrate.yamlfile in Unit Secret:- downloadKey
- agent keys
- Use the following parameters from the
migrate.yamlfile for Creating a core as shown in the following example.apiVersion: instana.io/v1beta2 kind: Core metadata: namespace: instana-core name: instana-core spec: base-domain: instana.example.com imageConfig: tag: 3.xxx.xxx-0 emailConfig: smtpConfig: from: noreply@example.com host: smtp.example.com port: 587 useSSL: false startTLS: true check_server_identity: true proxyConfig: host: proxy.example.com port: 8080 nonProxyHosts: - localhost - 127.0.0.1 - "*.internal.example.com" acceptors: agent: host: <agent subdomain> port: <port> eum: host: <base domain> port: <port> synthetics: host: <base domain> port: <port> serverless: host: <base domain> port: <port> otlp: http: host: <otlp-http subdomain> port: <port> grpc: host: <otlp-grpc subdomain> port: <port> opamp: host: <opamp subdomain> port: <port> feature-flags: - name:feature.new-ui.enabled enabled:true - name:feature.advanced-analytics.enabled enabled:false use-tu-url-path: false # If this value is set to true, remove the "use-tu-url-path" attribute and instead add the following configuration in core.yaml # properties: # - name: config.url.format.pathStyle # value: true - Use the following parameters from the
migrate.yamlfile for Creating a Unit and Tenant.- tenantName
- unitName
- Use the following parameters from the
- Install the Instana backend, see Installing the Instana backend.
Post-migration configurations
If required, redo the following configurations that were on the old host.
-
New Custom Edition instance is not connected to any agent by default. Complete one of the following steps:
- Connect your agents to old and new backends, see Configuring multiple backends.
- Connect your agents to the new backend, update the existing DNS records to point to the new Custom Edition instance. The agents automatically start reporting to the new backend.