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

  • Intersight

    INTERSIGHT

    Phần mềm Intersigh cung cấp cách quản lý thông minh cho các hệ thống UCS và HyperFlex. UCS và HyperFlex dùng cách quản lý theo mô hình để cài đặt tự động máy chủ và các tài nguyên lưu trữ, mạng. Intersigh sẽ làm việc với UCS Manager và Cisco Integrated Management Controller (IMC) để mang cách thức quản trị theo mô hình vào trong một giải pháp quản trị duy nhất. Intersigh cung cấp các tùy chọn linh hoạt theo kiểu phần mềm như là dịch vụ SaaS ở địa chỉ https://intersight.com hoặc chạy Intersight ở dạng máy ảo onprem.

    Một vài lợi ích của Intersight là:
    • Đơn giản hóa việc quản trị UCS và HyperFlex bằng một nền tảng quản trị duy nhất.
    • Mở rộng mạng đến các vị trí ở xa hay xuyên qua các trung tâm dữ liệu mà không thêm vào yếu tố phức tạp.
    • Tự động hóa việc tạo và chuyển các file hỗ trợ cấu hình cho Cisco TAC để tăng tốc quá trình khắc phục lỗi.
    • Khả năng hỗ trợ lập trình và tự động hóa thông qua REST API.
    • Giúp cho việc nâng cấp dễ dàng cho các máy chủ UCS.

    Click image for larger version

Name:	dataurl064115.jpg
Views:	33
Size:	168.8 KB
ID:	437884


    Để bắt đầu với Intersight, hãy thực hiện các bước sau:

    Bước 1: Login vào https://intersight.com bằng một tài khoản Cisco.
    Bước 2: Thêm vào một thiết bị cho tài khoản. Thiết bị đầu cuối này kết nối với trang portal thông qua một device connect được nhúng bên trong controller quản lý của từng hệ thống.
    Bước 3 (Tùy chọn): Thêm vào các người dùng khác cho tài khoản mới. Có sẵn vài vai trò, bao gồm các vai trò chỉ đọc và vai trò quản trị. Các vai trò tùy biến cũng có thể được tạo nếu cần thiết.

    Click image for larger version

