When we refer to OpenTelemetry as a Unified Shipper, we are describing architecture where by OpenTelemetry is leveraged to collect all the required data (logs, metrics & traces) to facilitate application performance monitoring (APM) functionality.
As mentioned above, we will be using Helm to install the Coralogix OpenTelemetry Collector which will be used to collect all the required data (logs, metrics & traces).
The following values.yaml
override file can be used as a starting point. Additional configuration values can be added as required:
global: traces: endpoint: "ingress.coralogix.<domain>:443" metrics: endpoint: "ingress.coralogix.<domain>:443" logs: endpoint: "ingress.coralogix.<domain>:443" opentelemetry-collector: mode: "daemonset" presets: logsCollection: enabled: true kubernetesAttributes: enabled: true hostMetrics: enabled: true kubeletMetrics: enabled: true
Once installed, logs, metrics and any available trace data will be sent to Coralogix and will be visible via the Console.
Once OpenTelemetry is installed and sending data, there are some steps we can take to verify that the we are receiving all the data required for APM to function.
In order to correlate OpenTelemetry metrics with trace spans, we need to have valid values in the k8s Resource Attributes being shipped from OpenTelemetry. Here is a screenshot of expected K8s Resource Attributes associated with a Span from the Coralogix Tracing UI.
sum(k8s_node_cpu_utilization_1) by (k8s_node_name)
sum(system_memory_usage_By) by (host_name)
These are some steps that can be taken to verify that Coralogix has everything it requires for APM. If any of the queries above return empty or invalid results, there may be an issue with the data being sent.
Need help?
Our world-class customer success team is available 24/7 to walk you through your setup and answer any questions that may come up.
Feel free to reach out to us via our in-app chat or by sending us an email at [email protected].