Telemetry
Application Insights
- Doesn't seem to be able to self-hosted.
- Doesn't seem to be as mature as AppInsights.
- Mostly front-end for OTL.
- Handles tracing only, no logs or metrics.
- Log aggregator.
- Free only for one user.
- Can be self-hosted.
Elastic Stack / ELK / ElasticSearch + Kibana
- Log filtering and visualization.
- Can be self-hosted.
- It seems complicated to configure.
- Does monitoring.
- We need more of a tracing/logging thing.
- Visualization and analytics.
- Tries to integrate everything.
- Does a lot more than we need. It's supposed to be an all-in-one solution for making distributed apps. Observability is a consequence of that.
- Seems to be able to support logs, traces, and metrics (source).
- After some research into it, it looks kinda cool, and KAFE could probably be defined using the
DistributedApplication
API, but it is meant to be deployed either to Azure or Kubernetes.- While we could theoretically deploy to Kubernetes in our little VM, it seems more than a little over-engineered to me.
- Stratus, running on OpenNebula has support for Kubernetes directly, but that we meant complete redo of the whole KAFE setup, which I'd very much like to avoid.
- Luckily, Aspire's Dashboard can be used independently of the
DistributedApplication
API. It's just another Docker image. - That seems like a good fit to me. I'd rather deploy one observability tool than three (Jaeger + Seq/Elk + Prometheus).
- We'll see how that goes. It's quite possible the aspire dashboard will be sufficient. If not, I'll try something else.
In any case, #96 should be done first.
Logs
Events/changes of state at a given timestamp.
Traces
- A communication between two components of a system.
- It has a timestamp and duration.
- Multiple causally-related events.
References
Edited by Adam Štěpánek