Skip to content

สถานะระบบ (Health)

หน้า Health สำหรับ Admin ใช้มอนิเตอร์สถานะการทำงานของระบบทุกชั้น

คืออะไร?

Health Dashboard แสดงสถานะ:

  • Backend API (NestJS on Render)
  • Database (Supabase PostgreSQL)
  • Storage (Cloudflare R2)
  • Cache (in-memory)
  • External integrations (Carrier APIs, Webhooks)

วิธีเข้าหน้า Health

Sidebar (Admin) → Health

องค์ประกอบที่ดู

1. Service Status Cards

แต่ละ Service แสดง:

  • 🟢 Healthy — ใช้งานปกติ
  • 🟡 Degraded — ใช้ได้แต่ช้า
  • 🔴 Down — เข้าไม่ได้

2. Latency Chart

กราฟ p50 / p95 / p99 ของ:

  • API Response Time
  • Database Query Time

ค่าปกติ

  • p50 < 200ms
  • p95 < 1s
  • p99 < 3s

ถ้าสูงผิดปกติ — สืบทันที

3. Error Rate

% ของ Request ที่ error (4xx/5xx) แยกตาม endpoint

4. Throughput

Request/sec — เปรียบเทียบกับ baseline

5. Resource Usage

  • CPU %
  • Memory %
  • DB Connections
  • R2 Storage (GB used / total)

6. Queue Health

  • Approval queue length
  • Notification queue
  • Webhook delivery queue (pending / failed)

Render Cold Start

Render Free Tier sleeps after 15 mins idle

ระบบของเรารันบน Render.com — Free plan จะ "หลับ" หลังไม่มี traffic 15 นาที

Request แรกหลังหลับใช้เวลา 30-60 วินาที ในการ wake up

วิธีแก้:

  • Upgrade Render plan (Starter $7/mo no sleep)
  • Setup Cron Ping ทุก 10 นาที (Internal Health Ping)
  • ผู้ใช้ต้องอดทนรอ ~30 วินาที ครั้งแรกของวัน

ดู Cold Start Troubleshooting

Incident Log

แสดง Incident ย้อนหลัง:

  • เริ่ม / สิ้นสุดเมื่อไหร่
  • กระทบอะไร
  • Root cause
  • Action taken

Alerts

ตั้งให้ส่ง Notification เมื่อ:

  • Service Down > 1 นาที
  • Error Rate > 5%
  • p95 latency > 3s
  • Webhook fail > 10 ครั้งติด

ส่งไปที่:

  • Email
  • Slack (ผ่าน Webhook)
  • LINE Notify

Maintenance Mode

หากต้องการ block User ชั่วคราว:

  1. กด Enable Maintenance Mode
  2. ใส่ Message (เช่น "Maintenance ระบบจะกลับมาเวลา 14:00")
  3. ทุก request จะได้ Maintenance page
  4. Admin ยัง Login ได้

External Status Page

ระบบ generate Public Status Page:

  • URL: https://status.your-wms.com (ถ้า config)
  • แสดง Service status แบบ public
  • ลูกค้า/ผู้ใช้เห็นก่อนถามมา

หน้าที่เกี่ยวข้อง

เผยแพร่ภายใต้ Digital Outsourcing