IBM Support

How to configure Instana AutoTrace webhook in a Cloud Pak Environment (Cloud Pak for Business Automation, Cloud Pak for Integration) ?

How To


Summary

Cloud Paks use the Zen service that does not support the IBM Instana AutoTrace webhook. Zen uses Ruby and hence to co-exist with Instana, it is necessary to explicitly not instrument Zen.
AutoTrace webhook also has Ephemeral storage requirements and limits that might require adjustments.

Objective

To use the AutoTrace webhook to monitor applications that use IBM MQ, ACE, and so on, while co-existing with the Zen service on Cloud Paks, Instana needs to be configured as follows:
  1. Not instrument the zen-audit pods.
  2. Instrument the technologies that the applications use, and make sure that there is sufficient ephemeral storage for the AutoTrace webhook Images.

Environment

Cloud Paks using Instana AutoTrace webhook
Cloud Paks using the Zen service

Steps

Ephemeral storage usage per pod per node
The webhook mutates the pod and adds the initContainer, which pulls the image that has instrumentation files for all technologies that Instana supports (Node.js, .NET Core, Ruby, Python, and NGINX) and copies all these files to the pod by the default. The files are stored in the emptyDir volume instana-instrumentation-volume under volume mount path /opt/instana/instrumentation/. As emptyDir volumes are stored on the local file system of the node, this increases the pod's ephemeral storage usage. The total size of the instrumentation files for all technologies is around 300 MB. This size can change in the future releases but not significantly.
To break it down by technologies:
   -  libinstana_init 5.1 M - required for all technologies
   -  ibmmq 17 M
   -  ruby 151 M
   -  ibmace 8.2 M
   -  netcore 3.4 M
   -  nginx 66 M
   -  nodejs 32 M
   -  python 20 M 
   
Required Steps:
a. Instrument only the technologies that are used by the applications you want to monitor.
b. For co-existence with Zen, make sure AutoTrace webhook for Ruby is disabled.
c. Make sure the pod limits for ephemeral storage are sufficient. If not, contact your Cloud Pak Support to have them increased.

Required action at the time of install:
Disable the tracer for Ruby as in Disabling tracers - ruby
helm install --create-namespace --namespace instana-autotrace-webhook instana-autotrace-webhook \
  --repo https://agents.instana.io/helm instana-autotrace-webhook \
  --set webhook.imagePullCredentials.password=<download_key> \
  --set openshift.enabled=true \
  --set autotrace.ruby.enabled=false \

This will resolve the conflict with Zen pods. It will also reduce the ephemeral storage needs for the pods/node.
Other technologies can be ignored too if they are not used by the applications being monitored.

Impact: User applications that use Ruby will not be instrumented.
If it is required to instrument applications using Ruby, contact Instana/Cloud Pak support. Other options like Ignoring namespacesopt-in/out or Ignoring resources might be possible.
For help with increasing ephemeral storage limits, contact your Cloud Pak support.

General Recommendation: When using the Autotrace webhook, monitor only the namespaces that you want to monitor and technologies that are used by your applications. Use Ignoring namespaces, Opt-in/out and values.yaml for resources when possible.

Additional Information

Impact of not following the steps: Impact to the cluster with pods running out of ephemeral storage at the node level
Possible Symptoms: Reported on Cloud Pak for Business Automation(CP4BA) and Cloud Pak for Integration(CP4I)
1. zen-audit pod status shown as container status unknown, Error , or crashLoopBackOff
2. zen-audit pods/zen-api-core pods/Insight pods evicted in the node where Instana AutoTrace webhook is installed with the message : Pod ephemeral local storage usage exceeds the total limit of containers xxxMi.
3. zen-metastoredb in status pending

Reason
1. Zen-Audit conflict -
Zen-audit's use of Ruby is unsupported by Instana AutoTrace webhook.
2. Additional ephemeral storage requirements of about 300 Mi per pod are required when using the AutoTrace webhook.

Recovery
Follow the steps in Uninstall Instana AutoTrace webhook.
To remove AutoTrace from deployed applications and prevent AutoTrace from being included in new applications, redeploy all higher-order resources that are formerly mutated by the AutoTrace webhook. This ensures that all the AutoTrace configuration (init-containers and environment variables) gets removed from the resource specs and pod templates.

Document Location

Worldwide

[{"Type":"MASTER","Line of Business":{"code":"LOB67","label":"IT Automation \u0026 App Modernization"},"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSO4JPD","label":"IBM Instana Observability"},"ARM Category":[{"code":"a8m3p000000UoUfAAK","label":"Agent-\u003EAutoTrace"}],"ARM Case Number":"TS015368800","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"}]

Document Information

Modified date:
20 June 2024

UID

ibm17156866