-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
OpenTelemetry module #9016
Comments
Please assign the issue to me. |
You can just type & post |
And we need to add collector code and collector compilation to the Otel bits in Makefile, I am guessing. Or is that pluggable. |
And remove currently integrated bits of opentracing, jaeger, zipkin etc. |
/assign |
No, We don't need to change the Makefile. Everything is in init image. |
Will wait for your PR. You can begin the title with string "WIP" to indicate work-in-progress if you like. Looking forward to see your design |
@esigo since that PR merrged, we will get image with LD_LIB_PATH. That is good for loading. But can you write here or in that PR about the collector. Is it already compiled and ready for use with the current build ? If yes, is that also under the same /mount....... path ? |
The collector has to be managed by the user. I have a sample here: |
/triage accepted |
@esigo Please test this image after path fix
Based on your update, we can promote it or do other needful |
|
Hi @longwuyuan, |
Strange, I have exactly the same problem. I built my own image using this dockerfile |
@kuzaxak you are using image built on 6th. The new image s built on 7th. EDIT: sorry, the comment above from me is wrong. You are using the latest. And I think esigo mentioned line 76 problem in your environ. |
@kuzaxak your line 76 doesn't copy all the files that are needed. |
@esigo, wanted to express my appreciation for your work here. Very nice. I have a team at $job that would be happy to help test this in live environments if you have any pre-release artifacts to share. |
pending fix on open-telemetry/opentelemetry-cpp-contrib#252 and #9472 |
/close |
Was this supposed to work on v1.7.0? Doesn't for me:
One more thing: does this require HTTPS? I don't see any option to toggle between HTTPS and HTTP. |
@agronholm probably you are using a daemonset instead of a deployment, I had the same issue, and found that the helm template for the daemonset is missing some settings compared to the deployment. I have a local fix and I'm preparing a pull request but I need to sign CLA, etc. |
No, I'm using deployment. |
@agronholm , did you add:
in addition to:
? |
I didn't. I tried that and my controller starts up now. Is this documented somewhere? |
@agronholm , no, I also found that by debugging the chart. There are also many mistakes in the documentation :( |
Okay. Thanks for the info! What mistakes did you find in the documentation? |
@fcuello-fudo |
Ref.: #9792 |
How can I enable opentelemetry without helm, only using |
Hi , i want to export ingress controller traces to azure app insights. how can i achieve that using the open telemetry provided by ingress controller. any solution ?? |
Hello, I wanted to give it a try, and I got a huge CPU usage issue, every core are saturated by nginx. I simplified my setup to reduce external causes, I deleted ALL my ingress objects, and deploy the helm chart with this controller:
config:
enable-opentelemetry: "true"
zipkin-collector-host: otel-collector.opentelemetry.svc
opentelemetry:
enabled: true
replicaCount: 2
service:
loadBalancerIP: 1.1.1.1 # a public IP Yes, otel is And there is what a get from a
If I comment
Despise the huge CPU usage, I get some traces (the stack is ingress + otel + a collector + tempo + grafana). I may have miss something, does someone have an idea? |
@sereinity I had the same issue. This was fixed when I set otel-schedule-delay-millis to something like 5000 and otel-max-export-batch-size to 512 in the ConfigMap. The defaults are causing every span to be sent to the collector without any batching/delay, which results in huge CPU usage. |
Otel module has been completed, I am going to close this issue. If folks have issues with the modules, please open separate issues tickets for those. thank you. /close |
@sereinity @svmaris i have created this ticket #10063 |
@sereinity @svmaris as you might have seen in #10063, the performance issues were fixed with defaults changes in #9978 (see ac9a507). This was released in v1.8.0 of the controller / v4.7.0 of the Helm chart. |
@premjha9625 I haven't tried this, but it looks like the way to do this today is to send your ingress-nginx trace to OpenTelemetry Collector and use the Azure Monitor Exporter as mentioned here: https://learn.microsoft.com/en-us/azure/azure-monitor/faq#can-i-use-the-opentelemetry-collector- |
Wonderful work! However, the documentation could be improved a bit still. For example.
We are also given this example elsewhere: But what are the available variables for this? Is this information available? If so, where can I find it? Either way, I could create another issue and even take a crack at this if someone points me in the right direction. My random code dives haven't been fruitful, unfortunately. |
@Angelin01 maybe you can reach to @esigo on the ingress-nginx-dev channel of kubernetes.slack.com. Register at slack.k8s.io if required. |
@eshizhan Did you find out how to enable opentelemetry using the bare apply method instead of helm method? I have the controller deployed and I can't find anyway to pass this "controller: true" people are talking about. |
This issue is for tracking the steps needed to be taken for using OpenTelemetry.
Currently, the OpenTelemetry compilation is done in #8585, but there is still one issue for loading the module (the init container copies the needed files to a wrong path).
Here is the list of steps:
Once all done, the user will be able to send telemetry data to any backend that receives otlp-gRPC directly, or any backend through otel-collector:
Or:
The text was updated successfully, but these errors were encountered: