Installing Self-Hosted Standard Edition for IBM Concert platform

Install and configure Standard Edition as a capability in the Concert platform.

Important: Installation in air-gapped environments is not supported.

First, purchase the Concert platform and the Concert Observe capability. For more information, see, IBM Concert platform.

Then, install Instana by completing the steps in the following sections. The installation steps include instructions for installing Standard Edition and integrating it with the platform hub.

The installation process uses the stanctl tool to deploy Instana.

Prerequisites

Before you begin, make sure that you complete the following prerequisites:

  • Provision nodes (three or five nodes recommended) with external disks. See the following topics for the system requirements:
  • You need to add an extra 2 CPU cores and 10 GB memory for the feature flags that you must enable for using Instana as a capability with the Concert platform. In multi-node clusters, add these extra resources on nodes that are not used for data stores. You can add them either on a single node or across multiple nodes.
  • Keep the Instana installation parameters ready. For more information, see Table 1 and Table 2 in the Before you begin section.
  • Create a valid email address for the initial Instana administrator user.
  • Install and configure the Concert platform hub.
    Note: The platform hub and Instana must be installed on separate clusters.
    Verify that you completed the following tasks:
    • Installed the platform hub and can access the hub URL.
    • Added users in the hub.
    • Registered the Instana instance in the format <UNIT_NAME>_<TENANT_NAME>.<BASE_DOMAIN_FOR_ENVIRONMENT>
  • If you installed IBM Concert, make a note of the IBM Concert hostname.
  • If you installed IBM Turbonomic, make a note of the IBM Turbonomic hostname.

Installation

