Using OpenTelemetry to identify application issues
OpenTelemetry is a vendor-neutral, open-source observability framework to instrument, generate, collect, and export telemetry data (traces and metrics). The OpenTelemetry Collector collects telemetry data from applications and infrastructure, and sends it to observability backends such as BMC Helix applications (for example, BMC Helix Operations Management and BMC Helix Dashboards). After the BMC Helix applications ingest telemetry data, operators or SREs can monitor the instrumented applications through the business services in BMC Helix AIOps.
Telemetry data
OpenTelemetry can help you generate the following types of telemetry data:
- Traces: A trace shows the journey of a request across a distributed system. The trace is made of spans, where each span represents a specific unit of work or operation (for example, a database query or an HTTP request). By viewing traces, you can track the complete execution path of the request and quickly identify which part of the application is causing issues, such as errors and latency concerns. Spans are associated with span events, which are structured log messages. Span events denote a meaningful, singular point in time during the span’s duration.
- Metrics: A metric is a measurement of a service captured at runtime that tells us about the state of the system. Typically, when a problem occurs, values of one or more metrics are lower or greater than the recommended value. You can use the ingested metrics to generate events in BMC Helix Operations Management by defining alarm generation criteria. For example, you can configure a policy to generate an event when any API call takes longer than 5 ms. In addition, you can use these metrics to create dashboards for easy monitoring.
In BMC Helix AIOps, you create a business service to represent the application topology. When an application is impacted, the values of various metrics change. If policies are defined against those metrics in BMC Helix Operations Management, events are generated. Those events impact the health of the business service, helping you identify the impacted application service. From there, you can launch dashboards to analyze traces and correlate the traces and metrics to pinpoint the exact operation causing the issue in the application.
Watch the following video (2:36) to get a quick peek at how the combined power of BMC Helix applications and OpenTelemetry helps you to identify application issues quickly:
Supported languages
BMC Helix AIOps supports monitoring of all the applications that are developed in the languages supported by OpenTelemetry. For the list of languages that are supported by OpenTelemetry, see the OpenTelemetry documentation.
Supported OpenTelemetry Collector versions
BMC Helix AIOps supports versions 0.128.0 and later of OpenTelemetry Collector.
Supported metrics
BMC Helix applications can ingest the following metric types from OpenTelemetry:
- Rate, Errors, and Duration (RED) metrics: Represent the user-centric performance indicators and are derived from the underlying traces.
- Counter: Represents a value that accumulates or increases over time, for example, the number of disk reads and total requests received.
- Gauge: Represents a current value at the time it is read, for example, the count of active connections on an application, and the memory used
- Histogram: Represents a client-side aggregation of values, for example, request latency and request duration.
Process for using OpenTelemetry to identify application issues
The following table lists the tasks that you need to perform to identify application issues by using OpenTelemetry and BMC Helix applications:
Task | Product | Role | Action | Reference |
|---|---|---|---|---|
1
| Ingest telemetry data into BMC Helix applications. | |||
OpenTelemetry | Tenant administrator |
| ||
| BMC Helix Discovery | Service designer | Make sure that the topology elements for the application that is instrumented by OpenTelemetry are ingested into BMC Helix Discovery. | ||
| BMC Helix Dashboards | Operator | Make sure that the traces and metrics for the application that is instrumented by OpenTelemetry are ingested into BMC Helix Dashboards. | ||
| BMC Helix AIOps | Service designer | Create a service model that represents the topology of the application that is instrumented by OpenTelemetry. You can create a service model by using a service blueprint. Either use an out-of-the-box blueprint or create your own blueprint. | ||
2
| Monitor the service health in BMC Helix AIOps and analyze traces in BMC Helix Dashboards to identify application issues. | |||
| BMC Helix AIOps BMC Helix Dashboards | SRE/ Operator |
| ||