Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Apache Instrumentation : appdynamics_sdk_log4cxx.xml.template':No such file or directory #3170

Open
rahulmhatre2505 opened this issue Jul 26, 2024 · 17 comments
Labels
area:auto-instrumentation Issues for auto-instrumentation auto-instrumentation:apache-httpd bug Something isn't working

Comments

@rahulmhatre2505
Copy link

Component(s)

auto-instrumentation

What happened?

Description

We have been trying to instrument Apache HTTP server using the operator method by adding the annotations to the deployment but the instrumentation fails with below error.

cat: can't open '/opt/opentelemetry-webserver/agent/conf/appdynamics_sdk_log4cxx.xml.template':No such file or directory

Apache 2.4.37 (RHEL)

Steps to Reproduce

use version 1.0.4 Apache instrumentation image

Expected Result

Successful instrumentation without errors.

Actual Result

cat: can't open '/opt/opentelemetry-webserver/agent/conf/appdynamics_sdk_log4cxx.xml.template':No such file or directory

Kubernetes Version

1.27

Operator version

99

Collector version

100

Environment information

Environment

OS: (RHEL)
Compiler(if manually compiled): (e.g., "go 14.2")

Log output

cat: can't open '/opt/opentelemetry-webserver/agent/conf/appdynamics_sdk_log4cxx.xml.template':No such file or directory

Additional context

No response

@jaronoff97
Copy link
Contributor

can you please share your instrumentation configuration? did you follow the steps here?

@rahulmhatre2505
Copy link
Author

rahulmhatre2505 commented Aug 1, 2024

Hi @jaronoff97 Sorry for the delayed response. unfortunately, the apache config in the file looks like below. (Please excuse me for the indentations)

Yes, I am following the instructions given in the link you shared

spec:
apacheHttpd:
configPath: /app/apache/sites/default/conf
image: openshift-docker.artifactory.techopscloud.com/apache-httpd:1.0.3 (custom repo url)

  • name: ApacheModuleotelSpanExporter
    value: otlp
  • name: ApacheModuleotelExporterEndpoint
    value: "http://otel-signalfx-collector.otel-signalfx.svc.cluster. local:4318"
  • name: ApacheModuleServiceName
    value: infra-gw
  • name: ApacheModuleServiceNamespace
    value: apache-dev
    name: ApacheModuleServiceInstanceId
    value: ${APACHE_SERVICE_INSTANCE_ID}
    resourceRequirements:
    limits:
    cpu: 500m
    memory: 128Mi
    requests:
    cpu: 1m
    memory: 128Mi

Apache version is 2.4 (RHEL) on Openshift cluster.

with Apache image version 1.0.4 I see a different error that I shared earlier.
with Apache image version 1.0.3 the apache pod goes into crashloopbackoff error.

With the 1.0.3 image after adding the annotations to the apache deployment, I see both the init containers otel-agent-source-container-clone & otel-agent-attach-apache but the pod immediately goes in crashloopbackoff.

@rahulmhatre2505
Copy link
Author

@jaronoff97 I suspect issue with the path in include command, Please let me know your thoughts.

in the below init container the path in the include command, looks incorrect

current path :

'Include /app/apache/sites/default/conf/opentemetry_agent.conf >> /opt/opentelemetry-
webserver/source-conf/httpd.conf

should be :

'Include /opt/opentelemetry-webserver/source-conf/opentemetry_agent.conf >> /app/apache/sites/default/conf/httpd.conf

otel-agent-attach-apache:

