您可以在 vRealize Network Insight 收集器 CLI 中產生並執行指令碼,以自動探索網路中的裝置,並將已探索裝置的詳細資料匯出為 .csv
檔案。
在未來版本的 vRealize Network Insight 中,將棄用透過執行 CLI 命令探索網路裝置。
您可以透過執行 CLI 命令探索以下裝置:
- Cisco 交換器
- Arista 交換器
- Juniper 交換器
- Dell 交換器
- F5 Big-IP
- Brocade 交換器
- Palo Alto 網路
- Check Point 防火牆
- Cisco ASA
程序
- 以支援使用者身分登入 vRealize Network Insight 收集器 CLI。
使用安全通訊端 Shell (SSH) 用戶端提供您的 CLI 登入認證。
- 切換到 Ubuntu 使用者。
ub
- 執行以下命令,以在目前的工作目錄中產生 Python 指令碼。
java -cp "/home/ubuntu/build-target/common-utils/tools-0.001-SNAPSHOT.jar" com.vnera.tools.DiscoveredDevicesTool -w script.py
可以使用此指令碼執行網路探索。
- 執行以下命令,以在目前的工作目錄中產生範例認證檔案。
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"
- 使用 SSH、SNMP v2c、SNMPv3 或 API 認證更新範例認證檔案。
可以在檔案中輸入多個認證,只需為每個項目提供唯一的
credential_name
即可。若要探索 F5 Big-IP 負載平衡器,必須輸入 API 認證。備註: 無法使用 API 認證探索其他網路裝置。 - 在 Python 指令碼上執行
help
命令,以檢視該指令碼支援的選項。python3 script.py --help
可以使用這些選項對您的認證進行驗證並執行網路探索。
選項 說明 --host vRealize Network Insight 平台節點 1 的 IP 位址。 --deployment type 要對其執行此作業的部署類型。接受的值為 onprem
和saas
。預設值為
onprem
。--username 平台使用者的使用者名稱。 備註: 必須始終將使用者名稱用單引號括起來。--password 平台使用者的密碼。 備註: 必須始終將密碼用單引號括起來。--domain_type 用於對使用者認證進行驗證的網域類型。接受的值為 LOCAL
和LDAP
。--domain_value 如果網域類型為 LDAP,請提供您的 LDAP 網域名稱。 --proxy_ips vRealize Network Insight 收集器的 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 探索裝置的最長等待時間 (以秒為單位)。 - 使用以下選項之一執行 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 指令碼僅探索在收集器網路連線性範圍內的裝置。不會探索位於網路上但無法從收集器網路存取的裝置。
- 根據作業的狀態,執行以下作業之一:
狀態 動作 作業成功。 開啟 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
下一步
可以使用 network-insight-sdk-python SDK 在 vRealize Network Insight 中將探索到的網路裝置大量新增為資料來源。如需詳細資訊,請參閱使用 Python SDK 大量新增資料來源。