SlideShare ist ein Scribd-Unternehmen logo
1 von 34
佐藤 哲大
Telemetryについて
シスコシステムズ合同会社
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
SNMP
ストレージ & 分析
検出 & 測定
従来のモニタリング手法の問題点
データ生成箇所 データ利用箇所
CLI
Syslog
SNMP
Server
Syslog
Collector
Scripts
非リアル
タイム
バックエンド上への強力な負荷
様々なエンコーディング、トランスポー
ト、データモデル、タイムスタンプの正
規化が必要
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
新しいパラダイムへ
検出 & 測定
データ生成箇所 データ利用箇所
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モ
ジュールで定義
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
• (一般論として)高機能、高品質
• 汎用的な用途に限定
• インテグレーションが難しい
• $$$
• 色々とインテグレーションできる
• ネットワーク機器側の実装方式と情報開示
具合による
• 楽しい
チョイス@Telemetry
てれめったとき
ベンダ謹製 OSS活用
今日はこっちにフォーカスして、
機器実装とツールチェーンをご紹介
• ネットワーク機器以外のコンポーネント(コレクタ、データベース、ダッシュ
ボード等)をどうするかには、大きく2つ選択肢がある・・・
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
(XR中心に)機器実装
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
10BRKSPG-2069
Model-Driven Telemetry 設定例
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
どういった形式でどこに送る?
どういったデータ?
どういった頻度で?
© 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.2現在)
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モデルを扱うための
ツール
• モデルのバリデーション
• 他のモデル(Yin, XMLスキーマ等)へ
変換
• などなど
• ツリー形式で表現することもできる
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
エンコーディング
エンコーディングはデータをネットワーク経由で送信できる形式に変換
レシーバは元のデータと意味的に同一のコピーを作成するためにデコードを実施
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モデル毎にメッセー
ジ定義(.proto)ファイルが必要
{InterfaceName: GigabitEthernet0/0/0/0
GenericCounters {
PacketsSent: 449825
BytesSent: 41624083
PacketsReceived: 360333
BytesReceived: 29699362
MulticastPacketsReceived: 91299
<snip>
3倍大きい
Telemetryヘッダのメッセージ定義(.proto)
ファイルのみ
GPB – “compact” GPB – “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
どういった頻度で?
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
実装状況まとめ
サポート データモデル トランス
ポート
エンコーディ
ング
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
• オープンソース軽量テレメトリレシーバ
• Go実装
• 入力
• プロトコル
• 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プラグイン
• 豊富なLogstash Outputプラグイン(Elasticksearch, Kafka, etc)と組み合わせて使える
• PrometheusやSignal FXのためにHTTPでメトリック情報を提供するOutputプラグイン
• ELK,Prometheus,Signal FX,Apache出力にそれぞれに対応した設定済みのDockerベー
スのスタックが存在(あくまでデモ用途、サンプル設定として参考になる)
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
• オープンソースの時系列
データ向けのデータ処理
エンジン
• 独自DSLのTICKScriptで
簡単にアラートを作成
• HipChat、Slackなどと統
合
© 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アラート設定(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サービス設定
© 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/
参考
Telemetryについて

Weitere ähnliche Inhalte

Was ist angesagt?

GPU仮想化最前線 - KVMGTとvirtio-gpu -
GPU仮想化最前線 - KVMGTとvirtio-gpu -GPU仮想化最前線 - KVMGTとvirtio-gpu -
GPU仮想化最前線 - KVMGTとvirtio-gpu -zgock
 
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGoogle Cloud Platform - Japan
 
Hyperledger Fabric 簡単構築ツール minifabricのご紹介 〜productionへの移行をminifabricで加速〜
Hyperledger Fabric 簡単構築ツール minifabricのご紹介 〜productionへの移行をminifabricで加速〜Hyperledger Fabric 簡単構築ツール minifabricのご紹介 〜productionへの移行をminifabricで加速〜
Hyperledger Fabric 簡単構築ツール minifabricのご紹介 〜productionへの移行をminifabricで加速〜Hyperleger Tokyo Meetup
 
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)Kuniyasu Suzaki
 
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)VirtualTech Japan Inc.
 
0円でできる自宅InfiniBandプログラム
0円でできる自宅InfiniBandプログラム0円でできる自宅InfiniBandプログラム
0円でできる自宅InfiniBandプログラムMinoru Nakamura
 
実践イカパケット解析
実践イカパケット解析実践イカパケット解析
実践イカパケット解析Yuki Mizuno
 
eBPFは何が嬉しいのか
eBPFは何が嬉しいのかeBPFは何が嬉しいのか
eBPFは何が嬉しいのかYutaro Hayakawa
 
【EX/QFX】JUNOS ハンズオントレーニング資料 EX/QFX シリーズ サービス ゲートウェイ コース
【EX/QFX】JUNOS ハンズオントレーニング資料 EX/QFX シリーズ サービス ゲートウェイ コース 【EX/QFX】JUNOS ハンズオントレーニング資料 EX/QFX シリーズ サービス ゲートウェイ コース
【EX/QFX】JUNOS ハンズオントレーニング資料 EX/QFX シリーズ サービス ゲートウェイ コース Juniper Networks (日本)
 
2011年度 新3年生向け
2011年度 新3年生向け2011年度 新3年生向け
2011年度 新3年生向けYuki Takahashi
 
Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像 Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像 Sho Shimizu
 
EthernetやCPUなどの話
EthernetやCPUなどの話EthernetやCPUなどの話
EthernetやCPUなどの話Takanori Sejima
 
Cilium - Bringing the BPF Revolution to Kubernetes Networking and Security
Cilium - Bringing the BPF Revolution to Kubernetes Networking and SecurityCilium - Bringing the BPF Revolution to Kubernetes Networking and Security
Cilium - Bringing the BPF Revolution to Kubernetes Networking and SecurityThomas Graf
 
WebRTC と Native とそれから、それから。
WebRTC と Native とそれから、それから。 WebRTC と Native とそれから、それから。
WebRTC と Native とそれから、それから。 tnoho
 
Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版VirtualTech Japan Inc.
 

Was ist angesagt? (20)

gRPC入門
gRPC入門gRPC入門
gRPC入門
 
GPU仮想化最前線 - KVMGTとvirtio-gpu -
GPU仮想化最前線 - KVMGTとvirtio-gpu -GPU仮想化最前線 - KVMGTとvirtio-gpu -
GPU仮想化最前線 - KVMGTとvirtio-gpu -
 
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
 
Hyperledger Fabric 簡単構築ツール minifabricのご紹介 〜productionへの移行をminifabricで加速〜
Hyperledger Fabric 簡単構築ツール minifabricのご紹介 〜productionへの移行をminifabricで加速〜Hyperledger Fabric 簡単構築ツール minifabricのご紹介 〜productionへの移行をminifabricで加速〜
Hyperledger Fabric 簡単構築ツール minifabricのご紹介 〜productionへの移行をminifabricで加速〜
 
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
 
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
 
0円でできる自宅InfiniBandプログラム
0円でできる自宅InfiniBandプログラム0円でできる自宅InfiniBandプログラム
0円でできる自宅InfiniBandプログラム
 
実践イカパケット解析
実践イカパケット解析実践イカパケット解析
実践イカパケット解析
 
ネットワーク構築訓練 入門
ネットワーク構築訓練 入門ネットワーク構築訓練 入門
ネットワーク構築訓練 入門
 
eBPFは何が嬉しいのか
eBPFは何が嬉しいのかeBPFは何が嬉しいのか
eBPFは何が嬉しいのか
 
【EX/QFX】JUNOS ハンズオントレーニング資料 EX/QFX シリーズ サービス ゲートウェイ コース
【EX/QFX】JUNOS ハンズオントレーニング資料 EX/QFX シリーズ サービス ゲートウェイ コース 【EX/QFX】JUNOS ハンズオントレーニング資料 EX/QFX シリーズ サービス ゲートウェイ コース
【EX/QFX】JUNOS ハンズオントレーニング資料 EX/QFX シリーズ サービス ゲートウェイ コース
 
How to run P4 BMv2
How to run P4 BMv2How to run P4 BMv2
How to run P4 BMv2
 
2011年度 新3年生向け
2011年度 新3年生向け2011年度 新3年生向け
2011年度 新3年生向け
 
Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像 Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像
 
EthernetやCPUなどの話
EthernetやCPUなどの話EthernetやCPUなどの話
EthernetやCPUなどの話
 
Cilium - Bringing the BPF Revolution to Kubernetes Networking and Security
Cilium - Bringing the BPF Revolution to Kubernetes Networking and SecurityCilium - Bringing the BPF Revolution to Kubernetes Networking and Security
Cilium - Bringing the BPF Revolution to Kubernetes Networking and Security
 
WebRTC と Native とそれから、それから。
WebRTC と Native とそれから、それから。 WebRTC と Native とそれから、それから。
WebRTC と Native とそれから、それから。
 
NIDD (Non-IP Data Delivery) のご紹介
NIDD (Non-IP Data Delivery) のご紹介NIDD (Non-IP Data Delivery) のご紹介
NIDD (Non-IP Data Delivery) のご紹介
 
Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版
 
エクストリーム ネットワークス レイヤ2/3スイッチ基本設定ガイド
エクストリーム ネットワークス レイヤ2/3スイッチ基本設定ガイドエクストリーム ネットワークス レイヤ2/3スイッチ基本設定ガイド
エクストリーム ネットワークス レイヤ2/3スイッチ基本設定ガイド
 

Ähnlich wie Telemetryについて

160705-03 RTミドルウエア講習会・名城大
160705-03 RTミドルウエア講習会・名城大160705-03 RTミドルウエア講習会・名城大
160705-03 RTミドルウエア講習会・名城大openrtm
 
20180109 titech lecture_ishizaki_public
20180109 titech lecture_ishizaki_public20180109 titech lecture_ishizaki_public
20180109 titech lecture_ishizaki_publicKazuaki Ishizaki
 
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータPyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータShinya Takamaeda-Y
 
ネットワーク自動化の課題 - グラフデータベースによる解決
ネットワーク自動化の課題 - グラフデータベースによる解決ネットワーク自動化の課題 - グラフデータベースによる解決
ネットワーク自動化の課題 - グラフデータベースによる解決ApstraJapan
 
サイボウズ・ラボユース成果発表会資料
サイボウズ・ラボユース成果発表会資料サイボウズ・ラボユース成果発表会資料
サイボウズ・ラボユース成果発表会資料masahiro13
 
システムパフォーマンス勉強会#8
システムパフォーマンス勉強会#8システムパフォーマンス勉強会#8
システムパフォーマンス勉強会#8shingo suzuki
 
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例Hironobu Isoda
 
JAWS DAYS 2018 | IoT時代におけるデバイスのファームウェアとクラウドのいい関係
JAWS DAYS 2018 | IoT時代におけるデバイスのファームウェアとクラウドのいい関係JAWS DAYS 2018 | IoT時代におけるデバイスのファームウェアとクラウドのいい関係
JAWS DAYS 2018 | IoT時代におけるデバイスのファームウェアとクラウドのいい関係SORACOM,INC
 
20150715 xflow kikuta_final
20150715 xflow kikuta_final20150715 xflow kikuta_final
20150715 xflow kikuta_finalKazumasa Ikuta
 
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化シスコシステムズ合同会社
 
Interop2019 Toyota Netcope P4
Interop2019 Toyota Netcope P4Interop2019 Toyota Netcope P4
Interop2019 Toyota Netcope P4Kentaro Ebisawa
 
C base design methodology with s dx and xilinx ml
C base design methodology with s dx and xilinx ml C base design methodology with s dx and xilinx ml
C base design methodology with s dx and xilinx ml ssuser3a4b8c
 
PL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database AnalyticsPL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database AnalyticsKohei KaiGai
 
NSDI2015読み会 Correctness セッション
NSDI2015読み会 Correctness セッションNSDI2015読み会 Correctness セッション
NSDI2015読み会 Correctness セッションDaisuke Kotani
 
"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越Kentaro Ebisawa
 
オープンソースのIoT向けスケールアウト型データベース GridDB 〜性能ベンチマーク結果とOSSを利用したビッグデータ分析環境〜
オープンソースのIoT向けスケールアウト型データベース GridDB 〜性能ベンチマーク結果とOSSを利用したビッグデータ分析環境〜オープンソースのIoT向けスケールアウト型データベース GridDB 〜性能ベンチマーク結果とOSSを利用したビッグデータ分析環境〜
オープンソースのIoT向けスケールアウト型データベース GridDB 〜性能ベンチマーク結果とOSSを利用したビッグデータ分析環境〜griddb
 
IoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkIoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkTakanori Suzuki
 
WebRTC getStats - WebRTC Meetup Tokyo 5 LT
WebRTC getStats - WebRTC Meetup Tokyo 5 LTWebRTC getStats - WebRTC Meetup Tokyo 5 LT
WebRTC getStats - WebRTC Meetup Tokyo 5 LTmganeko
 

Ähnlich wie Telemetryについて (20)

160705-03 RTミドルウエア講習会・名城大
160705-03 RTミドルウエア講習会・名城大160705-03 RTミドルウエア講習会・名城大
160705-03 RTミドルウエア講習会・名城大
 
20180109 titech lecture_ishizaki_public
20180109 titech lecture_ishizaki_public20180109 titech lecture_ishizaki_public
20180109 titech lecture_ishizaki_public
 
Reconf_201409
Reconf_201409Reconf_201409
Reconf_201409
 
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータPyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
 
ネットワーク自動化の課題 - グラフデータベースによる解決
ネットワーク自動化の課題 - グラフデータベースによる解決ネットワーク自動化の課題 - グラフデータベースによる解決
ネットワーク自動化の課題 - グラフデータベースによる解決
 
サイボウズ・ラボユース成果発表会資料
サイボウズ・ラボユース成果発表会資料サイボウズ・ラボユース成果発表会資料
サイボウズ・ラボユース成果発表会資料
 
システムパフォーマンス勉強会#8
システムパフォーマンス勉強会#8システムパフォーマンス勉強会#8
システムパフォーマンス勉強会#8
 
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
 
JAWS DAYS 2018 | IoT時代におけるデバイスのファームウェアとクラウドのいい関係
JAWS DAYS 2018 | IoT時代におけるデバイスのファームウェアとクラウドのいい関係JAWS DAYS 2018 | IoT時代におけるデバイスのファームウェアとクラウドのいい関係
JAWS DAYS 2018 | IoT時代におけるデバイスのファームウェアとクラウドのいい関係
 
20150715 xflow kikuta_final
20150715 xflow kikuta_final20150715 xflow kikuta_final
20150715 xflow kikuta_final
 
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
 
Interop2019 Toyota Netcope P4
Interop2019 Toyota Netcope P4Interop2019 Toyota Netcope P4
Interop2019 Toyota Netcope P4
 
C base design methodology with s dx and xilinx ml
C base design methodology with s dx and xilinx ml C base design methodology with s dx and xilinx ml
C base design methodology with s dx and xilinx ml
 
PL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database AnalyticsPL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
 
Boost sg msgpack
Boost sg msgpackBoost sg msgpack
Boost sg msgpack
 
NSDI2015読み会 Correctness セッション
NSDI2015読み会 Correctness セッションNSDI2015読み会 Correctness セッション
NSDI2015読み会 Correctness セッション
 
"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越
 
オープンソースのIoT向けスケールアウト型データベース GridDB 〜性能ベンチマーク結果とOSSを利用したビッグデータ分析環境〜
オープンソースのIoT向けスケールアウト型データベース GridDB 〜性能ベンチマーク結果とOSSを利用したビッグデータ分析環境〜オープンソースのIoT向けスケールアウト型データベース GridDB 〜性能ベンチマーク結果とOSSを利用したビッグデータ分析環境〜
オープンソースのIoT向けスケールアウト型データベース GridDB 〜性能ベンチマーク結果とOSSを利用したビッグデータ分析環境〜
 
IoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkIoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache Flink
 
WebRTC getStats - WebRTC Meetup Tokyo 5 LT
WebRTC getStats - WebRTC Meetup Tokyo 5 LTWebRTC getStats - WebRTC Meetup Tokyo 5 LT
WebRTC getStats - WebRTC Meetup Tokyo 5 LT
 

Kürzlich hochgeladen

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 

Kürzlich hochgeladen (9)

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 

Telemetryについて

  • 2. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public SNMP ストレージ & 分析 検出 & 測定 従来のモニタリング手法の問題点 データ生成箇所 データ利用箇所 CLI Syslog SNMP Server Syslog Collector Scripts 非リアル タイム バックエンド上への強力な負荷 様々なエンコーディング、トランスポー ト、データモデル、タイムスタンプの正 規化が必要
  • 3. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 新しいパラダイムへ 検出 & 測定 データ生成箇所 データ利用箇所 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モ ジュールで定義 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 • (一般論として)高機能、高品質 • 汎用的な用途に限定 • インテグレーションが難しい • $$$ • 色々とインテグレーションできる • ネットワーク機器側の実装方式と情報開示 具合による • 楽しい チョイス@Telemetry てれめったとき ベンダ謹製 OSS活用 今日はこっちにフォーカスして、 機器実装とツールチェーンをご紹介 • ネットワーク機器以外のコンポーネント(コレクタ、データベース、ダッシュ ボード等)をどうするかには、大きく2つ選択肢がある・・・
  • 9. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public (XR中心に)機器実装
  • 10. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 10BRKSPG-2069 Model-Driven Telemetry 設定例 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 どういった形式でどこに送る? どういったデータ? どういった頻度で?
  • 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.2現在) 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モデルを扱うための ツール • モデルのバリデーション • 他のモデル(Yin, XMLスキーマ等)へ 変換 • などなど • ツリー形式で表現することもできる 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 エンコーディング エンコーディングはデータをネットワーク経由で送信できる形式に変換 レシーバは元のデータと意味的に同一のコピーを作成するためにデコードを実施 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モデル毎にメッセー ジ定義(.proto)ファイルが必要 {InterfaceName: GigabitEthernet0/0/0/0 GenericCounters { PacketsSent: 449825 BytesSent: 41624083 PacketsReceived: 360333 BytesReceived: 29699362 MulticastPacketsReceived: 91299 <snip> 3倍大きい Telemetryヘッダのメッセージ定義(.proto) ファイルのみ GPB – “compact” GPB – “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 どういった頻度で?
  • 22. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 実装状況まとめ サポート データモデル トランス ポート エンコーディ ング 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 • オープンソース軽量テレメトリレシーバ • Go実装 • 入力 • プロトコル • 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プラグイン • 豊富なLogstash Outputプラグイン(Elasticksearch, Kafka, etc)と組み合わせて使える • PrometheusやSignal FXのためにHTTPでメトリック情報を提供するOutputプラグイン • ELK,Prometheus,Signal FX,Apache出力にそれぞれに対応した設定済みのDockerベー スのスタックが存在(あくまでデモ用途、サンプル設定として参考になる) 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 • オープンソースの時系列 データ向けのデータ処理 エンジン • 独自DSLのTICKScriptで 簡単にアラートを作成 • HipChat、Slackなどと統 合
  • 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アラート設定(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サービス設定
  • 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/ 参考