-
Notifications
You must be signed in to change notification settings - Fork 440
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
Comments
can you please share your instrumentation configuration? did you follow the steps here? |
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:
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 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. |
@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- should be : 'Include /opt/opentelemetry-webserver/source-conf/opentemetry_agent.conf >> /app/apache/sites/default/conf/httpd.conf otel-agent-attach-apache: Command: |
@chrlic any thoughts here? |
looking into it, sorry for the delay
…On Wed, Aug 7, 2024 at 6:41 PM Jacob Aronoff ***@***.***> wrote:
@chrlic <https://github.com/chrlic> any thoughts here?
—
Reply to this email directly, view it on GitHub
<#3170 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABS4R6ZW2D26A7QATWIFGKTZQJE2RAVCNFSM6AAAAABLQOVR6WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENZTHA4DGMZTGY>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Thank you @chrlic do let me know if you need more info |
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. |
Thanks for looking into it @chrlic I'll try to get the info. |
@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 |
apiVersion: v1
|
@chrlic - Please see the yaml output for kubectl -n get pod -oyaml |
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? |
@chrlic would you be able to share your instrumentation yaml & instrumented pod deployment? This will help me to compare if I am missing anything. |
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 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. |
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 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- 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. |
thank you for your feedback, very much appreciated and helpful.
which version of the operator was that? I wonder if it's not the same file
naming issue...
nevertheless, if the config path was part of the problem, that needs my
attention, too.
…On Thu, Sep 12, 2024 at 11:08 AM rahulmhatre2505 ***@***.***> wrote:
Thanks @chrlic <https://github.com/chrlic>. Really appreciate your
efforts for looking into this issue.
I recently tried a 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.
—
Reply to this email directly, view it on GitHub
<#3170 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABS4R66XFT62EFRX4HAHHJLZWFKX3AVCNFSM6AAAAABLQOVR6WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNBVG4YDAOJUG4>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
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 |
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
Additional context
No response
The text was updated successfully, but these errors were encountered: