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
これらのオプションを使用して、認証情報を認証し、ネットワーク検出を実行することができます。
オプション 説明 --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 更新トークン。 --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 Collector の IP アドレス。 --credentials_file_path SSH、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 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
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 を使用したデータ ソースの一括追加を参照してください。