# 🔭 Observability cho người mới: log, metric và cảnh báo

By Better Wise · Generated by Everwise

Dựng log, metric và cảnh báo tối thiểu để biết sản phẩm đang lỗi ở đâu thay vì đoán mò khi người dùng báo sự cố.

- **Level:** Beginner
- **Goal:** Fundamentals
- **Language:** Vietnamese
- **Focus:** [structured logging](/courses?q=structured%20logging), [metric latency và error rate](/courses?q=metric%20latency%20v%C3%A0%20error%20rate), [cảnh báo](/courses?q=c%E1%BA%A3nh%20b%C3%A1o), [tracing cơ bản](/courses?q=tracing%20c%C6%A1%20b%E1%BA%A3n)
- **Prior knowledge:** Đã deploy một app nhỏ, Biết đọc log cơ bản
- **Practice:** Guided exercises
- **Time:** ~2.6h
- **Voice:** một on-call engineer thích kể chuyện 'lúc 3 giờ sáng không ai biết gì', dạy bằng cách dựng log và cảnh báo tối thiểu rồi mới mở rộng
- **Not covered:** Prometheus/Grafana nâng cao, thiết kế SLO chuyên sâu, phân tích log quy mô lớn

## Bạn sẽ đạt được gì

Sau khóa này, bạn sẽ có thể tự trả lời câu hỏi mà mọi on-call engineer đều sợ nhất lúc 3 giờ sáng: "Hệ thống đang chạy thế nào, và nó hỏng ở đâu?". Cụ thể, bạn sẽ làm được những việc sau:

- Viết **structured logging** với đúng các field cần có, để log không còn là những dòng text rời rạc mà là dữ liệu tra cứu được.
- Chọn **log level** hợp lý để log vừa đủ đọc, không ngập và không nhiễu.
- Phân biệt rõ **nên log gì và không nên log gì**, đặc biệt là các thông tin nhạy cảm.
- Đọc và hiểu hai **metric** cơ bản nhất: **latency** và **error rate**.
- Dựng một **dashboard** gọn với vài chỉ số đáng nhìn mỗi ngày.
- Đặt **alert** không gây mệt mỏi: cảnh báo khi thật sự cần, im lặng khi không.
- Hiểu **tracing** ở mức khái niệm và biết khi nào nó giúp ích hơn log.
- Biết cách **nhờ AI thêm log đúng chỗ** thay vì rải log khắp nơi.

Đây là khóa về fundamentals: không cần cài đặt một stack observability đồ sộ, chỉ cần dựng log và cảnh báo tối thiểu rồi mở rộng dần.

## Khóa này dành cho ai

Khóa ở mức **beginner**, dành cho người đã quen với việc đưa một app nhỏ lên chạy và đã từng đọc log ở mức cơ bản. Bạn không cần biết trước về Prometheus, Grafana hay OpenTelemetry; mọi khái niệm đều được giới thiệu từ đầu.

Điều kiện tiên quyết:

- **Đã deploy một app nhỏ** (dù chỉ chạy trên một server hay một nền tảng cloud).
- **Biết đọc log cơ bản**: mở file log hoặc log viewer và hiểu một dòng log đang nói gì.

Nếu bạn đã từng ngồi nhìn màn hình log lúc nửa đêm mà không biết bắt đầu từ đâu, khóa này được viết cho bạn.

## Lộ trình khóa học

Khóa gồm 3 module, tổng cộng 11 bài, đi từ log đến metric, rồi đến alert và tracing.

**Module 1: Log có cấu trúc và log level**

- **1.1 Structured logging**: vì sao log dạng text khó tra cứu, và những field nào nên có trong mỗi dòng log.
- **1.2 Log level**: chọn đúng mức (debug, info, warn, error) để log vừa đủ đọc, không ngập.
- **1.3 Log gì và không log gì**: ranh giới giữa thông tin hữu ích và thông tin nguy hiểm hoặc vô nghĩa.
- **1.4 Checkpoint**: bài kiểm tra nhỏ để chắc bạn nắm phần log trước khi sang metric.

**Module 2: Metric cơ bản và dashboard**

- **2.1 Metric cơ bản**: latency và error rate, hai chỉ số kể được phần lớn câu chuyện về sức khỏe hệ thống.
- **2.2 Dashboard**: dựng vài chỉ số đáng nhìn mỗi ngày, đủ để nắm tình hình trong vài giây.
- **2.3 Checkpoint**: củng cố phần metric và dashboard.

**Module 3: Alert ít nhiễu, tracing và nhờ AI thêm log**

- **3.1 Alert không gây mệt mỏi**: nguyên tắc đặt cảnh báo để mỗi alert đều đáng phải thức dậy.
- **3.2 Tracing ở mức khái niệm**: một request đi qua những đâu, và tracing giúp gì khi log một mình không đủ.
- **3.3 Nhờ AI thêm log đúng chỗ**: cách đặt câu hỏi và kiểm tra kết quả khi nhờ AI chèn log.
- **3.4 Checkpoint**: bài kiểm tra cuối, gắn kết alert, tracing và AI hỗ trợ.

