際際滷

際際滷Share a Scribd company logo
恃儲 學寄
意艶鉛艶馨艶岳姻霞について
シスコシステムズ栽揖氏芙
? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
SNMP
ストレ`ジ & 蛍裂
奮 & y協
愔瓦離皀縫織螢鵐以峽┐}泣
デ`タ伏撹w侭 デ`タ旋喘w侭
CLI
Syslog
SNMP
Server
Syslog
Collector
Scripts
掲リアル
タイム
バックエンド貧への薦な塞
?なエンコ`ディング、トランスポ`
ト、デ`タモデル、タイムスタンプの屎
サが駅勣
? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
仟しいパラダイムへ
奮 & y協
デ`タ伏撹w侭 デ`タ旋喘w侭
T
T
T
リアル
タイム
辛嬬な泙
より謹くのデ`タ
より堀く
より叨に羨つ
より否叟に
ストレ`ジ & 蛍裂
? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Telemetry仟しいアプロ`チ
プル侏ではなくプッシュ侏
盾裂辛嬬なデ`タ
デ`タモデルドリブン
? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Model Driven
API(s)
Model Driven
Telemetry
Model Driven
Manageability
Model Driven Manageability
? 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
? 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
? 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岔がある???
? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
XR嶄伉にC匂g廾
? 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業で
? 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
どういったデ`タ
? 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
? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
輝するサブツリ`の冥し圭
13
$ pyang -f tree Cisco-IOS-XR-infra-statsd-oper.yang 
--tree-path infra-statistics/interfaces/interface/latest/generic-counters
module: Cisco-IOS-XR-infra-statsd-oper
+--ro infra-statistics
+--ro interfaces
+--ro interface* [interface-name]
+--ro latest
+--ro generic-counters
+--ro packets-received? uint64
+--ro bytes-received? uint64
+--ro packets-sent? uint64
+--ro bytes-sent? uint64
+--ro multicast-packets-received? uint64
´
? pyangはYANGモデルをQうための
ツ`ル
? モデルのバリデ`ション
? 麿のモデルYin, XMLスキ`マ吉へ
Q
? などなど
? ツリ`侘塀で燕Fすることもできる
https://github.com/mbj4668/pyang
どういったデ`タ
? 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
どういったデ`タ
? 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
どういったデ`タ
? 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
どこに僕る
? 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 ... 佩を福待
? 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
どういった侘塀で
? 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
? 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
? 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業で
? 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
? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
ツ`ルチェ`ン
? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
OSS試喘の畠悶
Collector Datastore DashboardMessaging
? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Pipeline
? オ`プンソ`スX楚テレメトリレシ`バ
? Gog廾
? 秘薦
? プロトコル
? UDP, TCP, gRPC
? エンコ`ディング
? GPB, GPB key-value(self-describing)
? 竃薦
? InfluxDB, Apache Kafka, Prometheus
pushgateway
? IOS-XR、NXOSに
https://github.com/cisco/bigmuddy-network-telemetry-pipeline
? 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に)
? 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
? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
デモ
? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
デモ
Pipeline InfluxDB
Kapacitor
VM
Grafana
? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Kapacitor
? オ`プンソ`スのr狼双
デ`タ鬚韻離禰`タI尖
エンジン
? 鏡徭DSLのTICKScriptで
gにアラ`トを恬撹
? HipChat、Slackなどとy
栽
? 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)
? 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協
? 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/
歌深
意艶鉛艶馨艶岳姻霞について

More Related Content

意艶鉛艶馨艶岳姻霞について

  • 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
  • 13. ? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 輝するサブツリ`の冥し圭 13 $ pyang -f tree Cisco-IOS-XR-infra-statsd-oper.yang --tree-path infra-statistics/interfaces/interface/latest/generic-counters module: Cisco-IOS-XR-infra-statsd-oper +--ro infra-statistics +--ro interfaces +--ro interface* [interface-name] +--ro latest +--ro generic-counters +--ro packets-received? uint64 +--ro bytes-received? uint64 +--ro packets-sent? uint64 +--ro bytes-sent? uint64 +--ro multicast-packets-received? uint64 ´ ? pyangはYANGモデルをQうための ツ`ル ? モデルのバリデ`ション ? 麿のモデルYin, XMLスキ`マ吉へ Q ? などなど ? ツリ`侘塀で燕Fすることもできる https://github.com/mbj4668/pyang どういったデ`タ
  • 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
  • 25. ? 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public Pipeline ? オ`プンソ`スX楚テレメトリレシ`バ ? Gog廾 ? 秘薦 ? プロトコル ? UDP, TCP, gRPC ? エンコ`ディング ? GPB, GPB key-value(self-describing) ? 竃薦 ? InfluxDB, Apache Kafka, Prometheus pushgateway ? IOS-XR、NXOSに https://github.com/cisco/bigmuddy-network-telemetry-pipeline
  • 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/ 歌深