2. ? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
SNMP
ストレ`ジ & 蛍裂
奮 & y協
愔瓦離皀縫織螢鵐以峽┐}泣
デ`タ伏撹w侭 デ`タ旋喘w侭
CLI
Syslog
SNMP
Server
Syslog
Collector
Scripts
掲リアル
タイム
バックエンド貧への薦な塞
?なエンコ`ディング、トランスポ`
ト、デ`タモデル、タイムスタンプの屎
サが駅勣
3. ? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
仟しいパラダイムへ
奮 & y協
デ`タ伏撹w侭 デ`タ旋喘w侭
T
T
T
リアル
タイム
辛嬬な泙
より謹くのデ`タ
より堀く
より叨に羨つ
より否叟に
ストレ`ジ & 蛍裂
4. ? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Telemetry仟しいアプロ`チ
プル侏ではなくプッシュ侏
盾裂辛嬬なデ`タ
デ`タモデルドリブン
5. ? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Model Driven
API(s)
Model Driven
Telemetry
Model Driven
Manageability
Model Driven Manageability
6. ? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
NETCONF/RESTCONF/gRPCトランスポ`ト
XML/JSON/GPB/´ エンコ`ディング
YANGモデル
ネイティブ & OpenConfig
ル`タ オプティカル
Model-Driven API (NETCONF/RESTCONF)
OpenConfig Streaming Telemetry / IETF YANG-Push
Model-Driven テレメトリ
(Pub/Sub, イベントベ`ス)
Medel-Driven
コンフィグ
レ`ション
. . . . .
Model Driven Manageability
7. ? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
? ネイティブデ`タモデルはほとんどのコ
ンフィグレ`ションとオペレ`ション
譴鯡畊
? オ`プンモデルはネイティブデ`タモデ
ルにマッピングされる
? オ`プンモデルからの叺用はdeviationモ
ジュ`ルで協x
Native vs Open Data Models
Native Model
Open
Model
Native device
config/oper
data
Mapped
config/oper
data
Deviations
8. ? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
? 匯違として互C嬬、互瞳|
? 喘議な喘余に浙
? インテグレ`ションがyしい
? $$$
? 弼?とインテグレ`ションできる
? ネットワ`クC匂箸g廾圭塀と秤皷_幣
醤栽による
? Sしい
チョイス@Telemetry
てれめったとき
ベンダu OSS試喘
書晩はこっちにフォ`カスして、
C匂g廾とツ`ルチェ`ンをごB初
? ネットワ`クC匂參翌のコンポ`ネント┘灰譽タ、デ`タベ`ス、ダッシュ
ボ`ド吉をどうするかには、寄きく2つxk岔がある???
9. ? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
XR嶄伉にC匂g廾
10. ? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
10BRKSPG-2069
Model-Driven Telemetry O協箭
telemetry model-driven
destination-group DGroup1
address family ipv4 192.0.2.1 port 5432
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 10000
destination-id DGroup1
どういった侘塀でどこに僕る
どういったデ`タ
どういったl業で
11. ? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
11BRKSPG-2999
sensor-group: 函誼するデ`タの峺協
telemetry model-driven
sensor-group SGROUP1
sensor-path Cisco-IOS-XR-infra-statsd-oper:infra-
statistics/interfaces/interface/latest/generic-counters
YANG Model
subtree path
どういったデ`タ
12. ? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
YANGモデルはGithubに巷_
どういったデ`タ
? 500除いオペレ`ションYANG モデルが贋
壓するIOS XR6.4.2F壓
https://github.com/YangModels/yang/tree/master/vendor/cisco/
xr
14. ? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
14BRKSPG-2999
麼勣なSensor Path: システム
Data Model
Interface Oper State Cisco-IOS-XR-pfi-im-cmd-oper:interfaces/interface-xr/interface
Interface Data Rate
Cisco-IOS-XR-infra-statsd-oper:infra-
statistics/interfaces/interface/latest/data-rate
Interfaces Stats
Cisco-IOS-XR-infra-statsd-oper:infra-
statistics/interfaces/interface/latest/generic-counters
Optics Ports Info
Cisco-IOS-XR-controller-optics-oper:optics-oper/optics-ports/optics-
port/optics-Info
Uptime Info Cisco-IOS-XR-shellutil-oper:system-time/uptime
CPU State Cisco-IOS-XR-wdsysmon-fd-oper:system-monitoring/cpu-utilization
Memory Info Cisco-IOS-XR-nto-misc-oper:memory-summary/nodes/node/summary
Processes Memory Cisco-IOS-XR-procmem-oper:processes-memory/nodes
NCS5500 NPU Stats Cisco-IOS-XR-fretta-bcm-dpa-npu-stats-oper:dpa/stats/nodes/node
NCS5500 NPU Resources
Cisco-IOS-XR-fretta-bcm-dpa-hw-resources-
oper:dpa/stats/nodes/node/hw-resources-datas/hw-resources-data
どういったデ`タ
15. ? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
15BRKSPG-2999
麼勣なSensor Path: プロトコル
Data Model
LLDP Info
Cisco-IOS-XR-ethernet-lldp-
oper:lldp/nodes/node/neighbors/summaries/summary
IPv4 RIB Info
Cisco-IOS-XR-ip-rib-ipv4-oper:rib/vrfs/vrf/afs/af/safs/saf/ip-rib-route-table-
names/ip-rib-route-table-name/routes/route
IPv6 RIB Info
Cisco-IOS-XR-ip-rib-ipv6-oper:ipv6-rib/vrfs/vrf/afs/af/safs/saf/ip-rib-route-
table-names/ip-rib-route-table-name/routes/route
BGP IPv4 Routes Info
Cisco-IOS-XR-ip-rib-ipv4-oper:rib/vrfs/vrf/afs/af/safs/saf/ip-rib-route-table-
names/ip-rib-route-table-name/protocol/bgp/as/information
BGP IPv6 Routes Info
Cisco-IOS-XR-ip-rib-ipv6-oper:ipv6-rib/vrfs/vrf/afs/af/safs/saf/ip-rib-route-
table-names/ip-rib-route-table-name/protocol/bgp/as/information
BGP IPv4 Neighbor
Cisco-IOS-XR-ipv4-bgp-oper:bgp/instances/instance/instance-active/default-
vrf/neighbors/neighbor
MPLS-TE Tunnels Cisco-IOS-XR-mpls-te-oper:mpls-te/tunnels/summary
RSVP Interface Info Cisco-IOS-XR-ip-rsvp-oper:rsvp/interface-briefs/interface-brief
どういったデ`タ
16. ? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Dial-Out
? TCP & gRPC (from 6.1.1)
? UDP (from 6.2.1)
Dial-In
? gRPC only (from 6.1.1)
16
トランスポ`トのタイプ
Collector
Data
SYN
SYN-ACK
ACK
Collector
Data
SYN
SYN-ACK
ACK
どこに僕る
17. ? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
17
destination-group: 乱枠
telemetry model-driven
destination-group DGROUP
address family ipv4 192.168.1.1 port 2104
---- and/or ----
address family ipv6 2001:db8::1 port 2104
encoding self-describing-gpb
protocol tcp
どこに僕る
Dial-In圭塀のときは address family ... 佩を福待
18. ? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
エンコ`ディング
エンコ`ディングはデ`タをネットワ`クU喇で僕佚できる侘塀にQ
レシ`バは圷のデ`タと吭龍議に揖匯のコピ`を恬撹するためにデコ`ドをg仏
DATA
DATA
^Decode ̄
^Encode ̄
エンコ`ディング
? Compact GPB
? Self-describing
GPB
? JSON (XR 6.3.1)
18
どういった侘塀で
19. ? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
GPB compact vs. GPB self-describing
1: GigabitEthernet0/0/0/0
50: 449825
51: 41624083
52: 360333
53: 29699362
54: 91299
<snip>
2蔚堀い
Operationを燕すYANGモデル阿縫瓮奪皐`
ジ協x.protoファイルが駅勣
{InterfaceName: GigabitEthernet0/0/0/0
GenericCounters {
PacketsSent: 449825
BytesSent: 41624083
PacketsReceived: 360333
BytesReceived: 29699362
MulticastPacketsReceived: 91299
<snip>
3蔚寄きい
Telemetryヘッダのメッセ`ジ協x.proto
ファイルのみ
GPB C ^compact ̄ GPB C ^self-describing ̄
19
20. ? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
┐まけちょ、そこkwsk
syntax = "proto3";
option go_package = "telemetry_bis";
/* Common Telemetry message */ // this is common for both
message Telemetry {
oneof node_id {
string node_id_str = 1;
bytes node_id_uuid = 2; // not used
}
oneof subscription {
string subscription_id_str = 3;
uint32 subscription_id = 4; // not used
}
string sensor_path = 5; // not used
string encoding_path = 6;
string model_version = 7; // not used
uint64 collection_id = 8;
uint64 collection_start_time = 9;
uint64 msg_timestamp = 10;
repeated TelemetryField data_gpbkv = 11;
TelemetryGPBTable data_gpb = 12;
uint64 collection_end_time = 13;
uint64 heartbeat_sequence_number = 14; // not used
}
/* KV GPB specific payload definition */
message TelemetryField {
uint64 timestamp = 1;
string name = 2;
oneof value_by_type {
bytes bytes_value = 4;
string string_value = 5;
bool bool_value = 6;
uint32 uint32_value = 7;
uint64 uint64_value = 8;
sint32 sint32_value = 9;
sint64 sint64_value = 10;
double double_value = 11;
float float_value = 12;
}
repeated TelemetryField fields = 15;
}
/* (Compact) GPB specific payload definition */
message TelemetryGPBTable {
repeated TelemetryRowGPB row = 1;
}
message TelemetryRowGPB {
uint64 timestamp = 1;
bytes keys = 10;
bytes content = 11;
}
https://github.com/cisco/bigmuddy-network-telemetry-
proto/blob/master/staging/telemetry.proto
21. ? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
21BRKSPG-2999
Subscription: 畠てをまとめる
telemetry model-driven
subscription SUB1
sensor-group-id SGROUP1 sample-interval 30000
destination-id DGROUP1
どういったl業で
22. ? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
g廾彜rまとめ
サポ`ト デ`タモデル トランス
ポ`ト
エンコ`ディ
ング
Data Plane
Telemetry
IOS XR 6.1.1 Native(YANG)
OpenConfig(YANG)
TCP
UDP
gRPC
JSON
GPB
? *
NXOS 7.3(0)I5(1) Native(not YANG)
Native(YANG) *
HTTP
gRPC
UDP *
JSON
GPB
? *
IOS XE 16.6.1 Native(YANG)
OpenConfig(YANG)
Netconf XML
* Roadmap
23. ? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
ツ`ルチェ`ン
24. ? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
OSS試喘の畠悶
Collector Datastore DashboardMessaging
26. ? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
? LogstashのCodecプラグイン
? N源なLogstash Outputプラグイン(Elasticksearch, Kafka, etc)とMみ栽わせて聞える
? PrometheusやSignal FXのためにHTTPでメトリック秤鵑鯡畊するOutputプラグイン
? ELK,Prometheus,Signal FX,Apache竃薦にそれぞれに鬉靴尽O協gみのDockerベ`
スのスタックが贋壓┐△までデモ喘余、サンプルO協として歌深になる
Logstashプラグイン
https://github.com/cisco/bigmuddy-network-telemetry-stacks
https://github.com/cisco/logstash-output-bigmuddy-network-telemetry-metrics
https://github.com/cisco/logstash-codec-bigmuddy-network-telemetry
https://github.com/cisco/logstash-codec-bigmuddy-network-telemetry-gpb
(JSON encodingに)
27. ? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
? fluent-plugin-telemetry-iosxr
? fluent-plugin-telemetry-iosxe
Fluentdプラグイン(Cisco掲巷塀)
https://github.com/tetsusat/fluent-plugin-telemetry-iosxr
https://github.com/tetsusat/fluent-plugin-telemetry-iosxe
https://rubygems.org/gems/fluent-plugin-telemetry-iosxr
https://rubygems.org/gems/fluent-plugin-telemetry-iosxe
28. ? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
デモ
29. ? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
デモ
Pipeline InfluxDB
Kapacitor
VM
Grafana
30. ? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Kapacitor
? オ`プンソ`スのr狼双
デ`タ鬚韻離禰`タI尖
エンジン
? 鏡徭DSLのTICKScriptで
gにアラ`トを恬撹
? HipChat、Slackなどとy
栽
31. ? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
歌深
dbrp "telemetry"."autogen"
stream
| from()
.measurement('Cisco-IOS-XR-wdsysmon-fd-oper:system-monitoring/cpu-utilization')
.where(lambda: "node-name" == '0/RP0/CPU0')
| alert()
.info(lambda: "total-cpu-one-minute" > 5)
.warn(lambda: "total-cpu-one-minute" > 10)
.crit(lambda: "total-cpu-one-minute" > 15)
.stateChangesOnly()
.message('{{ .Level }}: CPU utilization is {{ index .Fields "total-cpu-one-minute" }}%')
.log('/tmp/alerts.log')
.slack()
Kapacitorアラ`トO協(cpu_alert.tick)
32. ? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
歌深
...
[slack]
enabled = true
url = "https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX"
channel = "#demo"
username = ""
icon-emoji = ""
global = false
state-changes-only = false
ssl-ca = ""
ssl-cert = ""
ssl-key = ""
insecure-skip-verify = false
...
Kapacitorサ`ビスO協
33. ? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
? Everything you need to know about Pipeline
https://xrdocs.github.io/telemetry/tutorials/2018-03-01-everything-you-need-
to-know-about-pipeline/
歌深