Name:	dataurl064127.png
Views:	17
Size:	28.0 KB
ID:	437886


    Intersight bao gồm một giao tiếp REST API được xây dựng trên nền của đặc tả OpenAPI. Các tài liệu API, các sơ đồ API và các SDK có thể tìm thấy ở địa chỉ https://intersight.com/apidocs. Trong link này, Python và PowerShell SDK cũng có sẵn để tải về. API cũng chấp nhận và trả về các thông điệp được đóng gói trong định dạng JSON và được gửi trên HTTPS.

    Intersight API là một giao tiếp lập trình cho mô hình thông tin quản trị Management Information Model tương tụ như trong ACI và UCS Manager. Cũng giống như ACI và UCS MIM, Intersight MIM cũng bao gồm các đối tượng quản lý. Các đối tượng quản lý hay REST API được phân biệt duy nhất bởi các địa chỉ URI (uniform resource identifier) hoặc, tên duy nhất (Distinguished Name - DN).

    Một ví dụ của các đối tượng được quản lý này bao gồm các máy chủ UCS, UCS fabric interconnects; các nốt HyperFlex nodes và các clusters; các máy chủ, mạng, các chính sách cho thiết bị lưu trữ, các cảnh bảo, các thống kê, các người dùng và các vai trò. Các đối tượng được trình bày theo một cấu trúc phân lớp của OpenAPI. Tất cả các tài nguyên API là kế thừa của lớp mo.Mo.

    Mỗi một đối tượng được quản lý có một chỉ số Moid được gán khi tài nguyên được tạo ra. Chỉ số Moid được dùng để phân biệt tài nguyên Intersight với các tài nguyên khác. Chỉ số Moid là một chuỗi 12-bytes.

    Một một đối tượng có thể được định vị bằng cách dùng URI bao gồm giá trị Moid. URI có thể được dùng trong bất kỳ HTTP request nào để chỉ ra đối tượng. Một địa chỉ URI tổng quát của Intersight có dạng như sau: https://intersight.com/path[?query]

    Địa chỉ URI của đối tượng được quản lý bao gồm:
    https: Giao thức HTTPS.
    intersight.com: Tên miền của intersight.
    path: Đường dẫn.
    query: tùy chọn truy vấn theo sau câu hỏi và thường được dùng để giới hạn kết quả trả về để chỉ bao gồm các thông số cụ thể.

    Ví dụ, URI của một đối tượng có Moid 48601f85ae74b80001aee589 là:
    https://intersight.com/api/v1/asset/DeviceRegistrations/48601f85ae74b80001aee589

    Mỗi một đối tượng quản lý trong Intersight hỗ trợ cơ chế gán nhãn tagging. Nhãn được dùng để phân nhóm các đối tượng theo các thuộc tính chung, chẳng hạn như người sở hữu, vị trí địa lý hay môi trường. Các tags có thể được gán và truy vấn thông qua Intersight API. Mỗi nhãn bao gồm một khóa và một giá trị tùy chọn. Cả khóa và giá trị đều có kiểu dữ liệu dạng chuỗi string.

    Các đối tượng được quản lý có thể bao gồm các mối quan hệ, là các mối liên kết động đến tài nguyên REST. Intersight dùng các qui ước Hypermedia as the Engine of Application State
    (HATEOAS) để mô tả một mối quan hệ giữa các đối tượng. Các mối quan hệ có thể là các liên kết tới chính nó hoặc liên kết với các đối tượng khác, hình thành một sơ đồ các đối tượng. Bằng cách dùng các quan hệ như một thuộc tính đầu tiên của mô hình đối tượng, nhiều lớp của các biểu đồ có thể được đặc trưng bằng các cấu trúc cây, các sơ đồ khép kính hay các biểu đồ hai chiều.

    Intersight cung cấp một ngôn ngữ truy vấn phong phú dựa trên chuẩn OData.
    Ngôn ngữ truy vấn được tượng trưng bằng cách dùng thông số truy vấn URL cho hàm GET. Có vài kiểu dữ liệu được hỗ trợ bởi các truy vấn Intersight, bao gồm các chuỗi, số, thời lượng, dữ liệu và thời gian. Khi một máy client gửi một truy vấn API request, dịch vụ web Intersight phải nhận dạng và xác thực các máy client. Dịch vụ web của Intersight hỗ trợ hai phương thức xác thực: dùng API keys và dùng session cookies

    Một khóa Intersight API key bao gồm keyId và keySecret. API client sử dụng API key để chứng thực số cho từng HTTP request được gửi đến Intersight web service. API client dùng các khóa API để ký xác thực cho từng HTTP request gửi đến Intersigh web service. Thông số signature là một chữ ký số mã hóa ở dạng base 64 trong phần HTTP header và phần thân của message. Các khóa API key được tạo ra trong phần Setting > API của trang web Intersight.

    Như là một kinh nghiệm thực tế, chúng ta được khuyến cáo tạo ra vài khóa API cho từng ứng dụng client cần truy cập đến API. Các cookie chủ yếu được dùng bởi các máy client đang chạy Intersight bằng một trình duyệt. Khi truy cập đến dịch vụ web của Intersight, người dùng cuối phải xác thực bở trang https://sso.cisco.com. Khi quá trình xác thực là thành công, trang sso.cisco.com gửi các xác nhận ở định dạng SAML cho dịch vụ web của Intersight và Intersight tạo ra một cookie hợp lệ trong một thời gian giới hạn.

    Máy client phải gửi các session cookie trong từng cuộc gọi API. Bao gồm trong Intersight REST API ở địa chỉ https://intersight.com/apidocs là tài liệu tham khảo cho API và các REST API client. Hình bên dưới mô tả giao diện của trang web chứa phần tài liệu tham khảo cho Intersight API. Trong hình này, hàm gọi API Get a list of ‘equipmentDeviceSummary’ instances được chọn lựa. Các thông số truy vấn cho kiểu gọi API được hiển thị, là kết quả của API URI của đầu cuối trả về danh sách các thiết bị đang quản lý bởi Intersight cho tài khoản cụ thể này. Cũng giống như Postman, nếu chúng ta nhấn nút Send, một cuộc gọi API được kích hoạt và kết quả trả về trong phần Response Text.

    Click image for larger version

