Enabling optional features

Some features are not enabled in a self-hosted backend by default. You can enable such features by using additional configuration options.

Notes:

  • You can enable the documented features yourself as described here. IBM support might advise you to enable other Beta features in the same way.

  • To enable one or more features, add the featureFlags: block with your choice of feature flags in the core.yaml file. Each of the following sections shows an example of setting the feature flag for the one feature. The following example enables two features:

    apiVersion: instana.io/v1beta2
    kind: Core
    metadata:
      name: instana-core
      namespace: core
    spec:
    ...
    featureFlags:
      - name: feature.pcf.enabled
        enabled: true
         
      - name: feature.zhmc.enabled
        enabled: true  
    ...
    

After updating the core configuration, apply your settings to the cluster.

Additional platform dashboards

The following infrastructure platform dashboards are not available in the product by default. To add a dashboard to the Platforms menu item, set its feature flag in the Core spec.

VMware Tanzu (formerly Pivotal Cloud Foundry)

To enable the VMware Tanzu (formerly know as Pivotal Cloud Foundry (PCF)) platform dashboard, set the feature.pcf.enabled feature flag in the core.yaml file; for example:

apiVersion: instana.io/v1beta2
kind: Core
metadata:
  name: instana-core
  namespace: core
spec:
...
featureFlags:
  - name: feature.pcf.enabled
    enabled: true
...

For more information about this feature, see Monitoring Cloud Foundry and VMware Tanzu (formerly know as Pivotal Cloud Foundry).

VMware vSphere

To enable the VMware vSphere platform dashboard, set as follows in the core.yaml file:

apiVersion: instana.io/v1beta2
kind: Core
metadata:
  name: instana-core
  namespace: core
spec:
...
featureFlags:
  - name: feature.vsphere.enabled
    enabled: true
...

For more information about this feature, see Monitoring vSphere.

OpenStack

To enable the OpenStack platform dashboard, set as follows in the core.yaml file:

apiVersion: instana.io/v1beta2
kind: Core
metadata:
  name: instana-core
  namespace: core
spec:
...
featureFlags:
  - name: feature.openstack.enabled
    enabled: true
...

For more information about this feature, see Monitoring OpenStack.

IBM Power HMC

To enable the IBM Power HMC platform dashboard, set as follows in the core.yaml file:

apiVersion: instana.io/v1beta2
kind: Core
metadata:
  name: instana-core
  namespace: core
spec:
...
featureFlags:
  - name: feature.phmc.enabled
    enabled: true
...

For more information about this feature, see Monitoring IBM Power HMC.

IBM Power VC

To enable the IBM Power VC platform dashboard, set as follows in the core.yaml file:

apiVersion: instana.io/v1beta2
kind: Core
metadata:
  name: instana-core
  namespace: core
spec:
...
featureFlags:
  - name: feature.powervc.enabled
    enabled: true
...

For more information about this feature, see Monitoring IBM Power VC.

IBM IBM Z HMC

To enable the IBM IBM Z HMC platform dashboard, set as follows in the core.yaml file:

apiVersion: instana.io/v1beta2
kind: Core
metadata:
  name: instana-core
  namespace: core
spec:
...
featureFlags:
  - name: feature.zhmcEnabled.enabled
    enabled: true
...

For more information about this feature, see Monitoring IBM Z HMC.

Logging

Logging is added to the operator setup. It is available as open beta and must be explicitly enabled by using a feature flag in the Core spec.

Note: Logging uses a new Clickhouse schema (logs). You are highly recommended to use a separate Clickhouse cluster/host.

Using instana-console datastore host

If instana-console is used as the database backend, a dual-host installation is recommended, with a second Clickhouse instance running on another host. For this purpose, the second host needs to be set up with a settings.hcl file as follows:

type      = "dual-clickhouse"
host_name = "<IP-accessible-from-the-k8s-cluster>"

dir {
  metrics    = "" // data dir for metrics
  traces     = "/mnt/traces" // data dir for log data
  data       = "/mnt/data" // data dir for any other data
  logs       = "/var/log/instana" // log dir
}

docker_repository {
  base_url = "artifact-public.instana.io"
  username = "_"
  password = "<Your-agent-key>"
}

Using Clickhouse operator cluster

