605 09 06-16-mdtforckn · • product management trends ... sensor-path cisco-ios-xr-infra-statsd-...

26
Shelly Cadora Principal Engineer, Technical Marketing Model-Driven Telemetry

Upload: lydiep

Post on 27-May-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Shelly Cadora Principal Engineer, Technical Marketing

Model-Driven Telemetry

2 © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Use Cases •  Network Health •  Troubleshooting / Remediation •  SLAs, Performance Tuning •  Capacity Planning •  Product Management

Trends •  Centralized / Software-defined •  Speed •  Scale

We Need More Data

Capabilities

3 © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

SNMP

Incomplete

Scale Issues

Unstructured Subject to

Change

storage & analysis

sensing & measurement

Network data is bottlenecked

Where Data Is Created Where Data Is Useful

CLI

Syslog

SNMP Server

Syslog Collector

Scripts

Non real time

Strong burden on back-end

Must normalize different encodings, transports, data

models, timestamps

4 © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

The New Paradigm – Free the Data

sensing & measurement

Where Data Is Created Where Data Is Useful

T

T

T

Real time

As Much Data As Fast As Useful As Easy As Possible

Storage & analysis

5 © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Three Enablers for Telemetry

Push Not Pull

Analytics-Ready Data

Data-Model Driven

6 © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Instruction on: •  What data to collect •  With what cadence •  And send to where

Ultra-high level picture: Config

Collector

7 © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

telemetry model-driven destination-group DGroup1 address family ipv4 10.60.19.8 port 2104 encoding self-describing-gpb protocol tcp! sensor-group SGroup1 sensor-path Cisco-IOS-XR-infra-statsd-

oper:infra-statistics/interfaces/interface/latest/generic-counters

! subscription Sub1 sensor-group-id SGroup1 sample-interval 30000 destination-id DGroup1

Sample CLI (XR 6.1.1)

What Data to Collect

Where to Send and How

When

8 © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Config Model (XR 6.1.1) What Data to Collect

Where to Send and How

When

What Data to Collect

Where to Send and How

When

https://xrdocs.github.io/telemetry/tutorials/

9 © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

module: Cisco-IOS-XR-infra-statsd-oper +--ro infra-statistics +--ro interfaces +--ro interface* [interface-name] +--ro latest +--ro generic-counters +--ro packets-received +--ro bytes-received +--ro packets-sent +--ro bytes-sent +--ro multicast-packets-received +--ro broadcast-packets-received +--ro multicast-packets-sent etc…

How to Get Supported Models •  https://github.com/YangModels/yang/

tree/master/vendor/cisco/xr

•  NETCONF <capabilities>

Some Commonly Used Models

Use YANG Models in Sensor-Path

10 © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Ultra-high level picture: Transport Instruction on: •  What data to collect •  With what cadence •  And send to where

Collector Table 3 Table 2 Table 1

11 © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Dial-Out

•  TCP & gRPC

Dial-In

•  gRPC only

Three Transport Options

Collector

Data

SYN SYN-ACK

ACK Collector

Data

SYN SYN-ACK

ACK

12 © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

gRPC: Like REST But Different

Runs over HTTP/2 • Optimize for page load time • Server push, header compression, multiplexing,

TLS • RFC 7540 (May 2015) • Preserves most HTTP1.1 syntax

Defines Services (“RPCs”)

Encodes Using Google Protocol Buffers (“GPB” or “protobufs”)

•  Services and Messages •  Auto-generate code in many languages

12

http://www.grpc.io/docs/#hello-grpc

13 © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Instruction on: •  What data to collect •  With what cadence •  And send to where

Receiving unit Table 3 Table 2

Interface ifInErrors ifOutErrors ifHCOutOctets …

HundredGigabitEthernet 0/1/0/2 10 0 123456789 …

Bundle-Ether 42

3 0 234567890 …

… … … … …

Table 1

Ultra-high level picture: Encoded Data “I am the interface counters table”

14 © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Basic Concept: Encoding

