RustFS Obs - Observability & Monitoring
๐ Overview
RustFS Obs provides comprehensive observability and monitoring capabilities for the RustFS distributed object storage system. It includes metrics collection, distributed tracing, logging, alerting, and performance monitoring to ensure optimal system operation and troubleshooting.
Note: This is a critical operational submodule of RustFS that provides essential observability capabilities for the distributed object storage system. For the complete RustFS experience, please visit the main RustFS repository.
โจ Features
๐ Metrics Collection
- Prometheus Integration: Native Prometheus metrics export
- Custom Metrics: Application-specific performance metrics
- System Metrics: CPU, memory, disk, and network monitoring
- Business Metrics: Storage usage, request rates, and error tracking
๐ Distributed Tracing
- OpenTelemetry Support: Standard distributed tracing
- Request Tracking: End-to-end request lifecycle tracking
- Performance Analysis: Latency and bottleneck identification
- Cross-Service Correlation: Trace requests across microservices
๐ Structured Logging
- JSON Logging: Machine-readable structured logs
- Log Levels: Configurable log levels and filtering
- Context Propagation: Request context in all logs
- Log Aggregation: Centralized log collection support
๐จ Alerting & Notifications
- Rule-Based Alerts: Configurable alerting rules
- Multiple Channels: Email, Slack, webhook notifications
- Alert Escalation: Tiered alerting and escalation policies
- Alert Correlation: Group related alerts together
๐ฆ Installation
Add this to your Cargo.toml
:
[]
= "0.0.3"
๐ง Usage
๐๏ธ Architecture
Observability Architecture
Observability Architecture:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Observability API โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Metrics โ Tracing โ Logging โ Alerting โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Data Collection & Processing โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Prometheus โ OpenTelemetry โ Structured โ Alert Mgr โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ External Integrations โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Monitoring Stack
Component | Purpose | Integration |
---|---|---|
Prometheus | Metrics storage | Pull-based metrics collection |
Jaeger | Distributed tracing | OpenTelemetry traces |
Grafana | Visualization | Dashboards and alerts |
ELK Stack | Log aggregation | Structured log processing |
๐งช Testing
Run the test suite:
# Run all tests
# Test metrics collection
# Test tracing functionality
# Test alerting
# Integration tests
๐ Requirements
- Rust: 1.70.0 or later
- Platforms: Linux, macOS, Windows
- External Services: Prometheus, Jaeger (optional)
- Network: HTTP endpoint exposure capability
๐ Related Projects
This module is part of the RustFS ecosystem:
- RustFS Main - Core distributed storage system
- RustFS Common - Common types and utilities
- RustFS Config - Configuration management
๐ Documentation
For comprehensive documentation, visit:
๐ Links
- Documentation - Complete RustFS manual
- Changelog - Release notes and updates
- GitHub Discussions - Community support
๐ค Contributing
We welcome contributions! Please see our Contributing Guide for details.
๐ License
Licensed under the Apache License, Version 2.0. See LICENSE for details.