透過執行 CLI 命令探索網路裝置
Last Updated January 21, 2025

您可以在
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
    要對其執行此作業的部署類型。接受的值為
    onprem
    saas
    預設值為
    onprem
    --username
    平台使用者的使用者名稱。
    必須始終將使用者名稱用單引號括起來。
    --password
    平台使用者的密碼。
    必須始終將密碼用單引號括起來。
    --domain_type
    用於對使用者認證進行驗證的網域類型。接受的值為
    LOCAL
    LDAP
    --domain_value
    如果網域類型為 LDAP,請提供您的 LDAP 網域名稱。
    --api_token
    用於對
    VMware Aria Operations for Networks
    認證進行驗證的 API 重新整理 Token。
    --cloud_location
    資料中心的位置。接受的值為
    US
    UK
    JP
    AU
    DE
    預設值為
    US
    --cloud_api_url
    VMware Aria Operations for Networks
    的 URL。此選項將覆寫
    --cloud_location
    選項中提供的值。
    --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
    用於下載之前探索的裝置的選項。輸入
    True
    False
    --out
    成功網路探索的 CSV 輸出檔案的名稱。輸出檔案的預設名稱為
    auto_gen_discovered_devices.csv
    --clear_all
    用於清除探索的詳細資料的選項,例如探索工作、認證設定檔、工作結果和已探索的裝置。輸入
    True
    False
    --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
    選項
    範例
    使用
    --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
    您必須使用更新的認證檔案 (包括 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
    python3 script.py --deployment_type saas --api_token YourCSPAPIToken --cloud_location UK --proxy_ips 10.xx.xxx.xx --clear_all true
可以使用
operations-for-networks-sdk-python
SDK 在
VMware Aria Operations for Networks
中將探索到的網路裝置大量新增為資料來源。如需詳細資訊,請參閱使用 Python SDK 大量新增資料來源