Brief #07 · DevOps & SRE

Monitoring Stack: Prometheus + Grafana

Easy⏱ 8-12 ঘণ্টাশীঘ্রই

দুইটা ছোট service এর metrics, log আর alert, যাতে কিছু ভাঙলে user বলার আগেই তুমি জানো।

Outline free · tracking সহ বানাতে Pro লাগবে

MBriefTeam এর পক্ষ থেকে

আমাদের একটা orders service আর একটা payments service আছে। কিছু গোলমাল হলে আমরা SSH করে ঢুকে log এ grep করি, সাধারণত কোনো customer Facebook এ অভিযোগ করার পরে। আমাদের এমন dashboard দাও যেটা এক নজরে অবস্থা দেখায়, আর এমন alert যেটা ঠিক মানুষকে জাগায়।

যা বানাবে

  1. 1দুইটা ছোট service (যেকোনো language), যারা request এর সংখ্যা, error আর latency সহ /metrics দেয়।
  2. 2Docker Compose এ Prometheus, Grafana আর Loki, দুইটার metrics আর log সংগ্রহ করে।
  3. 3চারটা golden signal সহ একটা dashboard: traffic, error, latency, saturation।
  4. 4Request ID সহ structured JSON log, যেটা দুইটা service এই দেখা যায়।
  5. 5দুইটা alert: ৫ মিনিট ধরে error rate ৫% এর বেশি, আর p95 latency ১ সেকেন্ডের বেশি।

ধাপে ধাপে walkthrough

Walkthrough শীঘ্রই আসছে

এই project এর ধাপে ধাপে walkthrough, প্রতিটা ধাপে আসল output সহ, এখনো লেখা হচ্ছে। ততক্ষণ brief পড়ে নিজে চেষ্টা করতে পারো; walkthrough তৈরি হলে tracking চালু হবে।

শেষ হবে যখন

  • docker compose up দিলেই সব চালু, dashboard সহ।
  • ইচ্ছা করে একটা service ভাঙলে ৫ মিনিটের মধ্যে ঠিক alert আসে।
  • একটা request ID দিয়ে দুইটা service এই তার log খুঁজে পাওয়া যায়।
  • README তে প্রতিটা dashboard এর screenshot।

আরো এগোতে চাইলে

  • OpenTelemetry দিয়ে distributed tracing যোগ করো।
  • একটা SLO ঠিক করো, আর error budget এর panel বানাও।

দেখিয়ে দাও