## Khóa học diễn ra thế nào

Khóa được dạy bằng giọng của một on-call engineer thích kể chuyện "lúc 3 giờ sáng không ai biết gì". Mỗi khái niệm đi kèm ví dụ thực tế và bài tập ngắn để bạn tự dựng log, tự đọc metric, tự đặt alert, chứ không chỉ đọc lý thuyết.

Hình thức bài học:

- **Lý thuyết ngắn**: giải thích khái niệm bằng tình huống cụ thể, kèm ví dụ log và metric thật.
- **Bài tập có hướng dẫn**: bạn tự viết log, tự chọn level, tự đặt ngưỡng alert, có gợi ý khi cần.
- **Checkpoint quiz**: cuối mỗi module có bài kiểm tra nhỏ để bạn biết mình đã nắm chưa trước khi đi tiếp.

**Tổng thời lượng ước tính: khoảng 153 phút cho 11 bài**, tức trung bình chưa đến 15 phút mỗi bài. Bạn có thể học gọn trong hai đến ba buổi, hoặc chia nhỏ mỗi ngày một bài.

Cách học:

- **Học tuần tự** là gợi ý chính. Các module được xếp có chủ đích: log trước, metric sau, rồi mới đến alert và tracing. Bỏ qua phần đầu dễ khiến phần sau khó hiểu.
- **Có thể nhảy cóc** nếu bạn đã vững một phần. Ví dụ, nếu đã quen structured logging, bạn có thể đọc nhanh 1.1 và 1.2 rồi tập trung vào 1.3 và các module sau.
- **Làm checkpoint trước khi đi tiếp** để chắc bạn không mang lỗ hổng sang module sau.

Mục tiêu cuối khóa không phải là dựng một hệ thống giám sát hoàn hảo, mà là biết đặt những thứ tối thiểu đúng chỗ: log đủ đọc, metric đủ nhìn, alert đủ tin. Từ đó, mọi thứ phức tạp hơn đều có nền để mở rộng.

## Contents

- **📝 Log có cấu trúc và log level**
  - [🧱 Structured logging: log có cấu trúc và các field cần có](https://everwise.study/courses/observability-cho-nguoi-moi-log-metric-va-canh-bao/structured-logging-va-cac-field-can-co.md)
  - [🎚️ Log level: chọn đúng mức để không ngập log](https://everwise.study/courses/observability-cho-nguoi-moi-log-metric-va-canh-bao/log-level-chon-dung-muc.md) (sign-in required)
  - [🚫 Log gì và không log gì](https://everwise.study/courses/observability-cho-nguoi-moi-log-metric-va-canh-bao/log-gi-va-khong-log-gi.md)
  - [✅ Checkpoint: Log có cấu trúc và log level](https://everwise.study/courses/observability-cho-nguoi-moi-log-metric-va-canh-bao/checkpoint-log-co-cau-truc-va-log-level.md)
- **📊 Metric cơ bản và dashboard**
  - [⏱️ Metric cơ bản: latency và error rate](https://everwise.study/courses/observability-cho-nguoi-moi-log-metric-va-canh-bao/metric-co-ban-latency-va-error-rate.md)
  - [🖥️ Dashboard: vài chỉ số đáng nhìn mỗi ngày](https://everwise.study/courses/observability-cho-nguoi-moi-log-metric-va-canh-bao/dashboard-vai-chi-so-dang-nhin.md)
  - [✅ Checkpoint: Metric cơ bản và dashboard](https://everwise.study/courses/observability-cho-nguoi-moi-log-metric-va-canh-bao/checkpoint-metric-co-ban-va-dashboard.md)
- **🔔 Alert ít nhiễu, tracing và nhờ AI thêm log**
  - [🚨 Alert không gây mệt mỏi](https://everwise.study/courses/observability-cho-nguoi-moi-log-metric-va-canh-bao/alert-khong-gay-met-moi.md)
  - [🧵 Tracing ở mức khái niệm](https://everwise.study/courses/observability-cho-nguoi-moi-log-metric-va-canh-bao/tracing-o-muc-khai-niem.md)
  - [🤖 Nhờ AI thêm log đúng chỗ](https://everwise.study/courses/observability-cho-nguoi-moi-log-metric-va-canh-bao/nho-ai-them-log-dung-cho.md) (premium content)
  - [✅ Checkpoint: Alert, tracing và AI hỗ trợ](https://everwise.study/courses/observability-cho-nguoi-moi-log-metric-va-canh-bao/checkpoint-alert-tracing-va-ai-ho-tro.md) (premium content)
- [Course cheatsheet](https://everwise.study/courses/observability-cho-nguoi-moi-log-metric-va-canh-bao/cheatsheet.md) (premium content)
