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
  1. VMware Aria Operations for Networks
    コレクタ CLI に、
    サポート
    ユーザーとしてログインします。
    Secure Socket Shell (SSH) クライアントを使用して CLI ログイン認証情報を指定します。
  2. Ubuntu
    ユーザーに切り替えます。
    ub
  3. 次のコマンドを実行して、現在の作業ディレクトリに Python スクリプトを生成します。
    java -cp "/home/ubuntu/build-target/common-utils/tools-0.001-SNAPSHOT.jar" com.vnera.tools.DiscoveredDevicesTool -w script.py
    このスクリプトを使用して、ネットワーク検出を実行します。
  4. 次のコマンドを実行して、現在の作業ディレクトリにサンプル認証情報ファイルを生成します。
    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"
  5. SSH、SNMP v2c、SNMPv3、または API 認証情報を使用してサンプル認証情報ファイルを更新します。
    各エントリに一意の
    credential_name
    を指定することで、ファイルに複数の認証情報を入力できます。
    F5 Big-IP ロード バランサを検出するには、API 認証情報を入力する必要があります。
    API 認証情報を使用して他のネットワーク デバイスを検出することはできません。
  6. 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
    デバイスを検出する最大待ち時間(秒単位)。
  7. 次のいずれかのオプションを使用して 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 スクリプトでは、コレクタ ネットワークの到達可能範囲内にあるデバイスのみが検出されます。ネットワーク上にあってもコレクタ ネットワークからアクセスできないデバイスは検出されません。
  8. 操作のステータスに基づいて、次のいずれかを実行します。
    ステータス
    アクション
    操作が正常に完了する。
    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 を使用したデータ ソースの一括追加を参照してください。