{"repo":"amirhosssein0/observability-lab","free":true,"listed":false,"github":"https://github.com/amirhosssein0/observability-lab","clone":"git clone https://github.com/amirhosssein0/observability-lab.git","description":"Terraform + Ansible provisioned k3s with Prometheus, Grafana, Loki, Tempo, OTel and SLI/SLO/SLA implementation","language":"HCL","stars":21,"topics":["ansible","azure","go","grafana","grafana-loki","grafana-prometheus","kubernetes","kubernetes-monitoring","loki","opentelemetry"],"license":"MIT","category":"deployment-docker-iac","readme_excerpt":"&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; observability-lab A fully automated observability stack on Azure — Terraform, Ansible, k3s, Prometheus, Grafana, Loki & Tempo with distributed tracing and SLO-based alerting --- What is this? A self-built, end-to-end observability lab implementing the three pillars of observability — metrics, logs, and distributed traces — provisioned entirely as code on Azure. Terraform stands up the infrastructure (VM, networking, a static public IP, and a daily auto-shutdown schedule to protect a fixed credit budget). Ansible then takes over completely: installing k3s, deploying the full monitoring stack via Helm ( kube-prometheus-stack , loki-stack , and tempo ), shipping a small Go service instrumented with OpenTelemetry , wiring up Traefik Ingress, and configuring SLO-based email alerting — all idempotently, so the whole stack can be rebuilt from scratch with two commands. The Go app exports Prometheus metrics, structured JSON logs (with trace id embedded), and OTLP traces — enabling cross-signal correlation : jump from a slow span in Tempo directly to the matching log line in Loki, or from a Prometheus exemplar directly to the trace. --- Architecture --- Stack Layer Tool Role --- --- --- IaC Terraform Provisions Azure VM, VNet/NSG, static public IP, auto-shutdown Config management Ansible Installs k3s, deploys every Helm chart, the app, and Ingress — fully idempotent Orchestration k3s Lightweight single-node Ku","default_branch":null,"files":null,"tree":[],"storefront":"/r/amirhosssein0","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/amirhosssein0/observability-lab/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}