您可以在 VMware Aria Operations for Networks 收集器 CLI 中產生並執行指令碼,以自動探索網路中的裝置,並將已探索裝置的詳細資料匯出為 .csv 檔案。

備註:

在未來版本的 VMware Aria Operations for Networks 中,將棄用透過執行 CLI 命令探索網路裝置。

您可以透過執行 CLI 命令探索以下裝置:

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

程序

  1. 支援使用者身分登入 VMware Aria Operations for Networks 收集器 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 認證更新範例認證檔案。

    可以在檔案中輸入多個認證,只需為每個項目提供唯一的 credential_name 即可。

    若要探索 F5 Big-IP 負載平衡器,必須輸入 API 認證。
    備註: 無法使用 API 認證探索其他網路裝置。
  6. 在 Python 指令碼上執行 help 命令,以檢視該指令碼支援的選項。
    python3 script.py --help

    可以使用這些選項對您的認證進行驗證並執行網路探索。

    選項 說明
    --host VMware Aria Operations for Networks 平台節點 1 的 IP 位址。
    --deployment type 要對其執行此作業的部署類型。接受的值為 onpremsaas

    預設值為 onprem

    --username 平台使用者的使用者名稱。
    備註: 必須始終將使用者名稱用單引號括起來。
    --password 平台使用者的密碼。
    備註: 必須始終將密碼用單引號括起來。
    --domain_type 用於對使用者認證進行驗證的網域類型。接受的值為 LOCALLDAP
    --domain_value 如果網域類型為 LDAP,請提供您的 LDAP 網域名稱。
    --proxy_ips VMware Aria Operations for Networks 收集器的 IP 位址。
    --credentials_file_path 包含 SSH、SNMP 或 API 認證的認證檔案的位置。
    --network_ranges 要對其執行網路探索的 IP 位址範圍。您可以採用網路範圍格式或 CIDR 範圍格式指定 IP 位址。
    --seeds

    要開始網路探索程序的網路裝置的種子 IP 位址或種子 FQDN。

    備註:

    執行網路探索指令碼時,將以指定的種子 IP 位址作為起點開始網路探索程序。

    根據 CDP 和 LLDP 等行業通訊協定探索每個種子的芳鄰裝置。然後,將每個探索的裝置用作種子,以遞迴方式探索網路中的其他裝置,直到探索網路中的所有裝置或達到種子深度。

    --seed_depth

    探索網路裝置的深度。

    備註:

    種子深度指示必須從種子 IP 位址探索的芳鄰的層級數。依預設,種子的深度為 0;種子的芳鄰的深度為 1:種子的芳鄰的芳鄰的深度為 2,依此類推。

    如果輸入的種子深度為 2,則可以探索種子的裝置、種子的芳鄰和種子的芳鄰的芳鄰。

    --ignored_list

    要從網路探索中排除的 IP 位址清單。您可以採用以下格式指定 IP 位址:

    • 個別 IP 位址
    • FQDN
    • 網路範圍
    • CIDR 範圍
    --download_discovered_devices 用於下載之前探索的裝置的選項。輸入 TrueFalse
    --out 成功網路探索的 CSV 輸出檔案的名稱。輸出檔案的預設名稱為 auto_gen_discovered_devices.csv
    --clear_all 用於清除探索的詳細資料的選項,例如探索工作、認證設定檔、工作結果和已探索的裝置。輸入 TrueFalse
    --wait_time_in_secs 探索裝置的最長等待時間 (以秒為單位)。
  7. 使用以下選項之一執行 Python 指令碼:
    選項 範例
    使用 --network_ranges 選項提供探索的網路範圍。
    python3 script.py --deployment_type onprem --username 'user' --password 'pwd' --domain_type LOCAL --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 onprem --username 'user' --password 'pwd' --domain_type LDAP --domain_value vmware.com --proxy_ips 10.xx.196.xxx --out discovered_devices.csv 
    --credentials_file_path sample_creds.csv --seeds 10.xxx.xx.xxx --seed_depth 2
    備註:

    您必須使用更新的認證檔案 (包括 SSH、SNMP v2c、SNMPv3 或 API 認證) 執行 Python 指令碼。

    Python 指令碼僅探索在收集器網路連線性範圍內的裝置。不會探索位於網路上但無法從收集器網路存取的裝置。

  8. 根據作業的狀態,執行以下作業之一:
    狀態 動作
    作業成功。

    開啟 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"
    
    作業失敗或逾時。

    使用 --clear_all 選項執行 Python 指令碼,清除已探索裝置的詳細資料並啟動新的網路探索作業。

    例如:

    python3 script.py --deployment_type onprem --username 'user' --password 'pwd' --proxy_ips 10.xxx.xxx.xx --clear_all true
       

下一步

可以使用 operations-for-networks-sdk-python SDK 在 VMware Aria Operations for Networks 中將探索到的網路裝置大量新增為資料來源。如需詳細資訊,請參閱使用 Python SDK 大量新增資料來源