ネットワークの監視を構成するときに使用できるすべてのオプションを確認したい場合は、次のセクションを参照してください。
snmp-base.yaml
サンプルファイル
以下は、SNMP およびフロー データ デバイスをポーリングするためにktranslate
Docker イメージによって使用されるsnmp-base.yaml
ファイルで使用できるさまざまな構成オプションの例です。GitHub の KTranslate リポジトリで、多くのコメントが付けられたサンプルを参照することもできます。
# Configuration of every device monitored by this containerdevices: # Sample of SNMP v2c device ups_snmpv2c__10.10.0.201: device_name: ups_snmpv2c device_ip: 10.10.0.201 snmp_comm: $YOUR_COMMUNITY_STRING 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 purge_after_num: 1 # 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: $YOUR_USER_NAME authentication_protocol: $YOUR_AUTH_PROTOCOL authentication_passphrase: $YOUR_AUTH_PASSPHRASE privacy_protocol: $YOUR_PRIVACY_PROTOCOL privacy_passphrase: $YOUR_PRIVACY_PASSPHRASE 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: $YOUR_COMMUNITY_STRING 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 provider: kentik-ping user_tags: owning_team: load_balancing ping_only: true ping_interval_sec: 5 # Sample of Arista eAPI device arista_eapi_10.10.0.230: device_name: arista_eapi device_ip: 10.10.0.230 snmp_comm: public oid: .1.3.6.1.4.1.30065.1.3011.7020.3735.24.2878.2 description: "Arista Networks EOS version 4.22.9M running on an Arista Networks DCS-7020SR-24C2" last_checked: 2021-11-09T18:14:59.907821489Z mib_profile: arista-switch.yml provider: kentik-switch discovered_mibs: - ARISTA-BGP4V2-MIB - ARISTA-QUEUE-MIB - BGP4-MIB - HOST-RESOURCES-MIB - IF-MIB ext: ext_only: false eapi_config: username: $YOUR_ARISTA_API_USERNAME password: $YOUR_ARISTA_API_PASSWORD transport: https port: 443 # Sample of Meraki Dashboard API device meraki_dashboard_api: device_name: meraki_controller device_ip: snmp.meraki.com provider: meraki-cloud-controller ext: ext_only: true meraki_config: api_key: $YOUR_MERAKI_API_KEY monitor_devices: true monitor_org_changes: true monitor_uplinks: true monitor_vpn_status: true organizations: - "Top Org.*" networks: - "Production" - "Guest" product_types: - wireless preferences: device_status_only: true show_vpn_peers: true hide_uplink_usage: false# Configuration for receipt of SNMP Trapstrap: listen: 0.0.0.0:1620 community: public version: "" transport: "" v3_config: null trap_only: false# Configuration for the SNMP discovery jobdiscovery: cidrs: - 10.0.0.0/24 - 10.0.0.202/32 ignore_list: - 10.0.0.98 - 10.0.0.99 debug: false ports: - 161 - 1161 default_communities: - $YOUR_COMMUNITY_STRING_1 - $YOUR_COMMUNITY_STRING_2 - $YOUR_COMMUNITY_STRING_3 use_snmp_v1: false default_v3: null add_mibs: true threads: 4 add_devices: true replace_devices: true no_dedup_engine_id: false check_all_ips: trueglobal: poll_time_sec: 60 drop_if_outside_poll: false mib_profile_dir: /etc/ktranslate/profiles mibs_db: /etc/ktranslate/mibs.db mibs_enabled: - ARISTA-BGP4V2-MIB - ARISTA-QUEUE-MIB - BGP4-MIB - CISCO-MEMORY-POOL-MIB - CISCO-PROCESS-MIB - HOST-RESOURCES-MIB - IF-MIB - OSPF-MIB - PowerNet-MIB_UPS timeout_ms: 3000 retries: 0 global_v3: null response_time: false user_tags: environment: production match_attributes: if_Description: ".*WAN.*" purge_devices_after_num: 0
SNMPv3 オプション
APIポーリング構成
ヒント
aws.sm.$SECRET_NAME
構文を使用して API 設定でAWS Secrets Manager をネイティブに使用できます。必要に応じて$SECRET_NAME
を置き換えて、Docker 実行時にktranslate
が認証情報を取得できるようにします。
AWS の秘密
ktranslate
には、AWS Secrets Managerからキーを取得するためのサポートが組み込まれています。
外部設定ファイル
さまざまな構成と自動化のニーズをサポートするために、Dockerコンテナーにボリュームマウントする外部ファイルを使用して、標準構成ファイルの特定の要素を分離できます。
これらのファイルの構文は、二重引用符を含めて"@fileName.extension"
です。
match_attributes
属性
可観測性のニーズに見合う価値を生み出さないデータのフィルタリングをサポートするために、 global.match_attributes.{}
またはdevices.[].match_attributes.{}
属性マップを設定できます。
これにより、New Relic にデータを送信する前に、 ktranslate
レベルでフィルタリングが提供され、インターフェースなどの監視をきめ細かく制御できるようになります。
このマップのデフォルトの動作はOR
条件ですが、これをオーバーライドして、キー名の前に!
を付けることでAND
演算子を強制することができます。これは、一致したアイテムのみを返し、すべてのnull
および""
(空の)結果を省略する場合にも役立ちます。
response_time
属性とping_only
属性
パフォーマンス統計にアクセスできない、または利用できないデバイスの監視をサポートするため、または基本的なラウンドトリップ時間(RTT)の監視が必要な単純な場合に、 global.response_time
またはdevices.[].ping_only
属性をtrue
に設定できます。
この機能は、平均、最小、最大、および stddev ラウンドトリップ時間 (RTT) を収集するために、 go-pingパッケージを使用して ICMP または非特権 UDP パケットをデバイスに送信します。このパッケージは、 ktranslate
からデバイスの IP アドレスに 1 秒あたり 1 パケットを送信することに基づいて、エンドポイントのパケット損失率も示します。これは、 devices.[].ping_interval_sec
属性を設定することでオーバーライドできます。Docker ランタイム中にKENTIK_PING_PRIV=false
環境変数を設定することにより、特権 ICMP パケットまたは UDP のデフォルトの使用から切り替えることができます。
global.response_time
属性をtrue
に設定すると、既存のSNMPポーリングに加えてRTT監視が追加されます。RTTのUDP|ICMPパケットのみを使用し、SNMPポーリングを使用しないデバイスを監視するには、 devices.[].ping_only: true
を使用します。
New Relicでは、次のメトリックを調査することで、このポーリングの結果を確認できます。
FROM Metric SELECT average(kentik.ping.AvgRttMs) AS 'Average', max(kentik.ping.MaxRttMs) AS 'Max', min(kentik.ping.MinRttMs) AS 'Min', average(kentik.ping.StdDevRtt) AS 'StdDev', latest(kentik.ping.PacketLossPct) AS 'Packet Loss %'FACET device_name
ヒント
フローデバイスからRTTメトリックを収集する場合は、 flow_only
属性の代わりにping_only
属性を使用できます。ping_only
とflow_only
の両方がtrue
の場合、デバイスはflow_only
デバイスとして扱われます。
flow_only
属性
フロー データのみを収集するデバイスのモニタリングをサポートするには、 devices.<deviceName>.flow_only
属性をtrue
に設定します。
これにより、 KFlow
イベント名前空間にのみテレメトリを持つフローデバイスエンティティが生成されます。または、構成ファイルにSNMPデバイスとして含まれているデバイスからフローテレメトリを収集すると、ルーターやファイアウォールなどの既存のエンティティにKFlow
データの装飾が追加されます。
New Relicでは、次のイベントを調査することで、このポーリングの結果を確認できます。
FROM KFlow SELECT *WHERE instrumentation.name = 'netflow-events'
フローデータアプリケーションマッピング
デフォルトでは、フローテレメトリは、特定のフロー会話で使用されているレイヤー4ポートの評価に基づいて、既知のアプリケーションにマッピングされます。必要に応じて、Dockerの実行時に-application_map
フラグにYAMLファイルを提供することで、デフォルトのマッピングをオーバーライドできます。これにより、識別したポートに基づいてアプリケーション名を指定できます。
構文例:
applications: - ports: [9092, 9093] name: kafka - ports: [80, 8080] name: http - ports: [443, 8443] name: https
フローデータ入力フィルタリング
デフォルトでは、フローデータコンテナは受信したすべてのフローパケットを収集して処理します。必要に応じて、指定したフィルターと一致しないすべてのトラフィックを無視する包含フィルターを-nf.source
フラグに追加できます。