To install Standard Edition for IBM Concert platform, complete the following tasks:

  1. Install version 1.14.1 or later of the stanctl tool.
  2. Create the directories and files for the core and unit custom values.
    mkdir -p $HOME/.stanctl/values/instana-core $HOME/.stanctl/values/instana-unit
    touch $HOME/.stanctl/values/instana-core/custom-values.yaml $HOME/.stanctl/values/instana-unit/custom-values.yaml
  3. Configure the core $HOME/.stanctl/values/instana-core/custom-values.yaml file with content similar to the following example:

    • Replace <HUB_URL> and <HUB_PORT> with the publicly accessible URL and port for your Concert hub environment. Instana uses this URL to connect to the hub.
    • Verify that the concert/imageConfig/tag value is synchronized with the hub build version that you use.
    • Replace <CONCERT_access_hostname> and <TURBO_access_hostname> with your actual Concert and Turbonomic access hostnames in the config.saas.platform.all.origins property. If you do not have this information now, you can add it anytime after you complete the installation. Make sure to run the stanctl backend apply command after you add the details.
    • The default values of unit0-tenant0 are used in the config.solis.hub.environments property. If you plan to specify some other unit and tenant names at deployment time, replace the default values with your unit and tenant names.
    gatewayConfig:
      concert:
        imageConfig:
          registry: artifact-public.instana.io
          repository: self-hosted-images/k8s/ibm-solis-gw
          tag: v3.0.0
        properties:
          - name: solis.hub.external.url
            value: "https://<HUB_URL>:<HUB_PORT>"
    featureFlags:
      - name: feature.beeinstana.infra.metrics.enabled
        enabled: true
      - name: feature.solis.enabled
        enabled: true
      - name: feature.vulnerabilityCenter.enabled
        enabled: true
      - name: feature.resource.optimization.actions.enabled
        enabled: true
      - name: feature.ibm.common.enabled
        enabled: true
      - name: feature.solis.test.catalog.enabled
        enabled: true
      - name: feature.tealium.privacy.enabled
        enabled: true
      - name: feature.walkme.tool.enabled
        enabled: true
      - name: feature.segment.analytics.enabled
        enabled: true
      - name: feature.solis.jwt.enabled
        enabled: true
      - name: feature.remote.integrations.enabled
        enabled: true
      - name: feature.instana.prefix.enabled
        enabled: true
      - name: feature.coordinator.ai.agent.enabled
        enabled: true
      - name: feature.coordinator.ai.agent.component.enabled
        enabled: true
      - name: feature.automated.investigation.ai.agent.enabled
        enabled: true
      - name: feature.automated.investigation.ai.agent.component.enabled
        enabled: true
      - name: feature.kubernetes.ai.agent.enabled
        enabled: true
      - name: feature.kubernetes.ai.agent.component.enabled
        enabled: true
      - name: feature.slo.ai.agent.enabled
        enabled: true
      - name: feature.slo.ai.agent.component.enabled
        enabled: true
      - name: feature.mcp.instana.component.enabled
        enabled: true
      - name: feature.incident.ai.summarization.enabled
        enabled: true
      - name: feature.instana.chat.enabled
        enabled: true
      - name: feature.ai.gateway.enabled
        enabled: true
      - name: feature.ai.rca.agentic.workflow.enabled
        enabled: true
      - name: feature.mcp.instana.enabled
        enabled: true
      - name: feature.action.ai.generation.enabled
        enabled: true
      - name: feature.graphql.endpoint.enabled
        enabled: true
      - name: feature.ai.automated.investigation.enabled
        enabled: true
      - name: feature.rca.agentic.enabled
        enabled: true
      - name: feature.rca.ai.automated.investigation.enabled
        enabled: true
    properties:
      - name: config.tag.processor.readiness.min.storage.hit.rate
        value: "0.5"
      - name: config.saas.platform.iam.enabled
        value: "true"
      - name: config.saas.platform.all.origins
        value: "<CONCERT_access_hostname>,<TURBO_access_hostname>"
      - name: config.platform.hub.path
        value: "platform_hub"
      - name: config.solis.jwt.audience
        value: "PLATFORMAUD"
      - name: config.solis.jwt.issuer
        value: "IBMPLATFORM"
      - name: config.solis.hub.url
        value: "https://concert-gateway.instana-core.svc.cluster.local:20443"
      - name: config.solisUiHost
        value: "/solis_hub/ui"
      - name: config.solis.jwt.verifyInstanceUrl
        value: "false"
      - name: config.solis.hub.environments
        value: "unit0-tenant0"
      - name: config.solis.jwt.verifySubject
        value: "false"
  4. Configure the unit $HOME/.stanctl/values/instana-unit/custom-values.yaml file with content similar to the following example.

    Replace <VALID_EMAIL_ADDRESS> with a valid email address of the initial administrator user.

    initialAdminUser: <VALID_EMAIL_ADDRESS>
    properties:
      - name: config.ui.backend.server.max.request.header.size
        value: "32KiB"
      - name: config.ui.backend.server.max.response.header.size
        value: "32KiB"
      - name: config.ui.backend.websocket.max.header.size
        value: "32768"
  5. Deploy Instana and integrate with the Concert platform by running the following stanctl up command. The command deploys your Kubernetes cluster and connects it with the Concert platform.

    • Replace <INSTANA_SALES_KEY> with your Instana sales key.
    • Replace <BASE_DOMAIN_FOR_ENVIRONMENT> with the hostname of your VM, or with the DNS entry for the Concert platform load balancer CNAME or IP address.
    • Replace <INSTANA_PASSWORD> with the password for the Instana administrator user that you specified in the Unit custom values file.
    • For multi-node clusters, add the node IP addresses by using the --multi-node-ips parameter. In the following command, the parameter takes three IP addresses. If you have a five-node cluster, add two more IP addresses.
    • For single-node clusters, you don't need the --multi-node-enable and --multi-node-ips parameters.
    • All acceptor services (agent, OTLP, EUM, serverless, and synthetics) use port 8443. You can configure subdomains as needed, but the port cannot be 443.
    stanctl up --concert-platform-enabled \
      --instana-version=3.319.465-0 \
      --download-key=<INSTANA_DOWNLOAD_KEY> \          
      --sales-key=<INSTANA_SALES_KEY> \
      --multi-node-enable \
      --multi-node-ips <node0 IP>,<node1 IP>,<node2 IP> \ 
      --install-type production \          
      --core-base-domain=<BASE_DOMAIN_FOR_ENVIRONMENT> \
      --core-acceptors-agent-host=agent-acceptor.<BASE_DOMAIN_FOR_ENVIRONMENT> \
      --core-acceptors-agent-port=8443 \
      --core-acceptors-opamp-host=opamp-acceptor.<BASE_DOMAIN_FOR_ENVIRONMENT> \
      --core-acceptors-opamp-port=8443 \
      --core-acceptors-otlp-grpc-host=otlp-grpc.<BASE_DOMAIN_FOR_ENVIRONMENT> \
      --core-acceptors-otlp-grpc-port=8443 \
      --core-acceptors-otlp-http-host=otlp-http.<BASE_DOMAIN_FOR_ENVIRONMENT> \
      --core-acceptors-otlp-http-port=8443 \
      --core-acceptors-eum-port=8443 \
      --core-acceptors-serverless-port=8443 \
      --core-acceptors-synthetics-port=8443 \
      --unit-initial-admin-password=<INSTANA_PASSWORD>

    The deployment includes the following components:

    • Instana Core with Concert platform integration
    • Instana Unit with platform authentication
    • Acceptor services for agent, OTLP, EUM, serverless, and synthetics on port 8443

Verification

To verify the installation, access the Instana user interface at https://<UNIT>-<TENANT>.<BASE_DOMAIN_FOR_ENVIRONMENT>.

Enter the Instana credentials that you specified in the Unit custom values file. You are redirected to the platform login page, where you enter the credentials of the user that you configured in the hub.