T
Trinh Digital
Xây dựng Hệ thống

Server Monitoring: Tại sao bạn cần biết server gặp vấn đề TRƯỚC khách hàng

Trinh Digital · · 9 phút đọc

Giám sát server (server monitoring) là kỹ thuật theo dõi liên tục tình trạng sức khỏe của server và website — để bạn biết có vấn đề TRƯỚC khi khách hàng, đối tác, hoặc Google phát hiện. Theo khảo sát của Datadog (2025), 65% SME phát hiện sự cố website nhờ khách hàng báo — nghĩa là website đã sập 15–60 phút trước khi team IT biết. Mỗi phút downtime không phát hiện là mỗi phút mất khách, mất tiền, và mất uy tín.

Bài viết này giải thích tại sao monitoring quan trọng, cần monitor những gì, và cách bắt đầu với chi phí 0 đồng.

Tại sao cần giám sát server?

Kịch bản 1: Không có monitoring

3:00 AM — Server hết dung lượng disk → website sập
3:00 AM → 8:00 AM — Không ai biết
8:30 AM — Nhân viên kinh doanh gọi: "Website không vào được"
8:45 AM — IT kiểm tra, phát hiện disk full
9:15 AM — Xóa log files, giải phóng disk
9:30 AM — Website hoạt động lại

→ Downtime: 6.5 giờ
→ Thiệt hại: Mất đơn hàng buổi sáng, SEO ranking giảm

Kịch bản 2: Có monitoring

3:00 AM — Monitoring alert: "Disk usage 90%"
3:01 AM — SMS + Telegram gửi đến sysadmin
3:15 AM — Sysadmin SSH vào, dọn log cũ, setup log rotation
3:30 AM — Disk usage giảm về 45%

→ Downtime: 0
→ Thiệt hại: 0 (phát hiện trước khi thành sự cố)

Chi phí downtime cho SME

Quy mô doanh thuDowntime 1 giờDowntime 1 ngày
500 triệu/tháng~700.000 VND~17 triệu VND
1 tỉ/tháng~1.4 triệu VND~33 triệu VND
5 tỉ/tháng~7 triệu VND~167 triệu VND
10 tỉ/tháng~14 triệu VND~333 triệu VND

Chưa tính: mất khách hàng vĩnh viễn, SEO ranking giảm, uy tín thương hiệu

Cần giám sát những gì?

1. Uptime/Availability (website sống hay chết)

Đây là monitoring cơ bản nhất — kiểm tra website có truy cập được không, mỗi 1–5 phút.

ToolMiễn phí?Tần suất checkAlert channels
UptimeRobot50 monitors free5 phútEmail, SMS, Telegram, Slack
UpptimeMã nguồn mở5 phútGitHub Issues
Freshping50 monitors free1 phútEmail, Slack
PingdomTrial1 phútSMS, Email

2. Server Resources (CPU, RAM, Disk)

MetricNgưỡng cảnh báoNgưỡng nguy hiểmCông cụ
CPU usage> 70% sustained> 90%htop, Grafana
RAM usage> 80%> 95%free -m, Grafana
Disk usage> 80%> 95%df -h, Grafana
Disk I/O> 80% capacity> 95%iostat, Grafana
Network> 80% bandwidth> 95%vnstat, Grafana

3. Application Metrics

MetricÝ nghĩaNgưỡng tốt
Response timeThời gian server trả response< 500ms
Error rate% requests trả lỗi (5xx)< 0.1%
ThroughputRequests xử lý/giâyTùy capacity
Active connectionsSố kết nối đang hoạt động< max_connections

4. Database Metrics

MetricÝ nghĩaCảnh báo khi
ConnectionsSố kết nối đang mở> 80% max_connections
Slow queriesQuery chạy > 1 giây> 10 queries/phút
Replication lagReplica chậm hơn primary> 10 giây
Table locksBảng bị khóaBất kỳ lock > 5 giây
Buffer pool hit ratio% đọc từ cache< 95%

5. SSL Certificate

Kiểm traTần suấtAlert khi
SSL expiryHàng ngàyCòn < 14 ngày
SSL gradeHàng tuầnGrade < A
Mixed contentHàng tuầnCó HTTP trong HTTPS

6. Business Metrics (tùy chọn nhưng quan trọng)

MetricÝ nghĩa
Đơn hàng/giờAlert nếu đột nhiên giảm 50%
Đăng ký mới/giờAlert nếu = 0 (form có thể hỏng)
Payment success rateAlert nếu < 90% (payment gateway lỗi)
Search queries/phútAlert nếu = 0 (search engine down)

Kiến trúc monitoring cơ bản cho SME

Stack khuyến nghị (miễn phí)

UptimeRobot (external uptime check)

Prometheus (thu thập metrics từ server)

Grafana (dashboard visualization)

Alerting → Telegram / Email / SMS

Tầng 1: External monitoring (UptimeRobot)

Kiểm tra từ bên ngoài — nếu server sập hoàn toàn, vẫn nhận được alert vì UptimeRobot chạy trên cloud riêng.

Tầng 2: Internal monitoring (Prometheus + Node Exporter)

Thu thập metrics chi tiết từ server: CPU, RAM, disk, network, MySQL, Nginx.

Tầng 3: Visualization (Grafana)

Dashboard hiển thị tất cả metrics real-time, giúp nhanh chóng xác định nguyên nhân khi có sự cố.

