Lợi nhuận:
- Khả năng hiểu ba trụ cột về khả năng quan sát (số liệu, nhật ký, dấu vết) và bốn tín hiệu vàng, đồng thời có trí tuệ nhân tạo tạo ra các truy vấn PromQL, quy tắc cảnh báo và bảng điều khiển
- Khả năng ngăn chặn sự mệt mỏi của cảnh báo bằng cách giữ cảnh báo theo hướng hành động, ở mức khẩn cấp phù hợp và ngưỡng kiểm tra dựa trên dữ liệu lịch sử của hệ thống của bạn
- Khả năng ngăn chặn sự riêng tư và rò rỉ bí mật bằng cách che các khu vực nhạy cảm trước khi đưa nhật ký cho trí tuệ nhân tạo
Mặc dù hệ thống có vẻ đang hoạt động nhưng bên trong nó có thể đang chết dần: bộ nhớ dần đầy, thời gian phản hồi tăng lên, tỷ lệ lỗi tăng lên. Cách duy nhất để nhận thấy điều này là liên tục theo dõi hệ thống. Một khái niệm nâng cao hơn là khả năng quan sát: khả năng hiểu những gì đang diễn ra bên trong hệ thống bằng cách nhìn vào các dấu hiệu bên ngoài của nó. Có ba trụ cột về khả năng quan sát và chuyên gia DevOps sử dụng cả ba trụ cột:
- Số liệu: Các giá trị số được đo theo thời gian - mức sử dụng CPU, số lượng yêu cầu, thời gian phản hồi, tỷ lệ lỗi. "Bao nhiêu?" trả lời câu hỏi.
- Nhật ký: Bản ghi sự kiện văn bản do hệ thống tạo ra—"người dùng đã đăng nhập", "mất kết nối cơ sở dữ liệu". "Chính xác thì chuyện gì đã xảy ra?" trả lời câu hỏi.
- Dấu vết: Đường dẫn mà yêu cầu đi theo trong khi chuyển từ dịch vụ này sang dịch vụ khác trong hệ thống và thời lượng của mỗi bước. “Chậm ở đâu?” trả lời câu hỏi.
Các công cụ phổ biến nhất: Prometheus cho số liệu, Grafana để trực quan hóa, Loki/ELK cho nhật ký, Jaeger/OpenTelemetry cho dấu vết. AI rất thành thạo trong việc viết các ngôn ngữ truy vấn (đặc biệt là PromQL của Prometheus), quy tắc cảnh báo và cấu hình bảng điều khiển cho các công cụ này. Đó cũng là nơi AI hoạt động mạnh nhất: tóm tắt một lượng lớn nhật ký và số liệu cũng như gắn cờ các điểm bất thường.
Hãy làm rõ sự khác biệt giữa giám sát và khả năng quan sát trong một câu: giám sát là hỏi những câu hỏi mà bạn đã biết (“CPU có vượt quá 90% không?”); khả năng quan sát là khả năng đặt những câu hỏi mà bạn chưa biết ("tại sao sự chậm chạp kỳ lạ này chỉ xảy ra với một khách hàng nhất định tại một thời điểm nhất định?"). Các hệ thống hiện đại phức tạp đến mức bạn không thể dự đoán được tất cả các dạng lỗi; Do đó, khả năng thu thập các số liệu, nhật ký và dấu vết phong phú, sau đó truy vấn chúng một cách chuyên sâu — tức là khả năng quan sát — trở nên quan trọng. Đây là lúc AI phát huy tác dụng khi trả lời "câu hỏi chưa biết trước đó": nó nhanh chóng quét dữ liệu thô mà bạn có, đề xuất các mẫu và điểm bất thường, đồng thời bạn tìm ra nguyên nhân cốt lõi bằng cách xác minh những manh mối này.
Từng bước: giám sát cái gì và như thế nào?
- Chọn số liệu phù hợp. Trong ngành, "bốn tín hiệu vàng" được lấy làm cơ sở: độ trễ, lưu lượng truy cập, lỗi, độ bão hòa - mức độ đầy đủ của tài nguyên. Những điều này tóm tắt tình trạng của hầu hết các dịch vụ.
- Thu thập số liệu. Hãy để ứng dụng hiển thị điểm cuối mà Prometheus có thể đọc được.
- Thiết lập bảng điều khiển. Trực quan hóa các số liệu này trong Grafana.
- Viết quy tắc báo động. Ai sẽ được cảnh báo khi vượt quá ngưỡng và bằng cách nào?
- Tập trung nhật ký. Làm cho tất cả nhật ký dịch vụ có thể tìm kiếm được ở một nơi.
- Giảm tiếng ồn. Quá nhiều báo động sẽ tạo ra “sự mệt mỏi vì cảnh báo”; Báo thức quan trọng biến mất.
Mẹo: Một cảnh báo tốt đáp ứng hai điều kiện: có thể thực hiện được và có mức độ khẩn cấp phù hợp. Chuông báo thức đánh thức ai đó lúc 3 giờ sáng phải là thứ thực sự cần sự can thiệp vào ban đêm. Đừng đánh thức bất kỳ ai vì thứ gì đó không yêu cầu hành động riêng, chẳng hạn như "CPU 70%"; bày nó lên bảng.
Làm thế nào để viết một quy tắc báo động?
Cảnh báo bao gồm ba thành phần: điều kiện (chỉ số nào vượt quá ngưỡng nào và trong bao lâu), thời lượng (“trong 5 phút” để tránh gây ra biến động nhất thời) và tầm quan trọng/hành động (đối với ai, thông qua kênh nào). AI thiết lập thành thạo ba điều này với bối cảnh phù hợp. Ví dụ: dịch một quy tắc như “cảnh báo nghiêm trọng nếu tỷ lệ lỗi vượt quá 5% trong 5 phút” sang PromQL là một nhiệm vụ trong tích tắc đối với AI — nhưng bạn quyết định xem ngưỡng có phù hợp với hệ thống của mình hay không.
Thận trọng: Ngưỡng cảnh báo do AI đề xuất chỉ là giả định chung. Tải trọng bình thường, khả năng chịu đựng và tác động công việc của hệ thống của bạn là khác nhau. Trước khi đặt ngưỡng trực tiếp vào sản phẩm, bạn hãy xem dữ liệu lịch sử của mình và hỏi "ngưỡng này đã được kích hoạt bao nhiêu lần trong quá khứ, bao nhiêu trong số đó là vấn đề thực sự?" Trả lời câu hỏi.
Quyền riêng tư của nhật ký: cảnh báo quan trọng
Nhật ký là nguồn rò rỉ thường bị bỏ qua nhất. Dòng nhật ký có thể vô tình chứa mật khẩu, số thẻ tín dụng hoặc dữ liệu cá nhân (theo KVKK/GDPR). Khi dán nhật ký vào AI để phân tích:
- Che dấu những vùng nhạy cảm. Thay thế các giá trị như token, mật khẩu, email, số ID bằng <REDACTED>.
- Đưa ra ví dụ, không phải tất cả. Thay vì một triệu dòng, thường chỉ vài trăm dòng đại diện là đủ.
- Chọn một chiếc xe được tổ chức phê duyệt. Đặc biệt đối với nhật ký sản xuất, hãy sử dụng công cụ có dữ liệu không được đào tạo.
Bốn tín hiệu vàng và bảng báo động
tín hiệu
đo bằng
Ngưỡng cảnh báo ví dụ
sự cấp bách
độ trễ
thời gian đáp ứng
p95 > 800 ms, 5 phút
cao
giao thông
Yêu cầu/giây
Tăng/giảm đột ngột 300%
trung bình
Lỗi
Tỷ lệ yêu cầu không thành công
> 5%, 5 phút
quan trọng
Độ bão hòa
chiếm dụng tài nguyên
Đĩa > 85%
cao
ba trường hợp nhỏ
Trường hợp 1 - 400 dòng nhật ký được tóm tắt trong 30 giây. Một dịch vụ đã bị chậm lại. Người kỹ sư đã đưa 400 dòng nhật ký được che giấu cho AI và nói: “Tóm tắt các kiểu lỗi lặp lại và cường độ thời gian”. AI cho thấy rằng một lệnh gọi API bên ngoài cụ thể sẽ hết thời gian sau mỗi 30 giây. Nguyên nhân cốt lõi được tìm thấy trong 30 giây; Quét nhật ký theo cách thủ công sẽ mất nửa giờ.
Trường hợp 2 - sự mệt mỏi báo động đã được giải quyết. Một nhóm nhận được 200 cảnh báo mỗi ngày và đã bỏ qua tất cả chúng — cho đến khi một cảnh báo ngừng hoạt động thực sự cũng bị bỏ qua. Cung cấp cho AI tất cả các quy tắc cảnh báo và hỏi "những quy tắc nào không thể thực hiện được và những quy tắc nào có thể được kết hợp?" họ hỏi. Số lần báo động giảm xuống còn 12 lần mỗi ngày; Mọi báo động bây giờ đều được thực hiện nghiêm túc.
Trường hợp 3 - sai ngưỡng được phát hiện sớm. YZ đề xuất "Cảnh báo khi đầy 95%" cho đĩa. Người kỹ sư đã xem xét dữ liệu lịch sử: một khi đĩa đạt 95% thì sẽ có rất ít thời gian để can thiệp. Nó hạ ngưỡng xuống 80% và thêm cảnh báo thứ hai dựa trên “tốc độ tăng trưởng”. Việc xác minh đã ngăn chặn tình trạng mất điện thực tế vào nửa đêm.
Bốn mẫu có thể sao chép
1) Tóm tắt nhật ký (ẩn):
Phân tích ví dụ nhật ký bên dưới (Tôi đã che các giá trị nhạy cảm bằng <REDACTED>). Hãy cung cấp cho tôi: (1) các mẫu lỗi lặp lại, (2) sự tập trung theo thời gian, (3) nguyên nhân cốt lõi rất có thể và (4) 3 số liệu tôi sẽ xem xét để xác minh. Nhật ký: [DÒNG]
2) Tạo quy tắc cảnh báo:
Viết quy tắc cảnh báo cho Prometheus/Alertmanager: Tạo cảnh báo [SEVERITY] nếu [THRESHOLD] vượt quá [METRIC][DUration]. Quy tắc phải hướng đến hành động và bao gồm chú thích và trường liên kết sổ chạy. Giải thích PromQL và viết tại sao ngưỡng này lại hợp lý.
3) Viết/khai báo truy vấn PromQL:
Viết truy vấn PromQL đo: [EX. Tỷ lệ phần trăm lỗi 5xx trong 5 phút qua]. Giải thích truy vấn từng bước. Sau đó, hãy cho tôi biết phạm vi lành mạnh cho giá trị này là bao nhiêu.
4) Thiết kế bảng điều khiển:
Thiết kế bảng điều khiển Grafana cho [SERVICE]: tôi nên hiển thị bốn tín hiệu vàng (độ trễ, lưu lượng truy cập, lỗi, độ bão hòa) với bảng nào? Đề xuất số liệu, loại trực quan hóa và ngưỡng hợp lý cho mỗi bảng. Mục đích: xem tình trạng sức khỏe của người bảo vệ trong 10 giây.
Dấu nhắc yếu / Dấu nhắc mạnh
Yếu: "Có gì trong nhật ký đó?" (tiếp theo là 5000 dòng nhật ký thô, mã thông báo trong đó)
Kết quả: bạn làm rò rỉ bí mật và AI đưa ra một bản tóm tắt hời hợt, không có mục tiêu.
Mạnh: "Tìm các mẫu lỗi định kỳ và cường độ thời gian trong ví dụ về nhật ký bị che 300 dòng bên dưới; cho tôi biết nguyên nhân gốc rễ có khả năng xảy ra nhất và số liệu mà tôi sẽ xem xét để xác minh. Tôi đã tạo mã thông báo <ĐÃ GIẤU>."
Sự khác biệt: lời nhắc thứ hai đưa ra một ví dụ được che đậy và tập trung, yêu cầu kết quả phân tích rõ ràng; Nó vừa an toàn vừa hữu ích.
Những lỗi thường gặp
- Dán nhật ký vào AI mà không che giấu nó. Rò rỉ dữ liệu cá nhân/bí mật phổ biến nhất.
- Đặt báo thức cho mọi thứ. Sự mệt mỏi của báo động chôn vùi báo động thực sự.
- Báo động không thể hành động. Đó là tiếng ồn cảnh báo mà không ai có thể làm gì được.
- Chấp nhận ngưỡng của AI mà không cần thắc mắc. Ngưỡng phải được đặt theo lịch sử hệ thống của bạn.
- Chỉ cần nhìn vào số liệu. Nếu không có nhật ký và dấu vết, hầu hết mọi trường hợp đều không thể tìm ra nguyên nhân gốc rễ.
- Không đặt thời gian báo thức (cho). Biến động nhất thời tạo ra báo động sai.
Tóm lại
Khả năng quan sát; Đó là khả năng hiểu bên trong hệ thống từ bên ngoài bằng các số liệu, nhật ký và dấu vết. Bốn tín hiệu vàng (độ trễ, lưu lượng truy cập, lỗi, độ bão hòa) tóm tắt tình trạng của hầu hết các dịch vụ. AI rất mạnh mẽ trong việc viết các truy vấn PromQL, quy tắc cảnh báo và bảng điều khiển cũng như trong việc tóm tắt các khối nhật ký lớn và tìm ra các điểm bất thường. Tuy nhiên, bạn có trách nhiệm xác minh ngưỡng cảnh báo dựa trên lịch sử hệ thống của chính mình, giữ cảnh báo theo hướng hành động và không bao giờ chia sẻ nhật ký mà không che giấu chúng.
Nhiệm vụ ứng dụng
Đối với một dịch vụ (hoặc dịch vụ mẫu): (1) Tạo quy tắc cảnh báo cho tỷ lệ lỗi bằng mẫu "Tạo quy tắc cảnh báo" và đặt ngưỡng đề xuất thành "nó đã kích hoạt bao nhiêu lần trong quá khứ?" Kiểm tra nó bằng câu hỏi; (2) che giấu mẫu nhật ký bạn có và phân tích mẫu đó bằng mẫu "Tóm tắt nhật ký"; (3) lưu ý số liệu nào bạn sẽ xem xét để xác nhận nguyên nhân gốc rễ có thể xảy ra nhất.
danh sách kiểm tra
- [ ] Tôi đã chọn số liệu để theo dõi dựa trên bốn tín hiệu vàng.
- [ ] Tôi đã che giấu tất cả nhật ký mà tôi cung cấp cho AI về các khu vực nhạy cảm.
- [ ] Tôi đã xác minh rằng mỗi báo động đều hướng tới hành động và có mức độ khẩn cấp chính xác.
- [ ] Tôi đã kiểm tra ngưỡng cảnh báo dựa trên dữ liệu lịch sử của hệ thống.
- [ ] Tôi đã lọc các biến động tức thời bằng cách thêm (thời lượng) vào các cảnh báo.
- [ ] Tôi đã sử dụng số liệu + nhật ký + theo dõi cùng nhau để tìm ra nguyên nhân gốc rễ.