In this senario set up another Clickhouse cluster according to the [operator instructions] (../datastores/3rd_party_operators.md#installing-data-store-operators/creating-clickhouse-cluster-with-a-dedicated-zookeeper-cluster).

Operator Core spec

On the operator side, the Core spec needs two Clickhouse entries and the feature flag.

apiVersion: instana.io/v1beta2
kind: Core
metadata:
  name: instana-core
  namespace: core
spec:
...
clickhouseConfigs:
  - clusterName: local
    hosts:
      - <application_ch_cluster>
    schemas:
      - application
  - clusterName: local
    hosts:
      - <logs_ch_cluster>
    schemas:
      - logs
  ...
featureFlags:
  - name: feature.logging.enabled
    enabled: true
...

Furthermore, the respective cluster credentials must be included in the core config secret as follows.

...
datastoreConfigs:
  ...
  clickhouseConfigs:
    - user: clickhouse-application-user
      password: <USER_GENERATED_PASSWORD>
      adminUser: clickhouse-application-user
      adminPassword: <USER_GENERATED_PASSWORD>
      schemas:
        - application
    - user: clickhouse-logs-user
      password: <USER_GENERATED_PASSWORD>
      adminUser: clickhouse-logs-user
      adminPassword: <USER_GENERATED_PASSWORD>
      schemas:
        - logs
...

BeeInstana Metrics Pipeline

This feature includes a new data pipeline with additional Instana backend components and a datastore (BeeInstana) to the store of the infrastructure metrics. Based on this data, further features can be activated in the product.

  • Custom Infrastructure Dashboards
  • Infrastructure Unbound Analytics (Beta)

Run and configure BeeInstana datastore via instana-console host

To run BeeInstana as an additional Docker container on the instana-console database host, the following feature flag must be added to the file settings.hcl for new installations or to the file /root/.instana/effective-settings.hcl for existing installations.

...
feature "beeinstana" {
  enabled=true
}
...

After that, the change must still be applied to the system with an instana datastores update. After the restart, an additional container named aggregator should appear. This service must then be accessible via port 9998 from the Instana backend.

Note: Ensure that the free space is enough in the storage location for the metric data.

An estimated disk size of 1 million metrics can be derived from this table:

Period in seconds Retention Disk size in GBs
10 1 72.72
60 30 418.88
300 90 289.35
3600 395 191.49

Run and configure BeeInstana datastore via Operator

For self-hosted Instana environments on Kubernetes with large metric loads, it is recommended that you deploy BeeInstana using the BeeInstana operator. See the documentation for using BeeInstana on Kubernetes.

Configuration for the core

Now the BeeInstana datapipeline must be exposed to the operator Core spec, and the following feature flags must be enabled. The main feature flag feature.beeinstana.infra.metrics.enabled activates new components and a set of features based on them. There may also be other optional features as current:

  • feature.beeinstana.histograms.enabled
apiVersion: instana.io/v1beta2
kind: Core
metadata:
  name: instana-core
  namespace: core
spec:
...
datastoreConfigs:
  beeInstanaConfig:
    clustered: false # Set to true if beeinstana is operated as a cluster
    hosts:
      - <beeinstana_aggregator_host> # in a docker environment the FQDN of the docker host and in case of an BeeInstana operator cluster use the service name here
...
featureFlags:
  - name: feature.beeinstana.infra.metrics.enabled
    enabled: true
  - name: feature.beeinstana.histograms.enabled
    enabled: true
...

Furthermore, the core secret (instana-core) must be updated with the BeeInstana credentials.

...
datastoreConfigs:
  ...
  beeinstanaConfig:
    - user: beeinstana-user
      password: <SECRET_PASSWORD>
...

Synthetics Monitoring

This feature includes support for enabling Synthetic Monitoring in the self-hosted operator. Enabling this feature will let the operator deploy Synthetic Monitoring components, which can be used by a Synthetic Point-of-Presence (PoP) agent to run Synthetic tests against your web applications and display results in the Instana UI.

Configure external storage for Synthetic monitoring

Before enabling Synthetic Monitoring, two external storage configuration needs to be configured in the storageConfigs section in the Core spec (synthetics, syntheticsKeystore).

Currently, GCloud, S3 or compatible Buckets are supported and file system is based on a multi read/write persistent volume.

For more information on storageConfigs spec for synthetics, refer storageConfigs

Enable Synthetic Monitoring components using feature flag

To enable Synthetic Monitoring components, set the following feature flag under the featureFlags configuration in the Core spec.

featureFlags:
    ...
      - name: feature.synthetics.enabled
      enabled: true