Encoding (or “serialization”) translates data (objects, state) into a format that can be transmitted across the network. When the receiver decodes (“de-serializes”) the data, it has an semantically identical copy of the original data.

DATA

DATA

“Decode”

“Encode”

Common Text-Based Encodings

•  JSON •  XML

15 © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

GPB Encoding

Design Goals

•  Simplicity •  Performance •  Forward/Backward

Compatibility

Non-Goals

•  Human-Readable •  Self-Describing •  Text-based

Google Protocol Buffers (GPB)

Call them “protobufs”

for short “Protocol buffers are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data – think XML, but smaller, faster, and simpler.”

16 © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Telemetry Has Two GPB Encoding Options

1: GigabitEthernet0/0/0/0 50: 449825 51: 41624083 52: 360333 53: 29699362 54: 91299 <snip>

2X faster Operationally more complex (but not relative to SNMP!)

{InterfaceName: GigabitEthernet0/0/0/0 GenericCounters { PacketsSent: 449825 BytesSent: 41624083 PacketsReceived: 360333 BytesReceived: 29699362 MulticastPacketsReceived: 91299 <snip>

3X larger Native models: still need heuristics for key names

GPB – “compact” GPB – “self-describing”

17 © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Lesson Learned: It’s Not Hard to Beat SNMP

•  10 second poll / push •  3 pollers / telemetry receivers •  30 minute measurement intervals

•  288 100Gig E Interfaces (Line Rate) •  SNMP: IF-MIB (query by row)

18 © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Use Case: Bundle Polarization

Telemetry – 10 Second Push SNMP – 1 Minute Polling

G0/0/0/0 G0/0/0/1

Is the bundle polarized?

19 © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Use Case: Bundle Polarization

Telemetry – 10 Second Push G0/0/0/0 G0/0/0/1

Is the bundle polarized?

20 © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Use Case: Packet Loss Interpolation

VPN, Internet,

etc…

No Drops No Drops Drops Yours Yours

Not Yours

Pkts Tx

Pkts Rx

•  SNMP polling (5 min) •  first order linear interpolation •  detects ~10% packet loss

•  Telemetry (10-30 sec) •  Polynomial interpolation •  Smaller losses, faster

21 © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Different Customers, Different Models

Logstash

ElasticSearch

Kibana

ST Input Codec

Output Codec

Kafka

BYO Black Box

SST

Custom Open Source, Customizable

Proprietary or OS-based

SST

Commercial Stack

Prometheus Panda

22 © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

6.0.0 / 6.0.1

• 30 -> 10 Seconds

• Periodic • RP level • JSON, GPB • TCP, UDP • Native schemas • File-based policy • Open Source

tooling

6.1.1 “MDT”

• YANG-modeled data

• OpenConfig YANG

• Config/model-based policy

• gRPC

Future

• Event-based • Low-level data

Telemetry is a Journey

23 © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Tutorials and Blogs •  https://xrdocs.github.io/telemetry/ •  https://developer.cisco.com/site/ios-xr/ (devnet landing page for telemetry) •  http://blogs.cisco.com/sp/the-limits-of-snmp •  http://blogs.cisco.com/sp/why-you-should-care-about-model-driven-

telemetry •  https://youtu.be/tIN8BjHwpNs (NANOG 67: 10 Lessons from Telemetry)

YANG •  https://github.com/YangModels/yang/tree/master/vendor/cisco (Cisco

YANG models) •  https://github.com/CiscoDevNet/openconfig-getting-started (lots of

sample code)

24 © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Telemetry Tools on Github: •  https://github.com/cisco/bigmuddy-network-telemetry-stacks •  https://github.com/cisco/bigmuddy-network-telemetry-

collector

Demos and Lab •  https://dcloud-cms.cisco.com/ (dCloud telemetry lab) •  https://www.sdxcentral.com/resources/sdn-demofriday/cisco-

ios-xr-signalfx-demo-monitoring-your-modern-network/ (demo with signalFX)

•  https://youtu.be/F_S9-ctNFe0 (demo on NCS 5508)

25 © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Demo