From monitoring to observability

open source options

  1. signoz

Notes from https://future.a16z.com/the-case-for-developer-experience

Three pillars of observability

  1. Logs
  2. Metrics
  3. Traces

Observability is about building models of your software so you can build software more quickly

But design for complexity-exploring Tools — which is more about meeting developers where they are — means digesting larger parts of the rainforest that are the developer’s ecosystem.

Case in point: People talk about the pillars of observability as logs, metrics, and traces, instead of about goals like “understand your system behavior” or “catch breaking changes!”

Instead, we need to focus on more interoperability with existing dev tools, as well as on more incremental improvements (yes) that aren’t a so-called paradigm shift but that actually work with what exists.

developers don’t actually need to observe every aspect of their systems. Instead, they just want a prioritized view, one that gives them visibility into what matters. Prioritization matters far more than soundness, bugs, or comprehensiveness.

Observability stack

  1. LMA stack
    1. Logs
    2. Metrics
    3. Alerts
  2. Log aggregation
    1. Loki - Prometheus for logs
      1. ingests logs
      2. indexes
      3. query language(LogQL) similar to prometheus(PromQL)
      4. integration with grafana
  3. Prom tail
    1. Agent that is installed in the source.
    2. Log parsing and enriching
    3. Collects logs and pushes them to Loki
  4. Prometheus
    1. What Loki is for logs, prometheus is for metrics

Further reading

  1. https://twitter.com/hibaymj/status/1423426718799470595
  2. https://www.honeycomb.io/wp-content/uploads/2018/07/Honeycomb-Guide-Achieving-Observability-v1.pdf
  3. https://dl.acm.org/doi/10.1145/3411506.3417602
  4. https://shopify.dev/changelog
  5. https://medium.com/@gerstenzang/developer-tools-why-it-s-hard-to-build-a-big-business-423436993f1c
  6. https://www.akitasoftware.com/blog-posts/why-arent-there-more-programming-languages-startups

Referenced in:

All notes