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দুইটা ছোট service (যেকোনো language), যারা request এর সংখ্যা, error আর latency সহ
/metricsদেয়। - 2Docker Compose এ Prometheus, Grafana আর Loki, দুইটার metrics আর log সংগ্রহ করে।
- 3চারটা golden signal সহ একটা dashboard: traffic, error, latency, saturation।
- 4Request ID সহ structured JSON log, যেটা দুইটা service এই দেখা যায়।
- 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 বানাও।