CLI コマンドによるネットワーク デバイスの検出
VMware Aria Operations for Networks
コレクタ CLI でスクリプトを生成および実行し、ネットワーク内のデバイスを検出して、検出されたデバイスの詳細を .csv
ファイルにエクスポートできます。CLI コマンドを実行してネットワーク デバイスを検出することは、
VMware Aria Operations for Networks
の今後のリリースで廃止される予定です。CLI コマンドを実行により、次のデバイスを検出できます。
- Cisco スイッチ
- Arista スイッチ
- Juniper スイッチ
- Dell スイッチ
- F5 Big-IP
- Brocade スイッチ
- Palo Alto Networks
- Check Point ファイアウォール
- Cisco ASA
- VMware Aria Operations for Networksコレクタ CLI に、サポートユーザーとしてログインします。Secure Socket 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これらのオプションを使用して、認証情報を認証し、ネットワーク検出を実行することができます。オプション説明--hostVMware Aria Operations for Networksプラットフォーム ノード 1 の IP アドレス。--deployment typeこの操作の実行対象となる展開のタイプ。受け入れられる値は、onpremとsaasです。デフォルト値はonpremです。--usernameプラットフォーム ユーザーのユーザー名。ユーザー名は常に一重引用符で囲む必要があります。--passwordプラットフォーム ユーザーのパスワード。パスワードは常に一重引用符で囲む必要があります。--domain_typeユーザー認証情報を認証するドメイン タイプ。受け入れられる値は、LOCALとLDAPです。--domain_valueドメイン タイプが LDAP の場合は、LDAP ドメイン名を指定します。--api_tokenVMware Aria Operations for Networks認証情報を認証するための API 更新トークン。--cloud_locationデータセンターの場所。受け入れられる値は、US、UK、JP、AU、DEです。デフォルト値はUSです。--cloud_api_urlVMware Aria Operations for Networksの URL。このオプションは、--cloud_locationオプションで指定された値よりも優先されます。--proxy_ipsVMware Aria Operations for NetworksCollector の IP アドレス。--credentials_file_pathSSH、SNMP、または API 認証情報を含む認証情報ファイルの場所。--network_rangesネットワーク検出を実行する IP アドレス範囲。この IP アドレスは、ネットワーク範囲の形式または CIDR 範囲の形式で指定できます。--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操作例--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 2SSH、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 truepython3 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 を使用したデータ ソースの一括追加を参照してください。