Command:
/bin/sh
-C
Args:
cp -r /opt/opentelemetry/* /opt/opentelemetry-webserver/agent && export agentLogDir=$(echo "/opt/opentelemetry-
webserver/agent/logs" | sed 's,/\V,g') && cat /opt/opentelemetry-
webserver/agent/conf/appdynamics_sdk_log4cxx.xml.template | sed 's/agent_log_dir/'${agentLogDir)'/g' >
/opt/opentelemetry-webserver/agent/conf/appdynamics_sdk_log4cxx.xml &&echo "$OTEL_APACHE_AGENT_CONF" >
/opt/opentelemetry-webserver/source-conf/opentemetry_agent.conf && sed -i 's/ << SID-
PLACEHOLDER>>/${APACHE_SERVICE_INSTANCE_ID}'/g' /opt/opentelemetry-webserver/source-conf/opentemetry_agent.conf
&& echo 'Include /app/apache/sites/default/conf/opentemetry_agent.conf >> /opt/opentelemetry-
webserver/source-conf/httpd.conf

@jaronoff97
Copy link
Contributor

@chrlic any thoughts here?

@chrlic
Copy link
Member

chrlic commented Aug 14, 2024 via email

@rahulmhatre2505
Copy link
Author

Thank you @chrlic do let me know if you need more info

@chrlic
Copy link
Member

chrlic commented Aug 16, 2024

Could you please provide kubectl -n get pod -oyaml ? With sanitised sensitive info if there's any. It's working in my environment, I suspect an issue with privileges or alike.

@rahulmhatre2505
Copy link
Author

Thanks for looking into it @chrlic I'll try to get the info.

@rahulmhatre2505
Copy link
Author

@chrlic also wanted to confirm with you regarding below parameter, am I supposed to pass any specific value here? I noticed that during instrumentation it creates following environment variable - ${APACHE_SERVICE_INSTANCE_ID} which is what I am passing as value.

ApacheModuleServiceInstanceId
value: ${APACHE_SERVICE_INSTANCE_ID}

@rahulmhatre2505
Copy link
Author

rahulmhatre2505 commented Aug 26, 2024

apiVersion: v1
kind: Pod
metadata:
annotations:
app_context_path: /httpd
container_name: infra-gw
instrumentation.opentelemetry.io/inject-apache-httpd: otel-observability/otel-observability-instrumentation
openshift.io/scc: nonroot
prometheus.io/path: /httpd/HealthCheck
prometheus.io/scrape: "true"
sidecar.istio.io/inject: "false"
creationTimestamp: "2024-08-23T12:57:47Z"
generateName: infra-gw-cb47f965-
labels:
app: infra-gw
app.kubernetes.io/managed-by: Helm
app_cmdb_id: A0812643-S4
app_family: apache
app_pod_name: infra-gw
app_tier: tier3
app_version: 1.0.1-188
container_name: infra-gw
dep_app_category: java
helm.sh/chart: infra-gw-1.0.1-188
openshift_env: c3
platform_short_name: apache
pod-template-hash: cb47f965
version: 1.0.1-188
name: infra-gw-cb47f965-b5fq5
namespace: apache-dev
ownerReferences:

  • apiVersion: apps/v1
    blockOwnerDeletion: true
    controller: true
    kind: ReplicaSet
    name: infra-gw-cb47f965
    uid: 81bf0af0
    resourceVersion: "4674971346"
    uid: 9854ef1f
    spec:
    automountServiceAccountToken: true
    containers:

  • env:

    • name: OTEL_NODE_IP
      valueFrom:
      fieldRef:
      apiVersion: v1
      fieldPath: status.hostIP
    • name: OTEL_POD_IP
      valueFrom:
      fieldRef:
      apiVersion: v1
      fieldPath: status.podIP
  • name: USE_IAD_DYNAMIC_TRUST
    value: "Yes"

  • name: APPLICATION_NAME
    value: infra-gw

  • name: SPRING_PROFILES_ACTIVE
    value: dev

  • name: NO_PROXY
    value: otel-observability-collector.otel-observability.svc.cluster.local

  • name: OTEL_SERVICE_NAME
    value: infra-gw

  • name: OTEL_EXPORTER_OTLP_ENDPOINT
    value: http://otel-observability-collector.otel-observability.svc.cluster.local:4318

  • name: OTEL_RESOURCE_ATTRIBUTES_POD_NAME
    valueFrom:
    fieldRef:
    apiVersion: v1
    fieldPath: metadata.name

  • name: OTEL_RESOURCE_ATTRIBUTES_NODE_NAME
    valueFrom:
    fieldRef:
    apiVersion: v1
    fieldPath: spec.nodeName

  • name: OTEL_PROPAGATORS
    value: tracecontext,baggage,b3

  • name: OTEL_TRACES_SAMPLER
    value: always_on

  • name: OTEL_TRACES_SAMPLER_ARG
    value: "1"

  • name: OTEL_RESOURCE_ATTRIBUTES
    value: k8s.container.name=infra-gw,k8s.deployment.name=infra-gw,k8s.namespace.name=apache-dev,k8s.node.name=$(OTEL_RESOURCE_ATTRIBUTES_NODE_NAME),k8s.pod.name=$(OTEL_RESOURCE_ATTRIBUTES_POD_NAME),k8s.replicaset.name=infra-gw-cb47f965,service.instance.id=apache-dev.$(OTEL_RESOURCE_ATTRIBUTES_POD_NAME).infra-gw,service.version=1.0.1-188
    image: openshiftdocker/apache/infra-gw:1.0.1-188
    imagePullPolicy: IfNotPresent
    livenessProbe:
    failureThreshold: 3
    httpGet:
    path: /httpd/HealthCheck
    port: 8555
    scheme: HTTPS
    initialDelaySeconds: 30
    periodSeconds: 30
    successThreshold: 1
    timeoutSeconds: 30
    name: infra-gw
    ports:

  • containerPort: 8555
    protocol: TCP

  • containerPort: 8556
    protocol: TCP

  • containerPort: 8557
    protocol: TCP
    readinessProbe:
    failureThreshold: 3
    httpGet:
    path: /httpd/HealthCheck
    port: 8555
    scheme: HTTPS
    initialDelaySeconds: 30
    periodSeconds: 30
    successThreshold: 1
    timeoutSeconds: 30
    resources:
    limits:
    cpu: "4"
    memory: 4Gi
    requests:
    cpu: 25m
    memory: 1Gi
    securityContext:
    capabilities:
    drop:

    • KILL
    • MKNOD
    • SETGID
    • SETUID
      runAsNonRoot: true
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
  • mountPath: /cert/certificates
    name: infra-gw-secrets
    readOnly: true

  • mountPath: /certs/staging/certs/
    name: iad-certs-configmap
    readOnly: true

  • mountPath: /var/run/secrets/kubernetes.io/serviceaccount
    name: kube-api-access-nrzxf
    readOnly: true

  • mountPath: /opt/opentelemetry-webserver/agent
    name: otel-apache-agent

  • mountPath: /app/apache/sites/default/conf
    name: otel-apache-conf-dir
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    imagePullSecrets:

  • name: a0812643-s4-dockercfg-6xqmj
    initContainers:

  • args:

    • cp -r /app/apache/sites/default/conf/* /opt/opentelemetry-webserver/source-conf
      command:
    • /bin/sh
    • -c
      env:
  • name: USE_IAD_DYNAMIC_TRUST
    value: "Yes"

  • name: APPLICATION_NAME
    value: infra-gw

  • name: SPRING_PROFILES_ACTIVE
    value: dev

  • name: NO_PROXY
    value: otel-observability-collector.otel-observability.svc.cluster.local
    image: openshift/org.dev.apache/infra-gw:1.0.1-188
    imagePullPolicy: IfNotPresent
    name: otel-agent-source-container-clone
    ports:

  • containerPort: 8555
    protocol: TCP

  • containerPort: 8556
    protocol: TCP

  • containerPort: 8557
    protocol: TCP
    resources:
    limits:
    cpu: 500m
    memory: 128Mi
    requests:
    cpu: 1m
    memory: 128Mi
    securityContext:
    capabilities:
    drop:

    • KILL
    • MKNOD
    • SETGID
    • SETUID
      runAsNonRoot: true
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
  • mountPath: /app/apache/sites/default/conf.d/globals
    name: infra-gw-configmap
    readOnly: true

  • mountPath: /cert/certificates
    name: infra-gw-secrets
    readOnly: true

  • mountPath: /cert/certificates
    name: iad-certs-configmap
    readOnly: true

  • mountPath: /var/run/secrets/kubernetes.io/serviceaccount
    name: kube-api-access-nrzxf
    readOnly: true

  • mountPath: /opt/opentelemetry-webserver/source-conf
    name: otel-apache-conf-dir

  • args:

    • cp -r /opt/opentelemetry/* /opt/opentelemetry-webserver/agent && export agentLogDir=$(echo
      "/opt/opentelemetry-webserver/agent/logs" | sed 's,/,\/,g') && cat /opt/opentelemetry-webserver/agent/conf/appdynamics_sdk_log4cxx.xml.template
      | sed 's/agent_log_dir/'${agentLogDir}'/g' > /opt/opentelemetry-webserver/agent/conf/appdynamics_sdk_log4cxx.xml
      &&echo "$OTEL_APACHE_AGENT_CONF" > /opt/opentelemetry-webserver/source-conf/opentemetry_agent.conf
      && sed -i 's/<>/'${APACHE_SERVICE_INSTANCE_ID}'/g' /opt/opentelemetry-webserver/source-conf/opentemetry_agent.conf
      && echo 'Include /app/apache/sites/default/conf/opentemetry_agent.conf' >> /opt/opentelemetry-webserver/source-conf/httpd.conf
      command:
  • /bin/sh

  • -c
    env:

  • name: OTEL_APACHE_AGENT_CONF
    value: |2

    #Load the Otel Webserver SDK
    LoadFile /opt/opentelemetry-webserver/agent/sdk_lib/lib/libopentelemetry_common.so
    LoadFile /opt/opentelemetry-webserver/agent/sdk_lib/lib/libopentelemetry_resources.so
    LoadFile /opt/opentelemetry-webserver/agent/sdk_lib/lib/libopentelemetry_trace.so
    LoadFile /opt/opentelemetry-webserver/agent/sdk_lib/lib/libopentelemetry_otlp_recordable.so
    LoadFile /opt/opentelemetry-webserver/agent/sdk_lib/lib/libopentelemetry_exporter_ostream_span.so
    LoadFile /opt/opentelemetry-webserver/agent/sdk_lib/lib/libopentelemetry_exporter_otlp_grpc.so
    #Load the Otel ApacheModule SDK
    LoadFile /opt/opentelemetry-webserver/agent/sdk_lib/lib/libopentelemetry_webserver_sdk.so
    #Load the Apache Module. In this example for Apache 2.4
    #LoadModule otel_apache_module /opt/opentelemetry-webserver/agent/WebServerModule/Apache/libmod_apache_otel.so
    #Load the Apache Module. In this example for Apache 2.2
    #LoadModule otel_apache_module /opt/opentelemetry-webserver/agent/WebServerModule/Apache/libmod_apache_otel22.so
    LoadModule otel_apache_module /opt/opentelemetry-webserver/agent/WebServerModule/Apache/libmod_apache_otel.so
    #Attributes
    ApacheModuleEnabled ON
    ApacheModuleOtelExporterEndpoint http://otel-observability-collector.otel-observability.svc.cluster.local:4318
    ApacheModuleOtelSpanExporter otlp
    ApacheModuleResolveBackends ON
    ApacheModuleServiceInstanceId ${APACHE_SERVICE_INSTANCE_ID}
    ApacheModuleServiceName infra-gw
    ApacheModuleServiceNamespace apache-dev
    ApacheModuleTraceAsError ON

  • name: APACHE_SERVICE_INSTANCE_ID
    valueFrom:
    fieldRef:
    apiVersion: v1
    fieldPath: metadata.name
    image: openshift/vendor-image/monitoring-and-analytics/open-telemetry/opentelemetry-operator/autoinstrumentation-apache-httpd:1.0.3
    imagePullPolicy: IfNotPresent
    name: otel-agent-attach-apache
    resources:
    limits:
    cpu: 500m
    memory: 128Mi
    requests:
    cpu: 1m
    memory: 128Mi
    securityContext:
    capabilities:
    drop:

    • KILL
    • MKNOD
    • SETGID
    • SETUID
      runAsNonRoot: true
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
  • mountPath: /opt/opentelemetry-webserver/agent
    name: otel-apache-agent

  • mountPath: /opt/opentelemetry-webserver/source-conf
    name: otel-apache-conf-dir

  • mountPath: /var/run/secrets/kubernetes.io/serviceaccount
    name: kube-api-access-nrzxf
    readOnly: true
    nodeName: dendvb3oeapp04.cloud.dev-cref.org
    nodeSelector:
    region: appcert
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
    runAsUser: 70765
    seLinuxOptions:
    level: s0:c38,c32
    serviceAccount: a0812643-s4
    serviceAccountName: a0812643-s4
    terminationGracePeriodSeconds: 30
    tolerations:

  • effect: NoExecute
    key: node.kubernetes.io/not-ready
    operator: Exists
    tolerationSeconds: 300

  • effect: NoExecute
    key: node.kubernetes.io/unreachable
    operator: Exists
    tolerationSeconds: 300

  • effect: NoSchedule
    key: node.kubernetes.io/memory-pressure
    operator: Exists
    volumes:

  • configMap:
    defaultMode: 420
    name: iad-certs-configmap
    optional: true
    name: iad-certs-configmap

  • configMap:
    defaultMode: 420
    name: infra-gw-globals-1.0.1-188
    name: infra-gw-configmap

  • name: infra-gw-secrets
    secret:
    defaultMode: 420
    secretName: infra-gw-secrets-1.0.1-188

  • name: kube-api-access-nrzxf
    projected:
    defaultMode: 420
    sources:

    • serviceAccountToken:
      expirationSeconds: 3607
      path: token
  • configMap:
    items:

    • key: ###
      path: ###
      name: kube-root-###
  • downwardAPI:
    items:

    • fieldRef:
      apiVersion: v1
      fieldPath: metadata.namespace
      path: namespace
  • configMap:
    items:

    • key: ###
      path: ###
      name: openshift###
  • emptyDir:
    sizeLimit: 200Mi
    name: otel-apache-conf-dir

  • emptyDir:
    sizeLimit: 200Mi
    name: otel-apache-agent
    status:
    conditions:

  • lastProbeTime: null
    lastTransitionTime: "2024-08-23T12:57:53Z"
    status: "True"
    type: Initialized

  • lastProbeTime: null
    lastTransitionTime: "2024-08-23T12:57:47Z"
    message: 'containers with unready status: [infra-gw]'
    reason: ContainersNotReady
    status: "False"
    type: Ready

  • lastProbeTime: null
    lastTransitionTime: "2024-08-23T12:57:47Z"
    message: 'containers with unready status: [infra-gw]'
    reason: ContainersNotReady
    status: "False"
    type: ContainersReady

  • lastProbeTime: null
    lastTransitionTime: "2024-08-23T12:57:47Z"
    status: "True"
    type: PodScheduled
    containerStatuses:

  • containerID: cri-o://70ba6c11f3f54fd88
    image: openshift/org.dev.apache/infra-gw:1.0.1-188
    imageID: openshift/org.dev.apache/infra-gw@sha256:7d8f1745e8dcddf78388bb00ac2f78a76f070cdd7ab42df594789997b3c490f1
    lastState:
    terminated:
    containerID: cri-o://70ba6c11f3f54fd88
    exitCode: 1
    finishedAt: "2024-08-23T12:59:14Z"
    reason: Error
    startedAt: "2024-08-23T12:59:14Z"
    name: infra-gw
    ready: false
    restartCount: 4
    started: false
    state:
    waiting:
    message: back-off 1m20s restarting failed container=infra-gw pod=infra-gw-cb47f965-b5fq5_apache-dev(9854ef1f-858f-45df-825f-bab69d0cf351)
    reason: CrashLoopBackOff
    hostIP: 10.239.160.49
    initContainerStatuses:

  • containerID: cri-o://c55b9f544ffd2d0911154d2f11d4c4878b80ee2cbcd2253643569b9e8a775193
    image: openshift/org.dev.apache/infra-gw:1.0.1-188
    imageID: openshift/org.dev.apache/infra-gw@sha256:7d8f1745e8dcddf78388bb00ac2f78a76f070cdd7ab42df594789997b3c490f1
    lastState: {}
    name: otel-agent-source-container-clone
    ready: true
    restartCount: 0
    state:
    terminated:
    containerID: cri-o://c55b9f544ffd2d0911154d2f11d4c4878b80ee2cbcd2253643569b9e8a775193
    exitCode: 0
    finishedAt: "2024-08-23T12:57:49Z"
    reason: Completed
    startedAt: "2024-08-23T12:57:49Z"

  • containerID: cri-o://b5ea41736d87189b412654ffca9b450e722c8f1e310e221b72a156e9c44ff55f
    image: openshift/vendor-image/monitoring-and-analytics/open-telemetry/opentelemetry-operator/autoinstrumentation-apache-httpd:1.0.3
    imageID: openshift/vendor-image/monitoring-and-analytics/open-telemetry/opentelemetry-operator/autoinstrumentation-apache-httpd@sha256:15763311f43edea98f6f103e0090edf63c1a28a46514cfbfb3276d7a6699b476
    lastState: {}
    name: otel-agent-attach-apache
    ready: true
    restartCount: 0
    state:
    terminated:
    containerID: cri-o://b5ea41736d87189b412654ffca9b450e722c8f1e310e221b72a156e9c44ff55f
    exitCode: 0
    finishedAt: "2024-08-23T12:57:53Z"
    reason: Completed
    startedAt: "2024-08-23T12:57:53Z"
    phase: Running
    podIP: 10.248.23.158
    podIPs:

  • ip: 10.248.23.158
    qosClass: Burstable
    startTime: "2024-08-23T12:57:47Z"

@rahulmhatre2505
Copy link
Author

@chrlic - Please see the yaml output for kubectl -n get pod -oyaml

@chrlic
Copy link
Member

chrlic commented Aug 30, 2024

Thank you for the info provided. For whatever I've tried, I could not replicate the issue. Could we have a look at the problem in the real environment?

@rahulmhatre2505
Copy link
Author

@chrlic would you be able to share your instrumentation yaml & instrumented pod deployment? This will help me to compare if I am missing anything.

@chrlic
Copy link
Member

chrlic commented Sep 11, 2024

I think I found the cause of the issue - with the apache otel instrumentation 1.0.4 image, some files have been renamed, the /opt/opentelemetry-webserver/agent/conf/appdynamics_sdk_log4cxx.xml.template file is now called /opt/opentelemetry-webserver/agent/conf/opentelemetry_sdk_log4cxx.xml.template. More on that here: open-telemetry/opentelemetry-cpp-contrib@ba0094b
This was reflected in the operator PR #3048, merged into the release 0.103.0 (see https://github.com/open-telemetry/opentelemetry-operator/releases/tag/v0.103.0)
That's the reason why older operator 0.99.0 cannot that file. So upgrading operator should resolve the issue.

There's still an open question for me, why it's failing for you with the image 1.0.3 and I'm going to investigate that.

@rahulmhatre2505
Copy link
Author

rahulmhatre2505 commented Sep 12, 2024

Thanks @chrlic. Really appreciate your efforts for looking into this issue.

I recently tried something to figure out why the apache pod goes in crashloop.

I changed the configpath to etc/httpd/conf which has the default httpd.conf file, whereas the actual httpd.conf file which is used by apache is in another custom/real path, I wanted to see what modifications are done in the file.

with the config path etc/httpd/conf the pod ran successfully and, in the bash, when I ran below command

sh-4.4$ httpd -M

httpd: Syntax error on line 357 of /etc/httpd/conf/httpd.conf: Syntax error on line 8 of
/etc/httpd/conf/opentemetry_agent.conf: Cannot load /opt/opentelemetry-
webserver/agent/sdk_lib/lib/libopentelemetry_exporter_otlp_grpc.so into server: libnsl.so.1: cannot open
shared object file: No such file or directory

it appears, that libopentelemetry_exporter_otlp_grpc.so has dependency on following library libnsl.so.1.

I checked in /lib64 directory, and it had libnsl.so.2 and libnsl.so.2.0.0

Also, I verified that libopentelemetry_exporter_otlp_grpc.so is available in /opt/opentelemetry-
webserver/agent/sdk_lib/lib/

Linux version is RHEL 8.10

I think it may be throwing same error when we set the configpath to the custom/real path and therefore the pod goes in crashloop as apache server is not staring up.

@chrlic
Copy link
Member

chrlic commented Sep 12, 2024 via email

@rahulmhatre2505
Copy link
Author

I tried this with operator version 0.99 and Apache image 1.0.3. No, this is not the file naming issue.

I am yet to add the required library libnsl.so.1 and see if it works. For the versions that I am using, I guess the libnsl.so.1, which is a Linux library is a dependency for supporting Apache instrumentation.

is there a way to find out if it's the similar case with the latest version of the Operator and Apache image?

I found a somewhat similar issue regarding the missing library : https://access.redhat.com/solutions/4975641

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:auto-instrumentation Issues for auto-instrumentation auto-instrumentation:apache-httpd bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants