Simple Observability Platform
All services are packaged as an all-in-one executable, which can be configured to serve only specific services (deployed separately).
cargo run --bin osv
flowchart LR
in_http["HTTP (Otlp, events)"]
in_grpc[Otel GRPC]
in_services[Services]
out_api[API]
out_dash[Dashboard]
out_status[Status page]
out_notifs[Notifications]
subgraph obsv [Obsv]
coll[Collector]
monitor[Monitor]
db["DB (ClickHouse)"]
api[Data API]
dash[Dashboard]
status[Status page]
notify[Notifier]
end
in_grpc --> |:4317| coll
in_http --> |:4318| coll
in_services --> monitor
coll --> db
db --> api
monitor --> db
db --> notify
api --> |:5001| out_api
dash --> |:5002| out_dash
status --> |:5003| out_status
notify --> |emails, hooks| out_notifs
obsv-core
: core structures and utilitiesobsv-collect
: collector serviceobsv-monitor
: monitoring serviceobsv-api
: data API serviceobsv-notify
: notification serviceobsv-dash
: dashboard serviceobsv-status
: status page serviceobsv-bin
: executablelib/**
: shared libraries
- Jaeger: tracing collector and dashboard
- Prometheus: metrics and alerting toolkit
- teletrace: tracing collector and dashboard (ElasticSearch DB + Collector/Server).
- Vigil: monitors, alerts, status page
- QRYN: observability platform
- ...