0

[Open Source] #247 - catpaw: Agent giám sát "Virtual SRE" với kiến trúc Go, cơ chế AI Tool-calling và giao thức điều phối tri thức MCP

Trong quản trị hạ tầng quy mô lớn, việc nhận cảnh báo (Alerting) chỉ là bước khởi đầu; công việc tiêu tốn nhiều thời gian nhất của kỹ sư SRE chính là phân tích nguyên nhân gốc (Root Cause Analysis - RCA). catpaw ra đời như một cuộc cách mạng trong lĩnh vực giám sát, kết hợp giữa các bộ lọc truyền thống bền bỉ của Go và khả năng suy luận sắc bén của AI. Thay vì chỉ gửi về một dòng thông báo khô khan, catpaw đóng vai trò là một trợ lý ảo túc trực 24/7, tự động thực thi các lệnh kiểm tra hệ thống và trả về bản báo cáo chẩn đoán chuyên sâu ngay khi sự cố vừa nhen nhóm.

Dưới góc độ kỹ thuật, catpaw là một minh chứng xuất sắc về việc ứng dụng kỹ thuật AI Function Calling, kiến trúc Plugin-centric và giao thức Model Context Protocol (MCP) để hiện thực hóa kỷ nguyên tự động hóa vận hành.

Github: https://github.com/flashcat-cloud/catpaw


🛠️ 1. Nền tảng công nghệ: Hiệu năng thực thi và Trí tuệ nhân tạo

catpaw tận dụng ưu thế của ngôn ngữ hệ thống kết hợp với các mô hình ngôn ngữ lớn (LLM) hiện đại:

  • Logic Core (Golang): Toàn bộ Agent được viết bằng Go, cho phép biên dịch thành một file thực thi duy nhất (Static Binary) cực nhẹ, không phụ thuộc thư viện hệ thống và có thể triển khai tức thì trên Linux, Windows, macOS.
  • Agentic Kernel (LLM Orchestration): Hỗ trợ đa dạng "bộ não" từ OpenAI, AWS Bedrock cho đến các AI Gateway nội bộ. Hệ thống tích hợp cơ chế Model Failover, tự động chuyển đổi mô hình dự phòng nếu mô hình chính gặp sự cố hoặc bị giới hạn tần suất.
  • Knowledge Orchestration (MCP): Tích hợp giao thức Model Context Protocol, cho phép AI truy xuất thêm ngữ cảnh từ các nguồn dữ liệu bên thứ ba như Prometheus, Jaeger hoặc CMDB để tăng độ chính xác cho chẩn đoán.
  • Configuration Architecture: Sử dụng định dạng TOML phân cấp, hỗ trợ cơ chế gộp cấu hình (partials), giúp quản trị viên dễ dàng quản lý hàng nghìn quy tắc giám sát một cách ngăn nắp.

🏗️ 2. Trụ cột kiến trúc: Tách biệt Giám sát và Chẩn đoán (AI-RCA)

Kiến trúc của catpaw được thiết kế để tối ưu hóa chi phí và tính phản ứng:

  • Detection-Diagnosis Decoupling: Hệ thống phân tách rõ rệt hai lớp:
    • Check Plugins (Lớp giám sát): Thực hiện các tác vụ kiểm tra nhẹ nhàng để phát hiện bất thường.
    • Diagnose Tools (Lớp chẩn đoán): Chỉ được triệu hồi khi có sự cố, giúp tiết kiệm tài nguyên CPU và chi phí Token LLM.
  • Plugin-based Architecture: Mọi thành phần từ cảm biến CPU, Disk đến các bộ lọc AI đều là các module độc lập. Cách tiếp cận này giúp cô lập logic, cho phép AI chỉ tập trung vào ngữ cảnh cần thiết thay vì phải nạp toàn bộ cấu hình hệ thống.
  • Intelligent Throttling: Tích hợp cơ chế In-flight & Cooldown, ngăn chặn việc AI thực hiện chẩn đoán lặp đi lặp lại cho cùng một lỗi trong thời gian ngắn, bảo vệ hệ thống khỏi tình trạng "bùng nổ" yêu cầu tới LLM.

🔄 3. Workflow: Vòng đời từ Cảnh báo đến Báo cáo chẩn đoán (Sequence Diagram)

Sơ đồ mô tả quy trình catpaw tự động hóa việc xử lý sự cố trên máy chủ:

image.png


⚡ 4. Các kỹ thuật "Pro-level" trong mã nguồn

  1. AI Function Calling (70+ Tools): Đây là kỹ thuật đỉnh cao biến catpaw thành một "Virtual SRE". AI không suy đoán mò mẫm; nó được cấp quyền gọi các công cụ chuẩn Linux như oom_history, conntrack_check, listen_queue_full... để thu thập bằng chứng thực tế trước khi đưa ra kết luận.
  2. Kernel-level "Silent Killers" Detection: catpaw tích hợp các cảm biến chuyên sâu vào những góc tối của hệ thống: tràn bảng lân cận ARP, trôi thông số sysctl, hoặc các lỗi hàng đợi socket. Đây là những lỗi mà các công cụ giám sát truyền thống thường bỏ qua cho đến khi dịch vụ sụp đổ hoàn toàn.
  3. Interactive Chat REPL: Cung cấp chế độ hội thoại trực tiếp thông qua lệnh catpaw chat. Người dùng có thể giao tiếp với Agent bằng ngôn ngữ tự nhiên: "Kiểm tra xem tại sao mạng bị chậm?", Agent sẽ tự động chọn plugin ping, traceroute, ss để trả lời.
  4. Diagnose Aggregator: Kỹ thuật gom nhóm các sự kiện lỗi liên quan trong một cửa sổ thời gian (Windowing). Nếu Disk I/O cao dẫn đến trễ ứng dụng, catpaw sẽ thực hiện một lần chẩn đoán duy nhất cho cả hai sự kiện, giúp báo cáo có tính hệ thống và mạch lạc hơn.

⚖️ 5. So sánh chiến lược

Tiêu chí catpaw (Flashcat) Zabbix / Prometheus ChatGPT / Claude thuần
Bản chất AI-native Agent Monitor truyền thống Chatbot
Phân tích lỗi Tự động chẩn đoán (RCA) Chỉ báo cáo vượt ngưỡng Cần copy-paste dữ liệu
Tương tác hệ thống Trực tiếp (Tool calling) Có giới hạn Không có
Độ nhẹ Rất cao (Go binary) Trung bình N/A
Tính riêng tư Cao (Chạy tại chỗ) Tuyệt đối Thấp

✅ Kết luận: Tại sao catpaw là hình mẫu cho kỷ nguyên AIOps?

catpaw chứng minh rằng giám sát hiện đại không chỉ là thu thập con số mà là quản trị tri thức sự cố. Bằng cách làm chủ kỹ thuật điều phối AI thực thi lệnh hệ thống, dự án đã rút ngắn khoảng cách từ lúc có cảnh báo đến lúc tìm ra giải pháp, giảm thiểu tối đa chỉ số MTTR (Mean Time To Repair) cho doanh nghiệp.

Đối với các kỹ sư Backend và DevOps, nghiên cứu catpaw mang lại giá trị về:

  • Cách xây dựng AI Agents thực thi tác vụ (Actionable AI).
  • Kỹ thuật điều phối Event-driven architecture trong hệ thống giám sát.
  • Tư duy thiết kế Hybrid Monitoring (Kết hợp giữa logic cứng và suy luận AI).


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí