ModelDriven Telemetry Discover a new way to monitor

  • Slides: 28
Download presentation
Model-Driven Telemetry Discover a new way to monitor your network Bo Finnemann Systems Architect

Model-Driven Telemetry Discover a new way to monitor your network Bo Finnemann Systems Architect 2020 -03 -12

Agenda • Model-Driven Telemetry (MDT) Overview • MDT Tools and Resources • Analytics Stack

Agenda • Model-Driven Telemetry (MDT) Overview • MDT Tools and Resources • Analytics Stack • Sample Use-case • Summary © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 2

MDT Overview © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 3

MDT Overview © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 3

Traditional Monitoring Concepts No Longer suited for Cloud-Scale Network Operations es su s I

Traditional Monitoring Concepts No Longer suited for Cloud-Scale Network Operations es su s I e l Sca Where Data Is Created Where Data Is Useful SNMP syslog Sensing & Measurement Storage & Analysis CLI ge c bje tt Su n ha C o d s Un ture c u tr Strong burden on back-end Normalize different encodings, transports, data models, timestamps © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 4 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 4

Streaming Telemetry Concepts Better suited for Cloud-Scale Network Operations Where Data Is Created Streaming

Streaming Telemetry Concepts Better suited for Cloud-Scale Network Operations Where Data Is Created Streaming Telemetry Where Data Is Useful Push paradigm Sensing & Measurement One consistent way to access Statistics, Oper state & Events @ all layers High Performance: 10 sec Multiple encodings & Transport Storage & Analysis Volume: Scale of Data Velocity: Analysis of Streaming Data Variety: Different Forms of Data © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 5 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 5

Definition Telemetry: Process for collection of any useful operational data Model-Driven Telemetry: YANG-based Telemetry

Definition Telemetry: Process for collection of any useful operational data Model-Driven Telemetry: YANG-based Telemetry (Based on Data Modelling Language) • • • Inherits the power of YANG models Ensure that the vast quantities of YANG data is usable Making it easier to define, consume, and subscribe to the data you want With Yang, you can generate API’s. Data Models generate API’s. Same Models are used for Operation and Configuration. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 6

Implementation Options Data Modelling Language Mode of Operation Driver Transport Protocol YANG Dial-in, Dial-out

Implementation Options Data Modelling Language Mode of Operation Driver Transport Protocol YANG Dial-in, Dial-out Interval-driven, Event-driven TCP, g. RPC, g. NMI Encoding JSON, Compact GPB, Key-Value GPB (KV-GPB) Encryption TLS, non-TLS g. RPC: (google) Remote Procedure Call. https: //grpc. io/ GNMI: g. RPC Network Management Interface. https: //github. com/openconfig/reference/blob/master/rpc/gnmi-specification. md GPB: Google Protocol Buffers. https: //blogs. cisco. com/sp/streaming-telemetry-with-google-protocol-buffers © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 7

How to select the mode: Dial-in vs Dial-out Dial-Out • Broader Flexibility in Transport

How to select the mode: Dial-in vs Dial-out Dial-Out • Broader Flexibility in Transport Options • No need to open ports for inbound management traffic • Anycast & Load-balancing, multiple collectors Dial-In • A single channel (config and telemetry) • Listening port on the router • No telemetry configuration on the router • Transient Connection • Only g. RPC/g. NMI available NB: Regardless of which side initiates the session, the router always streams the data to the collector at the requested intervals. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 8

Closed Loop Automation based on MDT Network Automation Alerting Service Change Automation Real-time tracking

Closed Loop Automation based on MDT Network Automation Alerting Service Change Automation Real-time tracking of network state Continuous Checks Engine Precheck Continu escheck Execution Execute PA SS Common Collector APIs Rollback FAIL Network configuration changes Post check Configuration Deployment (e. g. , NETCONF/YANG, SSH/CLI) © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 9

MDT Tools and Resources © 2020 Cisco and/or its affiliates. All rights reserved. Cisco

MDT Tools and Resources © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 10

https: //github. com/cisco-ie/anx Run as e. g. docker container on your pc © 2020

https: //github. com/cisco-ie/anx Run as e. g. docker container on your pc © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 11

Browse and search within the data model © 2020 Cisco and/or its affiliates. All

Browse and search within the data model © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 12

Show live data from the box © 2020 Cisco and/or its affiliates. All rights

Show live data from the box © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 13

Useful Links • Advanced NETCONF Explorer: https: //github. com/cisco-ie/anx • Telemetry Data Mapper: https:

Useful Links • Advanced NETCONF Explorer: https: //github. com/cisco-ie/anx • Telemetry Data Mapper: https: //github. com/cisco-ie/tdm • YANG model catalog and search engine: https: //yangcatalog. org/ • YANG model collection on Github: https: //github. com/Yang. Models/yang • IOS XR specific telemetry & programmability content: https: //xrdocs. io/ • Blogs tagged “telemetry“: https: //xrdocs. io/telemetry/tags/ • Good place to start: https: //xrdocs. io/telemetry/tutorials/2018 -06 -04 -ios-xrtelemetry-collection-stack-intro/ • © 2020 Telegraf Plugins: https: //github. com/influxdata/telegraf Cisco and/or its affiliates. All rights reserved. Cisco Confidential 14

More Useful Links • Cisco Live Sessions: • https: //www. ciscolive. com/global/on-demand-library. html? search=telemetry#/

