ArchitectureMetrics & Logging

Metrics & Logging

Labels

We apply kubernetes labels to all services created by Unbind. We then configure Alloy and the Victoria Metrics Stack to scrape metrics from these services specifically.

💡

Labels allow us to show you metrics and logs team-wide, project-wide, environment-wide, or at the individual service level.

Alloy - Container Logs

Alloy is used to scrape container logs that contain Unbind labels and push them to Loki.

💡

Out of the box, Alloy is only collecting logs from services deployed by Unbind - this means it will scale based on the number of services deployed by Unbind.

Loki - Container Logs

Loki is a time series database that is used to store container logs.

It allows Unbind to query logs by service, environment, project, or team. As well search for specific keywords, filter by time, and more.

Why not Kubernetes logs? Kubernetes has built-in logging for pods, but they are short-lived and do not have any configurable retention, and are pod-specific. By using Loki, we can persist logs for your service across multiple deployments over a larger range of time.

Victoria Metrics (Stack)

Unbind uses PromQL to query metrics such as CPU, Ram, Disk Usage, and Network Usage.

In order to do this, we deploy a light version of the VictoriaMetrics K8s Stack by default during the installation. It scrapes metrics from kubernetes nodes, pods, and other related resources - and exposed them via a Prometheus compatible API.

💡

Unbind is compatible with other PromQL compatible stacks, such as the kube-prometheus-stack - if you opted to bring your own.