Demo pendamping materi "Logging yang Kamu Pakai Selama Ini SALAH".
Stack: Bun. Container: Podman + podman-compose. Centralized logging:
Grafana Alloy → Loki → Grafana.
Demo dibikin bertahap per branch. Tiap branch = satu babak di materi, jadi bisa di-checkout satu-satu pas ngajar/ngerekam.
| Branch | Babak | Isi |
|---|---|---|
01-console-log |
Cara biasa (Slide 4–5) | order-service + payment-service pakai console.log. Kelihatan aman. |
02-proper-logging |
Logging yang bener (Slide 6–14) | pino + level + JSON + redact data sensitif + requestId. |
03-scale |
Pas di-scale kacau (Slide 15–17) | Dockerize, scale 3 container per service di belakang load balancer. Log kepisah-pisah. |
04-centralized |
Centralized logging (Slide 18–25) | Grafana Alloy ngumpulin stdout semua container → Loki → cari di Grafana. |
# lihat semua branch
git branch -a
# mulai dari babak pertama
git checkout 01-console-log
cat README.md # tiap branch punya README cara jalaninnya- Bun >= 1.3
- Podman +
podman-compose(buat branch03&04)brew install podman podman-compose podman machine init && podman machine start
- order-service — terima
POST /checkout, bikinrequestId, panggil payment-service. - payment-service — terima
POST /charge, proses pembayaran (kadang gagalCARD_DECLINED).
Satu request checkout → order-service → payment-service. Inilah yang nanti
kita lacak ujung ke ujung pakai requestId di Grafana.