Hi, If someone is using openTelemetry inside <Azure Container App> , I wanted to understand what kin...
a
Hi, If someone is using openTelemetry inside Azure Container App , I wanted to understand what kind of patterns are you using. I don't want to use Docker Compose as suggested in this link as it violates Single Responsibility Principal. Also another issue in running the Otel Collector in same machine is that loss of logs if the collector and the application are running in same containers and the application gets terminated and replica restart leading to loss of logs..... So I wanted to check how anyone who is using azure container apps are using opentelemetry. What are you using. Something that I had in mind was :- 1. Using Sidecar containers. 2. DAPR which is natively proviced by Azure Container App. 3. Gateway Pattern - collector is hosted somewhere and we push logs directly via SDK to the receiver. feel free to suggest any good and robust way that has worked for you. FYI: Our tech stack is NodeJS running inside the docker. cc - @Ritesh Kumar
s
Hey Avneesh, Azure container apps does not support anything like a Daemonset (though it uses k8s under the hood). to avoid violation of Single Responsibility Principal
I'd recommend using configure your SDKs to send telemetry to managed signoz, you can either self host signoz in AKS or on a VM or you can use SigNoz cloud for single pane.
there are two steps involved for you to reliably consume the telemetry: 1. Setup self hosted/SigNoz cloud, ref 2. Configure the SDK using SDK env variables for your containers in Azure container app to export telemetry to SigNoz, this standalone collector is outside of Azure container app Basically I'm suggesting the 3rd approach as it's the most reliable one.
👍 1
Plus, you can use the same SigNoz instance to ingest telemetry from any other backend and it can serve as single pane for the hybrid infra
Let me know if you any further questions
a
@Shivanshu Raj Shrivastava Got it... Am proceeding with third.. Will let you know if I face any issue.
s
Sure!!
j
Hey @Avneesh Kumar We are in the process of writing Azure Docs and 3 is recommended. Which in the docs is dubbed as the “Central Collector” In addition to being a central deployment it scrapes metrics from Azure Monitor and Consumes event bus for Infra metrics and Infra logs. Here is a Draft version of it for reference*:* https://deploy-preview-1657--frosty-austin-928e43.netlify.app/docs/azure-monitoring/bootstrapping/