Giới thiệu Nightwatch: Trợ lý AI SRE mã nguồn mở giúp điều tra nguyên nhân gốc rễ sự cố

Phần mềm07 tháng 6, 2026·5 phút đọc

Nightwatch là một công cụ AI SRE mã nguồn mở hoạt động theo chế độ chỉ đọc, giúp biến "cơn bão cảnh báo" thành các sự cố cụ thể và điều tra nguyên nhân gốc rễ. Hệ thống sử dụng tác nhân AI để thu thập bằng chứng từ các hệ thống trực tiếp như Kubernetes hay Docker, đề xuất các phương án khắc phục mà không can thiệp vào môi trường sản xuất.

Giới thiệu Nightwatch: Trợ lý AI SRE mã nguồn mở giúp điều tra nguyên nhân gốc rễ sự cố

Giới thiệu Nightwatch: Trợ lý AI SRE mã nguồn mở giúp điều tra nguyên nhân gốc rễ sự cố

License Apache 2.0License Apache 2.0 DiscordDiscord Python 3.11+Python 3.11+

Nightwatch (hay còn gọi là ninoxAI) là một giải pháp AI SRE (Site Reliability Engineering) mã nguồn mở, được thiết kế để hoạt động như một lớp bao phủ chỉ đọc (read-only) trên hệ thống giám sát của bạn. Công cụ này giúp biến hàng loạt cảnh báo hỗn loạn thành các sự cố rõ ràng, tự động điều tra nguyên nhân gốc rễ và đề xuất các phương án khắc phục dành cho con người phê duyệt.

Vấn đề: Cơn bão cảnh báo lúc 3 giờ sáng

Bất kỳ kỹ sư trực chiến (on-call engineer) nào cũng từng trải qua cảm giác hoảng loạn khi hệ thống gặp sự cố nghiêm trọng vào giữa đêm. Thay vì một sự cố duy nhất, bạn nhận được hàng chục cảnh báo từ nhiều công cụ khác nhau. Bạn mất phần lớn thời gian chỉ để xác định xem cái gì thực sự bị hỏng và ở đâu, thay vì tập trung vào việc sửa chữa.

Nightwatch ra đời chính từ trải nghiệm thực tế này sau một lần nâng cấp Kubernetes thất bại, khi mà việc rollback không còn khả thi và đội ngũ kỹ sư phải sửa chữa trực tiếp trên hệ thống đang chạy dưới áp lực cực lớn.

Tính năng nổi bật

Nightwatch hoạt động độc lập với các công cụ giám sát hiện có và mang lại những khả năng mạnh mẽ:

  • Gom nhóm sự cố (Incidents): Thay vì bị tấn công bởi hàng chục trang báo cáo cho một lỗi duy nhất, Nightwatch gom nhóm các cảnh báo dựa trên máy chủ, dịch vụ, mức độ nghiêm trọng và khung thời gian. Nó cung cấp cái nhìn tổng quan: "Một sự cố, được xác nhận bởi N công cụ".
  • Phát hiện kiểm tra gây nhiễu: Công cụ tự động đánh dấu các cảnh báo "flapping" (chập chờn), quá nhạy cảm hoặc chưa từng được xử lý, giúp giảm thiểu mệt mỏi cho cảnh báo (alert fatigue).
  • Điều tra nguyên nhân gốc rễ bằng AI: Đây là tính năng chủ lực. Một tác nhân AI sử dụng khả năng gọi công cụ (tool-calling) để đọc dữ liệu trực tiếp từ hệ thống sống, từ đó hình thành giả thuyết về nguyên nhân gốc rễ.
  • Đề xuất phương án khắc phục: Nightwatch đưa ra các lệnh sửa chữa có thể sao chép, được phân loại theo rủi ro và phạm vi ảnh hưởng để con người quyết định.

Thiết kế "Chỉ đọc" và An toàn

Một trong những điểm mạnh nhất của Nightwatch là triết lý Read-only by design (Chỉ đọc theo thiết kế).

"Cú quan sát; con người quyết định."

Công cụ này chỉ quan sát, lập luận và đề xuất — nó không bao giờ thực thi bất kỳ lệnh nào. Không có lệnh nào được chạy, không có cảnh báo nào được tự động xác nhận (ack), và không có thay đổi nào được ghi ngược lại vào môi trường sản xuất. Mọi phương án sửa chữa đều là một bản nháp mà con người cần phê duyệt trước khi áp dụng.

Kiến trúc "Quốc hội của những chú cú"

Để đảm bảo tính bảo mật và khả năng mở rộng, Nightwatch sử dụng kiến trúc phân tán với các "runner" được gọi là những chú cú (ninox).

  • Bộ não trung tâm (Brain): Quản lý dashboard, API, sự cố và điều tra viên AI.
  • Ninox Runner: Một tác nhân nhẹ, chỉ thực hiện kết nối hướng ra ngoài (outbound only), sống ngay trong môi trường của bạn (cluster Kubernetes, Docker, AWS, on-prem). Nó giữ thông tin đăng nhập cục bộ và quay số về bộ não trung tâm.

Điều này có nghĩa là bạn không cần mở bất kỳ cổng inbound nào vào tường lửa sản xuất, giảm thiểu tối đa bề mặt tấn công.

Boundary read only successBoundary read only success

Bảo mật và Riêng tư dữ liệu

Nightwatch được xây dựng với tâm thế ưu tiên dữ liệu cục bộ (local-first).

  • Tự host dễ dàng: Bạn có thể chạy hoàn toàn ngoại tuyến (offline) cho các tính năng gom nhóm và đề xuất mà không cần bất kỳ LLM nào.
  • Làm sạch dữ liệu: Trước khi gửi dữ liệu đến các LLM từ xa (như OpenAI hay Anthropic), Nightwatch sẽ tự động loại bỏ các bí mật thực tế (không thể khôi phục) và thay thế các định danh như IP, hostname, đường dẫn bằng các trình giữ chỗ có thể đảo ngược. Mô hình AI chỉ nhìn thấy dữ liệu đã được che giấu, các giá trị thực chỉ được khôi phục trong các lệnh đề xuất.

Khởi đầu nhanh

Bạn có thể thử nghiệm Nightwatch chỉ trong 60 giây mà không cần API key hay kết nối mạng:

cp .env.example .env          # Thiết lập NINOXAI_SECRET_KEY
docker compose up --build     # Truy cập http://127.0.0.1:8765

Nếu không có hệ thống giám sát trực tiếp, bạn có thể tạo dữ liệu giả lập để xem cách công cụ xử lý nhiễu:

docker compose exec ninoxai ninoxai generate-mocks
docker compose exec ninoxai ninoxai import data/mock_alerts.json
docker compose exec ninoxai ninoxai reprocess

Tương tác và Mở rộng

Nightwatch hỗ trợ nhiều nguồn dữ liệu phổ biến thông qua các bộ chuyển đổi chỉ đọc:

  • Checkmk, Prometheus Alertmanager, Icinga2, Zabbix.
  • Docker, Kubernetes, AWS, Grafana, GitHub, Git.

Ngoài ra, dự án cũng cho phép mở rộng thông qua các plugin Python hoặc giao thức runner để kết nối với các công cụ khác như Jira, Sentry hay Postgres.

Nightwatch được phát hành dưới giấy phép Apache License 2.0, hoàn toàn miễn phí để sử dụng, tự host và phát triển tiếp. Đây là một công cụ hứa hẹn sẽ trở thành trợ thủ đắc lực cho các đội ngũ DevOps và SRE hiện đại.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