可以使用 vRealize Network Insight Cloud CLI 发现网络上的设备并将所发现设备的详细信息导出为 CSV 文件。
只能发现以下设备:
- Cisco 交换机
- Arista 交换机
- Juniper 交换机
- Dell 交换机
- F5
- Brocade 交换机
- Palo Alto 网络
- Check Point 防火墙
- Cisco ASA
过程
- 以支持用户身份登录到 收集器 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
支持的选项如下所示。使用这些选项对凭据进行身份验证并执行网络发现。选项 描述 --deployment type 要对其执行此操作的部署类型。接受的值为 onprem
和saas
。默认值为
onprem
。--api_token 用于对 vRealize Network Insight Cloud 凭据进行身份验证的 API 刷新令牌。 --cloud_location 数据中心的位置。位置可以是 US、UK、JP、AU 或 DE。
默认值为 US。
--cloud_api_url vRealize Network Insight Cloud 的 URL。此选项将替代 --cloud_location 选项中提供的值。 --proxy_ips 要在其中运行网络发现的代理 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 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 脚本仅发现在收集器网络可访问性范围内的设备。不会发现网络上可用但无法从收集器网络访问的设备。 - 查看有关 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 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 批量添加数据源。