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
- Not instrument the zen-audit pods.
- Instrument the technologies that the applications use, and make sure that there is sufficient ephemeral storage for the AutoTrace webhook Images.
Environment
Steps
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.
- ibmmq 17 M
- ruby 151 M
- ibmace 8.2 M
- netcore 3.4 M
- nginx 66 M
- nodejs 32 M
- python 20 M
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.
Required action at the time of install:
Disable the tracer for Ruby as in Disabling tracers - ruby
--repo https://agents.instana.io/helm instana-autotrace-webhook \
--set webhook.imagePullCredentials.password=<download_key> \
--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 namespaces, opt-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.
Related Information
Document Location
Worldwide
Was this topic helpful?
Document Information
Modified date:
20 June 2024
UID
ibm17156866