ネットワークパフォーマンスのモニタリングを設定する際に使用できるすべてのオプションを確認したい場合は、次のセクションを参照してください。
SNMP-baseのYAMLサンプルファイル
ここでは、 snmp-base.yaml
ファイルで利用できるさまざまな設定オプションの例を示しています。これは、 ktranslate docker imageがSNMPやフローデータのデバイスをポーリングする際に使用されるものです。また、GitHub の ktranslate リポジトリでは、大きくコメントされたサンプルを見ることができます。
devices: # Sample of SNMP v2c device ups_snmpv2c__10.10.0.201: device_name: ups_snmpv2c device_ip: 10.10.0.201 snmp_comm: public oid: .1.3.6.1.4.1.318.1.3.27 description: "APC Web/SNMP Management Card (MB:v4.1.0 PF:v6.2.1 PN:apc_hw05_aos_621.bin AF1:v6.2.1 AN1:apc_hw05_sumx_621.bin MN:AP9537SUM HR:05 SN: ABC123DEF456 MD:05/21/2016) (Embedded PowerNet SNMP Agent SW v2.2 compatible)" last_checked: 2021-11-09T18:14:59.907821489Z mib_profile: apc_ups.yml provider: kentik-ups poll_time_sec: 300 retries: 1 timeout_ms: 5000 user_tags: owning_team: dc_ops discovered_mibs: - PowerNet-MIB_UPS - TCP-MIB - UDP-MIB # Sample of SNMP v3 device router_snmpv3__10.10.0.202: device_name: router_snmpv3 device_ip: 10.10.0.202 snmp_v3: user_name: userNamev3 authentication_protocol: MD5 authentication_passphrase: authPassPrivacy privacy_protocol: AES256 privacy_passphrase: passPrivacy oid: .1.3.6.1.4.1.9.1.544 description: "Cisco IOS Software, 3800 Software (C3845-ADVENTERPRISEK9-M), Version 15.1(3)T4, RELEASE SOFTWARE (fc1)\r\nTechnical Support: http://www.cisco.com/techsupport\r\nCopyright (c) 1986-2012 by Cisco Systems, Inc.\r\nCompiled Thu 24-May-12 04:27 by prod_rel_team" last_checked: 2021-11-09T18:14:59.907821489Z mib_profile: cisco-asr.yml provider: kentik-router user_tags: owning_team: core-networking discovered_mibs: - BGP4-MIB - CISCO-MEMORY-POOL-MIB - CISCO-PROCESS-MIB - IF-MIB - OSPF-MIB engine_id: "80:00:01:01:0a:14:1e:28" match_attributes: if_interface_name: "^Ten.*|^Gig.*" "!if_Alias": "[Uu]plink" # Sample of SNMP v1 device netbotz_snmpv1__10.10.0.203: device_name: netbotz_snmpv1 device_ip: 10.10.0.201 snmp_comm: public use_snmp_v1: true oid: .1.3.6.1.4.1.5528.100.20.10.2013 description: "Linux netbotz930A7A 2.6.12 #307 Wed Dec 29 15:25:32 EST 2010 ppc" last_checked: 2021-11-09T18:14:59.907821489Z mib_profile: apc-netbotz.yml provider: kentik-netbotz user_tags: owning_team: sys_ops discovered_mibs: - IF-MIB - IP-MIB - TCP-MIB - UDP-MIB no_use_bulkwalkall: true # Sample of "flow only" device flow_only__10.10.0.210: device_name: flow_only device_ip: 10.10.0.210 user_tags: owning_team: net_eng flow_only: true # Sample of "ping only" device ping_only__10.10.0.220: device_name: ping_only device_ip: 10.10.0.220 user_tags: owning_team: load_balancing ping_only: truetrap: listen: 127.0.0.1:1162 community: public version: "" transport: "" v3_config: nulldiscovery: cidrs: - 10.0.0.0/24 - 10.0.0.202/32 debug: false ports: - 161 - 1161 default_communities: - public - public123 - Publ!cABC use_snmp_v1: false default_v3: null add_mibs: true threads: 4 add_devices: true replace_devices: true no_dedupe_engine_id: falseglobal: poll_time_sec: 60 drop_if_outside_poll: false mib_profile_dir: /etc/ktranslate/profiles mibs_db: /etc/ktranslate/mibs.db mibs_enabled: - BGP4-MIB - CISCO-MEMORY-POOL-MIB - CISCO-PROCESS-MIB - IF-MIB - IP-MIB - OSPF-MIB - PowerNet-MIB_UPS - TCP-MIB - UDP-MIB timeout_ms: 3000 retries: 0 global_v3: null response_time: false user_tags: environment: production match_attributes: if_Description: ".*WAN.*"
オプションの外部設定ファイル
様々な設定や自動化のニーズに対応するために、Dockerコンテナにボリュームマウントした外部ファイルを使用して、標準の設定ファイルの特定の要素を切り離すことができます。
これらのファイルの構文は、 " @fileName.extension"
となっており、二重引用符を含んでいます。
ディスカバリーCIDR
例:
discovery: cidrs: "@cidrs.yaml"
CIDRsファイルは、以下のようなYAMLリスト構文を使用する必要があります。
- 10.10.0.0/24- 10.20.0.0/24- 192.168.0.21/32
デバイス
例:
devices: - "@neteng-devices.yaml" - "@dc-ops.yaml"
デバイスファイルは、メインコンフィグファイルの標準 devices
セクションと同じ構文を使用し、ディスカバリー時に生成されるオプションフィールドは省略します。
devices: # Sample of SNMP v2c device ups_snmpv2c__10.10.0.201: device_name: ups_snmpv2c device_ip: 10.10.0.201 snmp_comm: public oid: .1.3.6.1.4.1.318.1.3.27 mib_profile: apc_ups.yml provider: kentik-ups poll_time_sec: 300 retries: 1 timeout_ms: 5000 user_tags: owning_team: dc_ops
match_attributes 属性
オブザーバビリティのニーズに対して価値を生まないデータのフィルタリングをサポートするために、 global.match_attributes.{}を設定することができます。
および/または デバイス。<deviceName>.match_attributes.{}。
属性マップ。
これにより、New Relic にデータを送信する前に ktranslate レベルのフィルタリングが行われ、インターフェイスなどのモニタリングをきめ細かく制御できるようになります。
このマップのデフォルトの動作は、 OR の条件ですが、これを上書きして、キー名の前に AND の演算子を強制することができます。
。これは、マッチしたアイテムのみを返し、 null
および " "
(空) の結果をすべて省略する場合にも便利です。
flow_only 属性
パフォーマンス統計にアクセスできない、利用できない、または利用したいと思わないデバイスの監視をサポートするために、 デバイスを設定することができます。<deviceName>.flow_only
attribute to true
.
これにより、New Relic One に Flow Device エンティティが生成され、 KFlow
イベント名前空間のテレメトリのみを持つことになる。あるいは、SNMP デバイスとして設定ファイルにあるデバイスからフローの遠隔測定を収集すると、 KFlow
データの装飾が、 Router や Firewall などの既存のエンティティに追加されます。
New Relic Oneでは、以下のイベントを調査することで、このポーリングの結果を確認することができます。
FROM KFlow SELECT count(*) FACET device_name WHERE instrumentation.name = 'netflow-events' TIMESERIES
response_time and ping_only 属性です。
パフォーマンス統計にアクセスできない、または利用できないデバイスの監視をサポートするために、または基本的なラウンドトリップタイム(RTT)の監視が必要なシンプルなケースでは、 global.response_time
または デバイスを設定することができます。<deviceName>.ping_only
属性を true
.
この機能は go-ping パッケージを使用して、権限のないUDPパケットをデバイスに送信し、 ktranslate
からデバイスのIPアドレスに1パケット/秒を送信することに基づいて、エンドポイントの平均、最小、最大RTTを収集するためのものです。
global.response_time
属性を true
に設定すると、既存の SNMP ポーリングに加えて RTT モニタリングが追加されます。 devices.<deviceName>.ping_only: true
に設定すると、RTT 用の UDP パケットのみでデバイスを監視し、SNMP ポーリングは行いません。
New Relic Oneでは、以下のメトリクスを調査することで、このポーリングの結果を確認することができます。
FROM Metric SELECT average(kentik.ping.AvgRttMs) AS 'Average', max(kentik.ping.MaxRttMs) AS 'Max', min(kentik.ping.MinRttMs) AS 'Min' FACET device_name TIMESERIES
ヒント
フローデバイスからRTTメトリクスを収集したい場合は、 flow_only
属性の代わりに、 ping_only
属性を使用することができます。 ping_only
と flow_only
の両方が true
の場合、そのデバイスは flow_only
のデバイスとして扱われます。
フローデータのアプリケーションマッピング
デフォルトでは、フローテレメトリーは、特定のフローカンバセーションで使用されているレイヤー4ポートの評価に基づいて、既知のアプリケーションにマッピングされます。必要に応じて、Dockerのランタイム中にYAMLファイルを提供して、 -application_map
フラグを指定することで、デフォルトのマッピングを上書きすることができます。これにより、識別したポートに基づいてアプリケーション名を指定することができます。
例の構文です。
applications: - ports: [9092, 9093] name: kafka - ports: [80, 8080] name: http - ports: [443, 8443] name: https
フローデータ入力のフィルタリング
デフォルトでは、フローデータコンテナは、受信したすべてのフローパケットを収集して処理します。必要に応じて、 -nf.source
フラグに包含フィルタを追加することで、指定したフィルタに一致しないすべてのトラフィックを無視することができます。
構文を示します。 --filters $TYPE,$FIELD,$FUNCTION,$MATCH
引数の名前 | 必須 | 説明 |
---|---|---|
$TYPE | ✓ | 適用するフィルタのタイプ。可能な値は、 |
$FIELD | ✓ | マッチパターンを評価するフィールドの名前です。 |
FUNCTION | ✓ | 評価の際に使用する関数のタイプです。可能な値は |
マッチ | ✓ | マッチパターンとして使用される値です。 |
フィルターの例
10.0.0.0/24
CIDR範囲のソースアドレスからのフローデータのみを収集します。
-nf.source sflow --filters addr,src_addr,%,10.10.0.0/24
- デスティネーションポートが
8531 と一致しないフローデータのみを収集する。
-nf.source netflow5 --filters int,l4_dst_port,!=,8531
また、継承された AND
演算子で複数のフィルターをまとめて追加することもできます。
10.0.0.0/24
CIDR の範囲内で、かつ宛先ポートが8531 と一致しないソースアドレスからのフローデータのみを収集する。
--filters addr,src_addr,%,10.0.0.0/24 --filters int,l4_dst_port,!=,8531