More Useful Links • Cisco Live Sessions: • https: //www. ciscolive. com/global/on-demand-library. html? search=telemetry#/ Model-Driven Telemetry and Analytics - BRKNMS-3537 • Advanced Topics in Cisco OS Telemetry - BRKSPG-2503 • Model-driven Telemetry for closed Loop Automation - BRKNMS-2129 • • d. Cloud Demo’s (Labs in the cloud you can run yourself): • https: //dcloud 2 lon. cisco. com/content/catalogue? search=telemetry&screen. Command=open. Search. Screen&is. Logging. In=true Cisco Consuming XR Model Driven Streaming Telemetry Lab v 1 • Model-Driven Telemetry on Cisco IOS XR Lab v 1 • Cisco IOS XR 6. 0 Telemetry Lab v 1 • © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 15

Analytics Stack © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 16

Analytics Stack © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 16

The open-source TICK-Stack © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

The open-source TICK-Stack © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 17

Sample Use-case © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 18

Sample Use-case © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 18

Telemetry stack © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 19

Telemetry stack © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 19

The full Telemetry config ssh server v 2 ssh server vrf default ssh server

The full Telemetry config ssh server v 2 ssh server vrf default ssh server netconf vrf default ssh server logging grpc port 57777 ! telemetry model-driven destination-group DGroup 1 address-family ipv 4 192. 168. 10. 3 port 5432 encoding self-describing-gpb protocol tcp ! ! sensor-group Sgroup 101 sensor-path Cisco-IOS-XR-wdsysmon-fd-oper: system-monitoring/cpu-utilization sensor-path Cisco-IOS-XR-nto-misc-oper: memory-summary/nodes/node/summary sensor-path Cisco-IOS-XR-infra-statsd-oper: infra-statistics/interface/latest/data-rate sensor-path Cisco-IOS-XR-infra-statsd-oper: infra-statistics/interface/latest/generic-counters sensor-path Cisco-IOS-XR-ip-rib-ipv 4 -oper: rib/vrfs/vrf/afs/af/safs/saf/ip-rib-route-table-names/ip-rib-route-table-name/protocol/bgp/as/information ! subscription 1 sensor-group-id Sgroup 101 sample-interval 1000 destination-id DGroup 1 ! ! xml agent ssl ! xml agent tty ! netconf-yang agent ssh ! © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential end 20

Telemetry data sample ------- 2020 -03 -10 22: 43: 27. 225092755 +0000 UTC ------Summary:

Telemetry data sample ------- 2020 -03 -10 22: 43: 27. 225092755 +0000 UTC ------Summary: GPB(common) Message [192. 168. 10. 2: 35471(test_XR)/Cisco-IOS-XR-nto-misc-oper: memory-summary/nodes/node/summary msg len: 373] { "Source": "192. 168. 10. 2: 35471", "Telemetry": { "node_id_str": "test_XR", "subscription_id_str": "1", "encoding_path": "Cisco-IOS-XR-nto-misc-oper: memory-summary/nodes/node/summary", "collection_id": 992, "collection_start_time": 1583880207249, "msg_timestamp": 1583880207249, "collection_end_time": 1583880207270 }, "Rows": [ { "Timestamp": 1583880207269, "Keys": { "node-name": "0/RP 0/CPU 0" }, "Content": { "boot-ram-size": 0, "flash-system": 0, "free-application-memory": 969547776, "free-physical-memory": 949768192, "image-memory": 4194304, "io-memory": 0, "page-size": 4096, "ram-memory": 3221225472, "reserved-memory": 0, "system-ram-memory": 3221225472 } } ] }^C © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 21

Grafana complete graph configuration Configuration of a Graph with data model node, producer, interface

Grafana complete graph configuration Configuration of a Graph with data model node, producer, interface name, data field © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 22

Grafana – a smooth desktop a. Input Packet rate, 30 sec interval b. Input

Grafana – a smooth desktop a. Input Packet rate, 30 sec interval b. Input Packet rate, 1 sec interval © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential c. Output Packet rate, 30 sec interval d. Output Packet rate, 1 sec interval 23

Grafana Telemetry time resolution b. Input Packet rate, 30 sec (emulate SNMP) a. Traffic

Grafana Telemetry time resolution b. Input Packet rate, 30 sec (emulate SNMP) a. Traffic Generation, ping packets vagrant@vagrant-ubuntu-trusty-64: ~$ sudo ping 192. 168. 10. 2 -s 10000 -f PING 192. 168. 10. 2 (192. 168. 10. 2) 10000(10028) bytes of data. . ^C --- 192. 168. 10. 2 ping statistics --48333 packets transmitted, 48332 received, 0% packet loss, time 116739 ms rtt min/avg/max/mdev = 0. 504/2. 324/59. 655/3. 121 ms, pipe 5, ipg/ewma 2. 415/1. 199 ms> d. Output Packet rate, 30 sec (emulate SNMP) c. Input Packet rate, 1 sec interval © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential e. Input Packet rate, 1 sec interval 24

Grafana Telemetry & BGP route flap d. Output Packet rate, 1 sec interval a.

Grafana Telemetry & BGP route flap d. Output Packet rate, 1 sec interval a. Input Packet rate, 1 sec interval e. Output Packet rate, 30 sec int. b. Input Packet rate, 30 sec int. c. Green: Learned BGP routes. Orange: Deleted BGP© routes. 2020 Cisco and/or its affiliates. All rights reserved. f. Memory util drop as BGP routes are deleted Cisco Confidential 25

Summary © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 26

Summary © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 26

Summary • Model-Driven Telemetry is based on YANG data models. • MDT scales •

Summary • Model-Driven Telemetry is based on YANG data models. • MDT scales • MDT is a good replacement for SNMP / syslog / CLI and related complex parsing. • MDT supports event-based, interval-based (with duplication supression) and polling mode • MDT is a great basis for closed loop automation • Lots of information, blogs, training, labs and tools are available. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 27