Name:	dataurl064121.png
Views:	17
Size:	26.8 KB
ID:	437885

    Trong phần download của trang https://intersight.com/apidocs, Intersight Python và PowerShell SDL có thể được tải về. Python SDK bao gồm tất cả các chức năng của REST API và hỗ trợ các lớp của Python và các phương thức có thể dùng để đơn giản hóa các dự án tự động dùng Intersight. Đoạn chương trình Python trong ví dụ bên dưới được phát triển dùng Intersight mô-đun version 1.0 và Python 3.7.4. Đoạn mã Python này dùng lại hàm REST API, được gọi là qequipmentDeviceSummary, trả kết quả của một danh sách tất cả các thiết bị đang được quản lý bởi tài khoản đó.


    #! /usr/bin/env python
    from intersight.intersight_api_client import IntersightApiClient
    from intersight.apis import
    equipment_device_summary_api
    # Create an Intersight API Client instance
    API_INSTANCE = IntersightApiClient(
    host="https://intersight.com/api/v1",\
    private_key="/Path_to/SecretKey.txt",\
    api_key_id="your_own_api_key_id")
    # Create an equipment device handle
    D_HANDLE =equipment_device_summary_api.EquipmentDeviceSumma ryApi(API_INSTANCE)
    DEVICES =D_HANDLE.equipment_device_summaries_get().results
    print('{0:35s}{1:40s}{2:13s}{3:14s}'.format("DN"," MODEL","SERIAL","OBJECT TYPE"))
    print('-'*105)
    # Loop through devices and extract data
    for DEVICE in DEVICES:
    print('{0:35s}{1:40s}{2:13s}
    {3:14s}'.format(
    DEVICE.dn,
    DEVICE.model,
    DEVICE.serial,
    DEVICE.source_object_type))


    Hai dòng đầu tiên của chương trình sử dụng từ khóa import để nạp lớp IntersightApiClient để về sau tạo kết nối đến nền tảng Intersight và file equipment_device_summary_api, trong đó chứa các đối tượng Python rất hữu ích để truy xuất các thiết bị được quản lý bởi Intersight. Mỗi REST API của Intersight có một file Python chứa các lớp và các phương thức có thể dùng để lập trình xử lý các REST API. Kế tiếp, một phiên bản của IntersightApiClient được tạo ra để thiết lập kết nối đến Intersight.

    Có ba thông số cần để khởi tạo một phiên bản cho lớp này:
    • host: Thông số này chỉ ra URI của Intersight REST API.
    • private_key: Thông số này chỉ ra đường dẫn đến file chứa các khóa bí mật keySecret của tài khoản Intersight được dùng để login.
    • api_key_id: Thông số này chứa keyId của cùng tài khoản Intersight. Cả keyID và keySecret được tạo ra trong trang web Intersight, bên dưới phần Settings > API keys.

    Kế tiếp, một phiên bản của lớp EquipmentDeviceSummaryApi được tạo ra và lưu trữ trong biến D_HANDLE. Lớp này tương ứng với tài nguyên REST API ở địa chỉ /api/v1/equipment/DeviceSummaries REST API. Biến D_HANDLE chứa các thông tin truy cập cho tài nguyên REST API đó. Phương thức equipment_device_summaries_get
    trong lớp EquipmentDeviceSummaryApi được kích hoạt kế tiếp, kết quả được lưu trữ trong biến DEVICES. Biến này chứa một danh sách của tất cả các thiết bị đang được quản lý bởi Intersight thuộc về người dùng có keyID và keySecret mà ban đầu kết nối được thiết lập. Vòng lặp for sẽ đến từng thiết bị trong danh sách và trích xuất các thông tin về tên, kiểu, số serial number, kiểu đối tượng và hiển thị các thông tin này ra màn hình. Kết quả của đoạn Python script cho một người dùng được mô tả bên dưới.

    Click image for larger version

Name:	dataurl064129.png
Views:	15
Size:	29.6 KB
ID:	437887


Working...
X