可以使用 vRealize Network Insight Cloud CLI 探索網路上的裝置,並將所探索裝置的詳細資料匯出為 CSV 檔案。

只能探索以下裝置:

  • Cisco 交換器
  • Arista 交換器
  • Juniper 交換器
  • Dell 交換器
  • F5
  • Brocade 交換器
  • Palo Alto 網路
  • Check Point 防火牆
  • Cisco ASA

程序

  1. 支援使用者身分登入 收集器 CLI。
    使用安全通訊端 Shell (SSH) 用戶端提供您的 CLI 登入認證。
  2. 切換到 Ubuntu 使用者。
    ub
  3. 在目前的工作目錄中產生 Python 指令碼。可以使用此指令碼執行網路探索。
    java -cp "/home/ubuntu/build-target/common-utils/tools-0.001-SNAPSHOT.jar" com.vnera.tools.DiscoveredDevicesTool -w script.py
  4. 在目前的工作目錄中產生範例認證檔案。可以使用此檔案存取網路中的裝置。
    java -cp "/home/ubuntu/build-target/common-utils/tools-0.001-SNAPSHOT.jar" com.vnera.tools.DiscoveredDevicesTool -s sample_creds.csv 

    範例認證檔案的內容如下所示:

    "credential_name","connection_type", "username", "password", "snmp_version",
    "community_string", "snmp_user", "snmp_context", "snmp_auth_type", "snmp_auth_password",
    "snmp_privacy_type", "snmp_privacy_password"
    "SSH1","SSH","admin","admin","","","","","","","",""
    "API1","API","admin","admin","","","","","","","",""
    "SNMP1","SNMP","","","v2c","community","","","","","",""
    "SNMP2","SNMP","","","v3","","user","context","authtype","authpass","privacytype","privacypass"
    
  5. 使用 SSH、SNMP v2c、SNMPv3 或 API 認證更新範例認證檔案。可以在 CSV 檔案中輸入多個認證,只需為每個項目提供唯一的 credential_name 即可。
    1. (選擇性) 如果要探索 F5 Big-IP 負載平衡器,請輸入您的 API 認證。其他裝置不支援 API 認證。
    2. 儲存檔案。
  6. 使用 Python 指令碼執行網路探索之前,請在 Python 指令碼上執行說明命令,以列出該指令碼支援的可能選項。
    python3 script.py --help
    支援的選項如下所示。使用這些選項對您的認證進行驗證並執行網路探索。
    選項 說明
    --deployment type 要對其執行此作業的部署類型。接受的值為 onpremsaas

    預設值為 onprem

    --api_token 用於對 vRealize Network Insight Cloud 認證進行驗證的 API 重新整理 Token。
    --cloud_location

    資料中心的位置。位置可以是 US、UK、JP、AU 或 DE。

    預設值為 US。

    --cloud_api_url vRealize Network Insight Cloud 的 URL。此選項將覆寫 --cloud_location 選項中提供的值。
    --proxy_ips 要在其中執行網路探索的 Proxy IP 位址清單。
    --credentials_file_path 包含 SSH、SNMP 或 API 認證的認證檔案。
    --network_ranges 要開始網路探索的 IP 位址範圍。您可以採用網路範圍格式或 CIDR 範圍格式指定 IP 位址。
    --seeds 要開始網路探索的網路裝置的種子 IP 位址或種子 FQDN。
    --seed_depth 探索網路裝置的深度。種子裝置的深度為 0。種子裝置芳鄰的深度為 1,依此類推。
    --ignored_list

    不希望在其中執行網路探索的 IP 位址清單。您可以採用以下格式指定 IP 位址:

    • 個別 IP 位址
    • FQDN 詳細資料
    • 網路範圍
    • CIDR 範圍
    --download_discovered_devices 輸入 true 可下載之前探索的裝置。
    --out 如果作業成功,則包含已探索裝置詳細資料的 CSV 檔案。輸出檔案的預設名稱為 auto_gen_discovered_devices.csv
    --clear_all 用於清除探索的所有詳細資料的選項,例如探索工作、認證設定檔、工作結果和已探索的裝置。輸入 TrueFalse.
    --wait_time_in_secs 探索裝置的最長等待時間 (以秒為單位)。
  7. 使用您在步驟 5 中更新的最新認證檔案執行 Python 指令碼。
    在執行 Python 指令碼以執行網路探索時,您可以:
    選項 範例
    使用 --network_ranges 選項提供探索的網路範圍。
    python3 script.py --deployment_type saas --api_token YourCSPAPIToken --cloud_location UK --proxy_ips 10.xx.196.xxx --out discovered_devices.csv 
    --credentials_file_path sample_creds.csv --network_ranges 10.xxx.xx.158/24
    使用 --seeds--seed_depth 選項提供網路探索的種子位址和種子深度。
    python3 script.py --deployment_type saas --api_token YourCSPAPIToken --cloud_location UK --proxy_ips 10.xx.196.xxx --out discovered_devices.csv 
    --credentials_file_path sample_creds.csv --seeds 10.xxx.xx.xxx --seed_depth 2
    備註: Python 指令碼僅探索在收集器網路連線性範圍內的裝置。不會探索位於網路上但無法從收集器網路存取的裝置。
  8. 檢閱有關 CLI 的資訊以確定作業的狀態。
  9. 作業完成後,開啟 CSV 檔案。CSV 檔案的範例如下所示:
    "DataSourceType","IP","fqdn","Username","Password","CSPRefreshToken","NickName",
    "CentralCliEnabled","IPFixEnabled","SwitchType","ParentvCenter","IsVMC",
    "snmp_version","snmp_community_string","snmp_username","snmp_password",
    "snmp_auth_type","snmp_privacy_type","ProxyIP"
    "DataSource1","","Domain_name","username","<pwd>","",
    "nick_name_discovered_devices_1","","","","","","","","","","","","10.xx.xxx.xx"
    "DataSource2","10.1xx.xx.1x","","username","pwd","",
    " nick_name_discovered_devices_2","","","","","","","","","","","","10.xx.xx.xxx"
    
  10. (選擇性) 如果作業失敗或逾時,您可以清除所探索裝置的詳細資料並啟動新的網路探索作業。使用 --clear_all 命令執行 Python 指令碼。例如:
    python3 script.py --deployment_type saas --api_token YourCSPAPIToken --cloud_location UK --proxy_ips 10.xx.xxx.xx --clear_all true

下一步

可以使用 network-insight-sdk-python SDK 在 vRealize Network Insight Cloud 中將探索到的網路裝置大量新增為資料來源。如需詳細資訊,請參閱使用 Python SDK 大量新增資料來源