10

Click here to load reader

Tetration友の会資料 20170523

Embed Size (px)

Citation preview

Page 1: Tetration友の会資料 20170523

Tetration Dashboardってイケてるよね!

シスコシステムズ合同会社

2017年 5月

Page 2: Tetration友の会資料 20170523

CooL!!CooL??

Page 3: Tetration友の会資料 20170523

そこじゃないんです、大事なのは。

UI??

人によって見たいView、違います。十人十色。

大事なのはTetrationが持つ真の価値、それは・・・

あらゆるFlowをすべて網羅する

唯一無二のDatasourceこんなDatasourceは他にない!

Page 4: Tetration友の会資料 20170523

餅は餅屋

ナイスなDashboard UIがほしければ、Dashboardツールを使えばいいんです。

DataはAPIでTetrationから引っ張ってくればいい。

今回は、、、Grafana + Influxdb でやりました。

Page 5: Tetration友の会資料 20170523

やってることの全体概要

API使う人

API_KEY

API_SECRET

TetrationSite-Admin

Flowの条件指定したJSONをPOST

条件に合致するFlowをResponse

DataSourceにInfluxdbを指定してデータ取得

取得したFlowをInfluxdbにPush

TetrationCluster

Page 6: Tetration友の会資料 20170523

Tetration APIで取れる情報、やれること(Tetraion 2.0現在)

•sensor_management- SW sensor management: API to configure/monitor status of SW sensors

•hw_sensor_management- HW sensor management: API to configure/monitor status of HW sensors

•flow_table_query- Queries on flows: API to query flows in Tetration cluster

Page 7: Tetration友の会資料 20170523

Tetration APIでFlowを取得、、すごい簡単

{

"results": [

{

"dst_address": "171.70.168.183",

"dst_hostname": null,

"dst_port": "53",

"fwd_bytes": 85,

"fwd_pkts": 1,

"proto": "UDP",

"rev_bytes": 316,

"rev_pkts": 1,

"src_address": "172.31.186.45",

"src_hostname": "tet-12.internal",

"src_port": "33932",

"start_timestamp": "1478534438000000",

"timestamp": "2016-11-07T16:00:00.000Z"

}

]

}

Flow情報を13項目で取得可能。Filterも任意の項目を任意の値で指定し、採取するFlow数を限定できる。

- Response -

req_payload = {

"startTsIncl": "2016-11-07T09:00:00-0700",

"endTsExcl": "2016-11-07T19:00:00-0700",

"tenant": "default",

"vrf": "default",

"limit": 100,

"filter": {

"type": "eq",

"field": "dst_port",

"value": "53"

}

}

- Request -

送信先ポート番号53のフローを100フローまで。

Page 8: Tetration友の会資料 20170523

InfluxDBへのデータ投入

{

"results": [

{

"dst_address": "171.70.168.183",

"dst_hostname": null,

"dst_port": "53",

"fwd_bytes": 85,

"fwd_pkts": 1,

"proto": "UDP",

"rev_bytes": 316,

"rev_pkts": 1,

"src_address": "172.31.186.45",

"src_hostname": "tet-12.internal",

"src_port": "33932",

"start_timestamp": "1478534438000000",

"timestamp": "2016-11-07T16:00:00.000Z"

}

]

}

採取したFlowをInfluxDBに投入。InfluxDBがサポートしているPython client用のmoduleがあるのでこれも簡単。

{

“fields” :{

"rev_pkts" : rev_pkts,

"rev_bytes" : rev_bytes,

"fwd_pkts" : fwd_pkts,

"fwd_bytes" : fwd_bytes

},

"tags" :{

"dst_hostname" : dst_hostname,

"src_port" : src_port,

"proto" : proto,

"src_address" : src_address,

"dst_address" : dst_address,

"src_hostname" : src_hostname,

"dst_port" : dst_port

},

"measurement" : "FLOW"

}

“fields”は時間軸(X軸)に対してY軸で見たい値。

“tags”は検索条件に使いたい値。

“measurement”はGraph生成時の情報元の識別に必要。

Page 9: Tetration友の会資料 20170523

GrafanaでGraphを作成

あとは画面みてー。

Page 10: Tetration友の会資料 20170523

Thank you