Distributed Observability and Telemetry
Recipe | Crates | Categories |
---|---|---|
Jaeger | ||
OpenObserve | ||
Distributed Tracing, Logs, and Metrics with OpenTelemetry | ||
Metrics with Prometheus |
Prometheus and OpenTelemetry are two prominent open-source observability projects under the Cloud Native Computing Foundation (CNCF).
Distributed Tracing, Logs, and Metrics with OpenTelemetry
OpenTelemetry(GitHub)⮳ is a complete observability framework suitable for monitoring microservices and "cloud-native", modern, distributed systems. It is compatible with most major OSS and commercial backends. OpenTelemetry
is a collection of APIs, SDKs, and tools to instrument, generate, collect, and export metrics, logs, and traces to help analyze your software's performance and behavior. Distributed tracing, a key aspect of observability, enables developers to track and analyze requests spanning multiple services.
The opentelemetry
crate is an OpenTelemetry API for Rust.
// // COMING SOON
Useful Links
axum-tracing-opentelemetry
crate (GitHub)⮳.- OpenTelemetry with Rust - documentation⮳.
- OpenTelemetry Examples with Rust⮳.
Jaeger
⮳ is a Cloud Native Computing Foundation (CNCF) open-source, end-to-end distributed tracing system built for monitoring and troubleshooting microservices-based architectures. Usually incorporated as an OpenTelemetry backend, it is used to track and visualize user request behavior across the distributed components of complex systems.- Zipkin⮳ is a distributed tracing system.
Metrics with Prometheus
Prometheus instrumentation library for Rust applications. Prometheus is an open-source systems monitoring and alerting toolkit. Prometheus's main features are:
- a multi-dimensional data model with time series data identified by metric name and key/value pairs
- PromQL, a flexible query language to leverage this dimensionality
- no reliance on distributed storage; single server nodes are autonomous
- time series collection happens via a pull model over HTTP
- pushing time series is supported via an intermediary gateway
- targets are discovered via service discovery or static configuration
- multiple modes of graphing and dashboarding support
Useful Links
- Grafana.
- Prometheus monitoring system and time series database.
- Thanos: open source, highly available Prometheus setup with long term storage capabilities.
OpenObserve
OpenObserve⮳ (written in Rust) is a petabyte-scale Elasticsearch / Splunk / DataDog alternative for logs, metrics, traces, RUM (Real User Monitoring), error tracking, and session replay.
// // COMING SOON
Other Common Observability Tools & Platforms
- Fluentd open-source log collector.
- Splunk is a unified security and observability platform.
- DataDog.
- Graphite.
- InfluxDB.
- Nagios.
- New Relic.
Related Topics
- Metrics.
- Tracing.