Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • WebHook

    Webhook là một khái niệm cực kỳ quan trọng khi bước vào thế giới automation, DevOps, NetDevOps hay tích hợp hệ thống. Nếu API truyền thống giống như việc bạn phải liên tục hỏi “Có gì mới chưa?” thì webhook là cách hệ thống chủ động nói với bạn “Có sự kiện mới đây!”.

    Webhook hoạt động theo mô hình push, tức là server sẽ tự động gửi dữ liệu đến một endpoint đã được cấu hình sẵn mỗi khi có sự kiện xảy ra. Không cần polling liên tục, không cần viết script cứ vài giây gọi API kiểm tra trạng thái. Đây là lý do webhook được dùng rất nhiều trong monitoring, CI/CD, incident response, ChatOps và network automation.

    Trong ví dụ từ Cisco Catalyst Center, webhook được dùng để phát hành (publish) các event notification như BGP Down, interface flap, unreachable device, assurance alerts… Khi có sự cố mạng, Catalyst Center sẽ đóng vai trò event producer, đóng gói dữ liệu dưới dạng JSON payload rồi gửi đến endpoint receiver của bạn thông qua HTTP POST hoặc đôi khi PUT.

    Quy trình triển khai khá đơn giản. Trước tiên tạo một webhook destination trong Catalyst Center bằng cách khai báo tên, mô tả, URL của webhook receiver, chọn trust certificate nếu dùng HTTPS, chọn phương thức HTTP (thường là POST), cấu hình authentication nếu cần như Basic Auth hoặc token-based auth, rồi lưu lại.

    Sau đó vào phần Event Notifications / Event Catalog, chọn sự kiện muốn subscribe, ví dụ Network Device Interface Connectivity - BGP Down, rồi dùng chức năng Try-It-Now để phát sinh test event. Catalyst Center sẽ gửi payload thử nghiệm đến tất cả destination đã subscribe.

    Một điểm quan trọng là payload test có thể khác payload thật trong production. Vì vậy khi viết webhook receiver, đừng chỉ test với mock JSON đơn giản mà nên kiểm tra với event thực tế.

    Ví dụ receiver có thể là:
    • Flask app
    • FastAPI service
    • Node.js Express endpoint
    • SIEM collector
    • Splunk HEC
    • ServiceNow
    • PagerDuty
    • Slack automation bot

    Ví dụ luồng automation thực tế:

    BGP Down → Catalyst Center phát webhook → Flask receiver nhận JSON → Python script parse event → gọi API tạo ticket ServiceNow → gửi cảnh báo Teams/Slack → trigger remediation playbook Ansible

    Đây chính là nền tảng của event-driven automation.

    Polling là mô hình “Are we there yet?”
    Webhook là mô hình “I’ll call you when something happens.”

    Với DevOps và NetDevOps, webhook không chỉ là notification mechanism. Nó là cầu nối để biến hạ tầng từ reactive sang autonomous automation.​
    Attached Files
    Đặng Quang Minh, CCIE#11897 (Enterprise Infrastructure, Wireless, Automation, AI), CCSI#31417

    Email : dangquangminh@vnpro.org
    https://www.facebook.com/groups/vietprofessional/
Working...
X