Tầng 4: Alerting

Gửi cảnh báo qua nhiều kênh khi metrics vượt ngưỡng.

Alerting: Nghệ thuật cảnh báo đúng lúc

Alert fatigue — khi quá nhiều alert

Nếu bạn gửi 50 alerts/ngày, team sẽ bỏ qua tất cả — kể cả alert quan trọng. Đây gọi là alert fatigue.

Phân loại alert

Mức độKênh thông báoThời gian phản hồiVí dụ
CriticalSMS + Phone call + Telegram< 5 phútWebsite sập, database down
WarningTelegram + Email< 30 phútCPU > 80%, disk > 85%
InfoEmail (daily digest)< 24 giờSSL sắp hết hạn, update available

Quy tắc alert tốt

  1. Actionable: Mỗi alert phải đi kèm hành động cụ thể
  2. Relevant: Chỉ alert cho người có thể xử lý
  3. Timely: Alert đúng lúc (không quá sớm, không quá trễ)
  4. Non-duplicate: Không gửi cùng alert 10 lần
  5. Escalation: Nếu không ai xử lý sau 15 phút → escalate lên cấp cao hơn

Escalation policy

Phút 0:    Alert gửi Telegram cho on-call engineer
Phút 5:    Nếu chưa acknowledge → SMS
Phút 15:   Nếu chưa resolve → Alert gửi team lead
Phút 30:   Nếu chưa resolve → Alert gửi CTO/CEO

Dashboard mẫu cho SME

Dashboard 1: Overview

PanelMetricVisualization
Uptime30 ngày uptime %Single stat (xanh/đỏ)
Response timeP50, P95, P99Line graph
Error rate5xx errors/phútLine graph
Active usersConcurrent usersSingle stat

Dashboard 2: Server Health

PanelMetricVisualization
CPUUsage %Gauge (0–100%)
RAMUsed/TotalGauge
DiskUsage %Gauge
NetworkIn/Out bandwidthArea chart

Dashboard 3: Application

PanelMetricVisualization
Requests/secThroughputLine graph
Response time distributionHistogramHeatmap
Top 10 slow endpointsAvg response timeTable
Error logRecent 5xx errorsLog panel

Monitoring không chỉ là công cụ — là quy trình

Quy trình Incident Response

  1. Detect: Monitoring phát hiện sự cố → alert
  2. Acknowledge: On-call engineer xác nhận đang xử lý
  3. Diagnose: Xem dashboard, log để xác định root cause
  4. Fix: Thực hiện fix (restart service, scale up, rollback)
  5. Verify: Xác nhận sự cố đã được giải quyết
  6. Postmortem: Phân tích nguyên nhân gốc, tạo action items

On-call rotation

Nếu team > 2 người, nên có lịch trực:

  • Tuần 1: Developer A on-call
  • Tuần 2: Developer B on-call
  • Luôn có secondary on-call (backup)

FAQ — Câu hỏi thường gặp

Chi phí monitoring bao nhiêu?

Monitoring cơ bản: 0 đồng (UptimeRobot free + Grafana + Prometheus đều open source). Chi phí chỉ là thời gian setup (~4 giờ). Managed monitoring (Datadog, New Relic): từ 500.000–5.000.000 VND/tháng. Cho SME, self-hosted stack miễn phí là đủ.

Monitoring có làm server chậm không?

Prometheus + Node Exporter sử dụng < 1% CPU và < 50MB RAM. Hoàn toàn không ảnh hưởng performance. External monitoring (UptimeRobot) không chạy trên server của bạn nên 0% impact.

Tôi chỉ có 1 website nhỏ, cần monitoring không?

Cần. UptimeRobot miễn phí, setup 5 phút, cho bạn biết ngay khi website sập. Đây là minimum monitoring mà mọi website phải có. Nếu website tạo doanh thu (dù chỉ 1 đồng), bạn cần biết khi nào nó sập.

Nên tự setup hay thuê dịch vụ?

Tự setup nếu: có developer/sysadmin trong team, muốn tiết kiệm chi phí. Thuê dịch vụ nếu: không có IT, muốn monitoring 24/7 với response team. Trinh Digital cung cấp dịch vụ monitoring 24/7 với SLA response time < 15 phút.

Monitoring khác logging như thế nào?

Monitoring: theo dõi metrics (CPU, RAM, response time) → phát hiện vấn đề. Logging: ghi lại chi tiết sự kiện (request, error, user action) → chẩn đoán nguyên nhân. Cần cả hai: monitoring để biết CÓ vấn đề, logging để biết VÌ SAO.

Kết luận

Server monitoring không phải “nice to have” — đó là bảo hiểm cho doanh nghiệp số. Chi phí setup gần 0, nhưng giá trị phòng ngừa có thể tiết kiệm hàng trăm triệu đồng. Bắt đầu với UptimeRobot (5 phút setup), sau đó mở rộng dần với Prometheus + Grafana khi cần.

Nếu bạn cần hỗ trợ setup monitoring chuyên nghiệp hoặc xây dựng hệ thống với giám sát 24/7, hãy liên hệ Trinh Digital.

#monitoring#alerting#server#uptime
Chia sẻ: Z

Sẵn sàng chuyển đổi số cùng Trinh Digital?

Liên hệ ngay để nhận tư vấn miễn phí. Đội ngũ chuyên gia sẽ phân tích nhu cầu và đề xuất giải pháp tối ưu.

Zalo