データセンターに複数のネットワーク デバイスがある場合、これらをデータ ソースとして検出して手動で vRealize Network Insight に追加すると、時間がかかり、非効率になる可能性があります。

このような状況では、vRealize Network Insight Collector CLI でスクリプトを生成および実行し、ネットワーク内のデバイスを自動的に検出して、検出されたデバイスの詳細を .csv ファイルにエクスポートできます。

次のデバイスのみを検出できます。

  • Cisco スイッチ
  • Arista スイッチ
  • Juniper スイッチ
  • Dell スイッチ
  • F5 Big-IP
  • Brocade スイッチ
  • Palo Alto Networks
  • Check Point ファイアウォール
  • Cisco ASA

手順

  1. vRealize Network Insight コレクタ 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 を指定することで、ファイルに複数の認証情報を入力できます。
    1. (オプション) F5 Big-IP ロード バランサを検出する場合は、API 認証情報を入力します。API 認証情報を使用して他のデバイスを検出することはできません。
    2. ファイルを保存します。
  6. ネットワーク検出を実行する前に、Python スクリプトで help コマンドを実行して、スクリプトでサポートされているオプションを一覧表示します。
    python3 script.py --help
    これらのオプションを使用して、認証情報を認証し、ネットワーク検出を実行することができます。
    オプション 説明
    --host vRealize Network Insight プラットフォーム ノード 1 の IP アドレス。
    --deployment type この操作の実行対象となる展開のタイプ。受け入れられる値は、onpremsaas です。

    デフォルト値は onprem です。

    --username プラットフォーム ユーザーのユーザー名。
    注: ユーザー名は常に一重引用符で囲む必要があります。
    --password プラットフォーム ユーザーのパスワード。
    注: パスワードは常に一重引用符で囲む必要があります。
    --domain_type ユーザー認証情報を認証するドメイン タイプ。受け入れられる値は、LOCALLDAP です。
    --domain_value ドメイン タイプが LDAP の場合は、LDAP ドメイン名を指定します。
    --proxy_ips vRealize Network Insight 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. 手順 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 スクリプトでは、コレクタ ネットワークの到達可能範囲内にあるデバイスのみが検出されます。ネットワーク上にあってもコレクタ ネットワークからアクセスできないデバイスは検出されません。

  8. CLI に関する情報を確認して、操作のステータスを判断します。
  9. 操作が完了したら、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"
    
  10. (オプション) 操作が失敗するかタイムアウトになった場合は、検出されたデバイスの詳細をクリアして、新しいネットワーク検出操作を開始できます。--clear_all コマンドを使用して Python スクリプトを実行します。次に例を示します。
    python3 script.py --deployment_type onprem --username 'user' --password 'pwd' --proxy_ips 10.xxx.xxx.xx --clear_all true

次のタスク

network-insight-sdk-python SDK を使用することにより、検出されたネットワーク デバイスをデータ ソースとして vRealize Network Insight に一括追加できます。詳細については、Python SDK を使用したデータ ソースの一括追加を参照してください。