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

  • 🔥network automation không chỉ bắt đầu bằng python!

    Khi nhắc đến Network Automation, nhiều người sẽ nghĩ ngay đến Python, Ansible hay những đoạn script tự động hóa. Tuy nhiên, trước khi viết được một dòng code, điều quan trọng nhất là phải hiểu cách các ứng dụng giao tiếp với thiết bị mạng thông qua REST API.

    Trong buổi học Network Automation tại VnPro, giảng viên không bắt đầu bằng Python mà bằng một công cụ quen thuộc hơn: Postman. Mục tiêu của bài lab là giúp học viên hiểu từng bước xác thực với Cisco APIC-EM, lấy Authentication Token và sử dụng Token để truy xuất dữ liệu từ Controller.

    Đây là một bài lab nền tảng nhưng rất quan trọng. Khi hiểu được cách Postman gửi Request, Controller xử lý và trả về dữ liệu JSON, việc học Python, Ansible hay Cisco DevNet sau này sẽ trở nên dễ dàng hơn rất nhiều.

    Trong bài thực hành này, học viên sẽ:

    ✅ Kết nối đến Cisco APIC-EM bằng Postman.

    ✅ Xác thực để lấy Authentication Token.

    ✅ Sử dụng Token để gọi API lấy danh sách thiết bị.

    ✅ Phân tích dữ liệu JSON mà Controller trả về.

    🛠 Xác thực với Cisco APIC-EM

    Trước khi có thể truy cập dữ liệu, Controller cần xác minh ứng dụng đang gửi Request là hợp lệ.

    Trong Postman, tạo một POST Request đến API Authentication và cấu hình:

    Method: POST

    Header: Content-Type: application/json

    Body (raw - JSON):

    Username

    Password

    Khi nhấn Send, nếu thông tin chính xác, APIC-EM sẽ trả về HTTP Status 200 OK cùng với một Authentication Token.

    💡 Hiểu thêm một chút

    Authentication Token giống như một phiên đăng nhập của ứng dụng. Sau khi đã có Token, các API tiếp theo chỉ cần gửi Token trong Header thay vì phải truyền Username và Password nhiều lần. Đây cũng là cơ chế xác thực được sử dụng trên nhiều nền tảng Cisco Controller như DNA Center, SD-WAN Manager hay các hệ thống REST API hiện đại.

    🛠 Gọi API lấy danh sách thiết bị

    Sau khi có Token, tạo một GET Request đến API:

    /network-device

    Trong Header, thêm:

    X-Auth-Token: <Authentication Token>

    Nếu Token hợp lệ, Controller sẽ trả về toàn bộ danh sách thiết bị đang được quản lý ở định dạng JSON.

    Đây không chỉ là dữ liệu để hiển thị trên màn hình mà còn là nguồn dữ liệu để các chương trình Automation khai thác.

    Một số thông tin quan trọng có thể quan sát được gồm:

    Hostname – Tên thiết bị.

    Management IP – Địa chỉ IP quản trị.

    Platform – Model hoặc dòng thiết bị Cisco.

    Software Version – Phiên bản IOS đang sử dụng.

    Serial Number – Thông tin phục vụ kiểm kê và bảo hành.

    Connection Status – Trạng thái kết nối của thiết bị.

    Sau này, khi sử dụng Python hoặc Ansible, chương trình cũng sẽ đọc chính những trường dữ liệu này để kiểm tra tình trạng Router, Switch, tạo báo cáo hoặc tự động hóa các tác vụ quản trị.

    📘 Kiến thức rút ra từ bài lab

    Qua bài lab này, mình hiểu rõ hơn quy trình làm việc của một REST API.

    POST được sử dụng để gửi thông tin xác thực và lấy Token.

    GET được sử dụng để lấy dữ liệu từ Controller.

    JSON là định dạng dữ liệu mà Controller trả về để các ứng dụng tiếp tục xử lý.

    Thực tế, Python không "làm phép" để quản lý thiết bị mạng. Những gì chương trình thực hiện chỉ là tự động hóa các HTTP Request mà hôm nay chúng ta thao tác thủ công bằng Postman.

    Khi hiểu được bản chất này, việc học lập trình Network Automation sẽ trở nên dễ tiếp cận hơn rất nhiều.

    ⚠️ Một số lỗi thường gặp

    Trong quá trình thực hành, mình cũng gặp một vài lỗi khá phổ biến:

    🔹 HTTP 401 Unauthorized

    Nguyên nhân:

    Sai Username hoặc Password.

    Authentication Token đã hết hạn.

    Thiếu Header X-Auth-Token.

    ➡️ Cách xử lý: Thực hiện lại bước Authentication để lấy Token mới và kiểm tra lại Header trước khi gửi Request.

    🔹 SSL Certificate Error

    Nếu Postman báo lỗi chứng chỉ SSL khi kết nối đến APIC-EM, chỉ cần vào:

    Settings → General → SSL Certificate Verification → OFF

    Sau đó thực hiện lại Request.

    💻 Sau bài lab này bạn có thể làm gì?

    Hoàn thành bài lab không chỉ giúp bạn biết sử dụng Postman mà còn tạo nền tảng để tiếp tục với các nội dung Network Automation nâng cao như:

    ✅ Viết chương trình Python sử dụng thư viện Requests để gọi REST API.

    ✅ Tự động thu thập thông tin Router và Switch từ Controller.

    ✅ Kiểm tra phiên bản IOS hoặc phát hiện thiết bị Offline chỉ trong vài giây.

    ✅ Tiếp tục chinh phục các bài lab Cisco DevNet, DNA Center API và Ansible Automation.
Working...
X