Skip to content

Commit

Permalink
edits
Browse files Browse the repository at this point in the history
  • Loading branch information
dmuelle committed Jan 16, 2025
1 parent 7674fef commit abbdea1
Showing 1 changed file with 14 additions and 6 deletions.
20 changes: 14 additions & 6 deletions modules/ROOT/pages/observability.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,23 @@
:page-type: general
= Observability

When applications are observable, operations teams can identify the root causes of bugs, bottlenecks, and other inefficiencies. Open Liberty provides a framework for developing observable applications and integrates with numerous third-party monitoring tools.
Observability, the ability to understand the internal state of a system by examining its outputs, is a key aspect of maintaining high-performing, resilient microservices. When applications are observable, operations teams can quickly identify the root causes of bugs, bottlenecks, and other inefficiencies.

Observability, the ability to understand the internal state of a system by examining its outputs, is a key aspect of maintaining high-performing, resilient microservices. Incorporating observability into your microservices from the outset helps you build more robust and manageable systems, facilitating easier debugging, performance tuning, and overall system health monitoring.
Open Liberty provides a robust framework for developing observable applications through health checks, logging, metrics, and tracing.

The three pillars of observable microservices are logging, metrics, and tracing.
With MicroProfile Telemetry 2.0 and later, you can manage Open Liberty logs, metrics, and traces in a standardized way by using the OpenTelemetry protocol. For more information, see xref:microprofile-telemetry.adoc[Collect logs, metrics, and traces with OpenTelemetry].
== Health checks: Monitoring service availability

A health check is a special REST API implementation that validates the status of a microservice and its dependencies. Health checks help prevent downtime, reduce errors, and ensure system reliability. They monitor the availability and performance of individual services, detecting issues before they impact users.

You can also configure health checks for your Open Liberty applications with xref:health-check-microservices.adoc[MicroProfile Health]. A health check is a special REST API implementation that you can use to validate the status of a microservice and its dependencies. With MicroProfile Health, microservices can self-check their health and publish their overall status to a defined endpoint.
Health checks are an important tool for managing cloud native applications because they can communicate the status of an application container to the host cloud platform. Health checks can report whether an application is running, ready, or has even completed starting up. The cloud platform monitor service can then use this information to stop or restart certain containers to keep the system running efficiently.

You can configure health checks for your Open Liberty applications with xref:health-check-microservices.adoc[MicroProfile Health]. With MicroProfile Health, microservices can self-check their health and publish their overall status to a defined endpoint.

== Logging: Understanding application behavior

Logging is the process of recording events within the system, capturing detailed information about what happened, when, and why. It's essential for debugging, auditing, and understanding application behavior. Logs provide a wealth of information, including errors, warnings, and debug messages. Open Liberty has a xref:log-trace-configuration.adoc[unified logging component] that handles messages that are written by applications and the runtime, and provides First Failure Data Capture (FFDC) capability. Logging data that is written by applications by using the `System.out`, `System.err`, or `java.util.logging.Logger` streams is combined into the Open Liberty runtime logs by default.
Logging is the process of recording events within the system, capturing detailed information about what happened, when, and why. It's essential for debugging, auditing, and understanding application behavior. Logs provide a wealth of information, including errors, warnings, and debug messages.

Open Liberty has a xref:log-trace-configuration.adoc[unified logging component] that handles messages that are written by applications and the runtime, and provides First Failure Data Capture (FFDC) capability. Logging data that is written by applications by using the `System.out`, `System.err`, or `java.util.logging.Logger` streams is combined into the Open Liberty runtime logs by default.

== Metrics: Measuring performance

Expand All @@ -41,6 +45,10 @@ OpenTelemetry, an open source framework, provides a standardized approach to col

Automatic instrumentation is available only for JAX-RS and Jakarta RESTful web service applications. To create spans for other operations, such as database calls, you can add manual instrumentation to the source code for those operations by using the OpenTelemetry API. Alternatively, you can attach the OpenTelemetry Java agent to any Java 8+ application. For more information about these options, see xref:telemetry-trace.adoc[Code instrumentation for MicroProfile Telemetry tracing].

== MicroProfile Telemetry: A unified solution for observability

With MicroProfile Telemetry 2.0 and later, you can manage Open Liberty logs, metrics, and traces in a standardized way by using the OpenTelemetry protocol. For more information, see xref:microprofile-telemetry.adoc[Collect logs, metrics, and traces with OpenTelemetry].

Implementing observability in your microservices involves a combination of metrics, logging, and tracing. With Open Liberty and OpenTelemetry, you can gain valuable insights into your application behavior so you can identify and resolve issues quickly. Observability is not a one-time task but an ongoing process that must be integrated into your development lifecycle. By making observability a priority, you can build more reliable, performant, and maintainable microservices.

For hands-on tutorials on different observability configurations for Open Liberty, check out our link:/guides/#observability[Observability guides].
Expand Down

0 comments on commit abbdea1

Please sign in to comment.