可以使用 vRealize Network Insight CLI 探索網路上的裝置,並將所探索裝置的詳細資料匯出為 CSV 檔案。
只能探索以下裝置:
- Cisco 交換器
- Arista 交換器
- Juniper 交換器
- Dell 交換器
- F5
- 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 認證更新範例認證檔案。可以在 CSV 檔案中輸入多個認證,只需為每個項目提供唯一的
credential_name
即可。- (選擇性) 如果要探索 F5 Big-IP 負載平衡器,請輸入您的 API 認證。其他裝置不支援 API 認證。
- 儲存檔案。
- 使用 Python 指令碼執行網路探索之前,請在 Python 指令碼上執行說明命令,以列出該指令碼支援的可能選項。
python3 script.py --help
支援的選項如下所示。使用這些選項對您的認證進行驗證並執行網路探索。選項 說明 --host vRealize Network Insight 平台的 IP 位址。 --deployment type 要對其執行此作業的部署類型。接受的值為 onprem
和saas
。預設值為
onprem
。--username 平台使用者的使用者名稱。 --password 平台使用者的密碼。 --domain_type 用於驗證的網域的類型。接受的值為 LOCAL
和LDAP
。--domain_value 如果您的網域類型為 LDAP,請提供 LDAP 網域名稱。 --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 用於清除探索的所有詳細資料的選項,例如探索工作、認證設定檔、工作結果和已探索的裝置。輸入 True
或False.
--wait_time_in_secs 探索裝置的最長等待時間 (以秒為單位)。 - 使用您在步驟 5 中更新的最新認證檔案執行 Python 指令碼。
在執行 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
備註: Python 指令碼僅探索在收集器網路連線性範圍內的裝置。不會探索位於網路上但無法從收集器網路存取的裝置。 - 檢閱有關 CLI 的資訊以確定作業的狀態。
- 作業完成後,開啟 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 --user_name user --password pwd --proxy_ips 10.xxx.xxx.xx --clear_all true
下一步
可以使用 network-insight-sdk-python SDK 在 vRealize Network Insight 中將探索到的網路裝置大量新增為資料來源。如需詳細資訊,請參閱使用 Python SDK 大量新增資料來源。