JSONファイルからネットワークデバイスを構成する
概要
Contrail Insights にネットワーク デバイスを追加するには、ネットワーク デバイスの JSON ファイルを作成し、 に group_vars/all
次の変数を設定します。
network_device_file_name: /path/to/network_device_file_name.json
複数のネットワーク デバイスを JSON ファイルに追加できます。このファイルは、ネットワーク インベントリから手動で書き込むことができます。または、LLDPなどのツールを使用して、デバイス名、インターフェイス接続、およびトポロジ情報を生成することもできます。
ネットワーク デバイス トポロジ ファイルは、次のスキーマ例に従う必要があります。デバイスは複数のソース(SNMP、JTI、GRPC、NETCONF)で設定することもできます。以下は、各ソースの 1 つの例です。フィールドに受け入れられSource
るのは 、 、 user.grpc
、および user.netconf
のみuser.snmp
であり、user.jti
フィールドにピリオド( '.')を指定するNetworkDeviceId
ことはできないことに注意してください。
リリースバンドルには、サンプル構成ファイルが含まれています。 sample_network_device_config.json
SNMPデバイス用のネットワークデバイスJSONの例
{ "NetworkDeviceList": [ { "NetworkDevice": { "MetaData": { "SnmpConfig": { "Version": "2c", "Community": "public", "PollInterval": 60, "OIDList": ["IF-MIB::ifTable", "IF-MIB::ifXTable"] } }, "ManagementIp": "10.1.1.2", "Name": "qfx1", "Source": ["user.snmp"], "NetworkDeviceId": "qfx1", "ChassisType": "tor", "ConnectionInfo": [ { "remote_interface_name": "et-0/0/1", "local_interface_name": "et-0/1/0", "remote_system_id": "qfx2" }, { "local_interface_name": "et-0/0/2", "remote_interface_name": "et-0/1/0", "remote_system_id": "qfx3" } ] } }, { "NetworkDevice": { "MetaData": { "SnmpConfig": { "Version": "3", "Username": "user1", "Password": "password1", "Level": "authPriv", "Protocol": "SHA", "PrivProtocol": "DES", "PrivKey": "privacy protocol pass phrase", "SnmpEngineId": "80000000000", "OIDList": ["IF-MIB::ifTable", "TCP-MIB::tcp"] } }, "ManagementIp": "10.1.1.3", "Name": "qfx2", "NetworkDeviceId": "qfx2", "Source": ["user.snmp"], "ChassisType": "spine", "ConnectionInfo": [ { "local_interface_name": "et-0/0/1", "remote_interface_name": "et-0/1/0", "remote_system_id": "qfx1" } ] } } ] }
一部のフィールドには、有効な選択肢の固定リストがあります。
NetworkDevice.MetaData.SnmpConfig.Version: "2c", "3"
NetworkDevice.MetaData.SnmpConfig.Protocol: "MD5", "SHA"
NetworkDevice.MetaData.SnmpConfig.Level: "noAuthNoPriv", "authNoPriv", "authPriv"
NetworkDevice.MetaData.SnmpConfig.PrivProtocol: "AES", "DES"
このフィールド MetaData.SnmpConfig.PollInterval
はオプションです。60 の倍数の値を入力できます。Contrail Insights がデバイスからの SNMP データをポーリングする期間を指定します(単位は秒)。既定では、この値は 60 秒に設定されています。
フィールドに MetaData.SnmpConfig.OIDList
指定できる値は次のとおりです。
"TCP-MIB::tcp"
"IF-MIB::ifXTable"
"IF-MIB::ifTable"
"UDP-MIB::udp"
"UCD-SNMP-MIB::memory"
"IP-MIB::ipInReceives"
"IPV6-MIB::ipv6IfTable"
「JUNIPER-FIREWALL-MIB::jnxFWCounterDisplayFilterName」
「NETWORK_DEVICE_SYSTEM_METRICS_MIB」
"JUNIPER-PFE-MIB::jnxPfeMemoryUkernFreePercent"
"JUNIPER-SUBSCRIBER-MIB::jnxSubscriberTotalCount"
「JUNIPER-IPv6-MIB::jnxIpv6StatsReceives」
"1.3.6.1.4.1.2636.3.4.2"
"エンタープライズ.2636.3.1.13.1"
"エンタープライズ.2636.3.39.1.12"
"1.3.6.1.2.1.25.2"
これらはすべて、Contrail InsightsがすぐにサポートするMIBの一部です。追加の SNMP MIB 監視を有効にするには、 カスタム SNMP プラグインで 詳細を参照してください。
SNMPトラッププラグインが有効になっている場合、SNMPトラップはSNMPデバイスで自動的に有効になります。このフィールド SnmpEngineId
は、SNMPトラップv3に必要です。
JTIデバイス向けネットワークデバイスJSONの例
{ "NetworkDeviceList": [ { "NetworkDevice": { "MetaData": { "Version": "17.2R1", "Username": "user2", "Password": "password2", "NetConfPort": 830, "JtiConfig": { "ReportRate": 60, "Dscp": 20, "DeviceLocalPort": 21112, "LocalAddress": "172.16.0.1", "ForwardingClass": "best-effort", "SensorList": [ { "Name": "Interface_Sensor", "Resource": "/junos/system/linecard/interface/" } ] } }, "ManagementIp": "10.1.1.4", "Name": "qfx3", "Source": ["user.jti"], "NetworkDeviceId": "qfx3", "ChassisType": "tor", "ConnectionInfo": [ { "remote_interface_name": "et-0/0/2", "local_interface_name": "et-0/1/0", "remote_system_id": "qfx2" } ] } } ] }
フィールドに MetaData.JtiConfig.SensorList
指定できる値は次のとおりです。
「/junos/system/linecard/CPU/memory/」
「/junos/system/linecard/fabric/」
「/junos/system/linecard/firewall/」
「/junos/system/linecard/interface/」
「/junos/system/linecard/interface/logical/usage/」
「/junos/system/linecard/npu/memory/」
「/junos/system/linecard/npu/utilization/」
「/junos/system/linecard/optics/」
「/junos/system/linecard/packet/usage/」
「/junos/system/linecard/qmon/」
これらはすべて、Contrail InsightsがすぐにサポートするJTI UDPセンサーです。追加のJTIセンサー監視を有効にするには、 JTI、gRPC、およびNETCONF用のカスタムセンサー で詳細を確認してください。
変数 、 、 、 、 、および はオプションの変数ForwardingClass
であることに注意してください。はデフォルトで 21112 に設定され、デフォルトは 20 で、これらの値を指定しない場合のデフォルトは 60 になります。 DeviceLocalPort
LocalAddress
は、 DeviceLocalPort
LocalAddress
Dscp
Dscp
ReportRate
PayloadSize
デバイス構成で of export-profile
を設定するlocal-address
ために使用されます。 ReportRate
を指定しない場合LocalAddress
、Contrail Insights はデバイスのManagementIp
フィールドを使用してデバイス上で を設定しますlocal-address
export-profile
。
gRPC デバイス用のネットワーク デバイス JSON の例
{ "NetworkDeviceList": [ { "NetworkDevice": { "MetaData": { "Version": "17.2R1", "Username": "root", "Password": "pass", "NetConfPort": 830, "GrpcConfig": { "DeviceLocalPort": 50051, "SSLEnabled": false, "SensorList": [ { "Resource": "/interfaces/", "ReportRate": 60 }, { "Resource": "/junos/system/subscriber-management/infra/sdb/statistics/", "ReportRate": 60 } ] }, "ManagementIp": "10.1.1.4", "Name": "qfx4", "Source": ["user.grpc"], "NetworkDeviceId": "qfx4", "ChassisType": "tor", "ConnectionInfo": [ { "remote_interface_name": "et-0/0/2", "local_interface_name": "et-0/1/0", "remote_system_id": "qfx5" } ] } } ] }
フィールドに MetaData.GrpcConfig.SensorList
指定できる値は次のとおりです。
"/arp-information/ipv4/neighbors/neighbor/"
"/bgp-rib/afi-safis/afi-safi/ipv4-unicast/loc-rib/"
"/bgp-rib/afi-safis/afi-safi/ipv4-unicast/neighbors/"
/bgp-rib/afi-safis/afi-safi/ipv6-unicast/loc-rib/"
"/bgp-rib/afi-safis/afi-safi/ipv6-unicast/neighbors/"
"/コンポーネント/"
"/interfaces/"
"/junos/npu-memory/"
"/junos/rsvp-interface-information/"
「/junos/services/label-switched-path/usage/」
「/junos/services/segment-routing/interface/egress/usage/」
「/junos/services/segment-routing/interface/ingress/usage/」
「/junos/services/segment-routing/sid/usage/」
「/junos/system/linecard/CPU/memory/」
「/junos/system/linecard/firewall/」
「/junos/system/linecard/intf-exp/」
「/junos/system/linecard/npu/memory/」
「/junos/system/linecard/npu/utilization/」
「/junos/system/linecard/optics/」
「/junos/system/linecard/packet/usage/」
「/junos/system/linecard/qmon-sw/」
「/junos/system/subscriber-management/aaa/accounting-statistics/」
「/junos/system/subscriber-management/aaa/dynamic-request-statistics/」
「/junos/system/subscriber-management/client-protocols/dhcp/v6/」
「/junos/system/subscriber-management/client-protocols/dhcp/v4/」
「/junos/system/subscriber-management/client-protocols/l2tp/summary/」
"/junos/system/subscriber-management/client-protocols/ppp/statistics/"
「/junos/system/subscriber-management/client-protocols/pppoe/statistics/」
"/junos/system/subscriber-management/infra/network/ppp/"
「/junos/system/subscriber-management/infra/network/pppoe/」
「/junos/system/subscriber-management/infra/sdb/statistics/」
"/junos/task-memory-information/task-memory-overall-report/task-memory-stats-list/task-memory-stats/"
"/junos/task-memory-information/task-memory-overall-report/task-size-block-list/task-size-block/"
"/lacp/"
"/lldp/interfaces/interface/neighbors/"
"/lldp/interfaces/interface/state/"
"/nd6-information/"
これらはすべて、Contrail InsightsがすぐにサポートするgRPCセンサーです。追加の gRPC センサー監視を有効にするには、詳細については、 JTI、gRPC、および NETCONF 用のカスタム センサー を参照してください。
この変数 SSLEnabled
は、デバイスへの安全な接続を設定するかどうかを決定することに注意してください。詳細については、「 Contrail Insights JTI(gRPC)モニタリング」 を参照してください。
DeviceLocalPort
はオプションの変数で、デフォルトは 50051 です。
NetConfデバイス用のネットワークデバイスJSONの例
{ "NetworkDeviceList": [ { "NetworkDevice": { "MetaData": { "Version": "17.2R1", "Username": "root", "Password": "pass", "NetConfPort": 830, "NetConfConfig": { "CommandList": [ { "CommandLine": "show interfaces terse", "Interval": 60 } ] }, "ManagementIp": "10.1.1.5", "Name": "qfx5", "Source": ["user.netconf"], "NetworkDeviceId": "qfx5", "ChassisType": "tor", "ConnectionInfo": [ { "remote_interface_name": "et-0/1/0", "local_interface_name": "et-0/0/2", "remote_system_id": "qfx4" } ] } } ] }