SlideShare a Scribd company logo
Copyright © NTT Communications Corporation. All right reserved.
pmacct->kafka->presto->re:dash
を使った⾼速なflow解析
JANOG39 Day1⾒つけた!モダンなトラフィック可視化 BoF
2017年1⽉18⽇
⻄塚要
@__kaname__
kaname@nttv6.jp
Copyright © NTT Communications Corporation. All right reserved.
flow解析の構成
2
Fx
R Markdown
蓄積 分析 可視化収集
機械学習処理(異常検知等)
ホットデータ蓄積 時系列データ
①⾼度な解析結果
フロー収集
コールドデータ蓄積
分析処理(SQL) ③ニア・リアルタイム分析
F
pmacct
フロー収集
nfdump
(nfcapd/nfdump)
csv
傾向分析
csv
②傾向分析
ルータ/
スイッチ
flow収集部分
3
n  nfdump
•  nfcapd: netflow(v1,v5/v7,v9,IPFIX)/sflow(v2/v4/v5)の
収集を⾏い、n分ごとにファイルに出⼒する
•  nfdump: nfcapdによって蓄積されたデータを読み出す→標
準出⼒やファイル(csv形式など)に出⼒
•  信頼と実績!
n  pmacct
•  netflow(v5,v8,v9,IPFIX)/sflow(v2/v4/v5)の収集”も”⾏う
ことができる
•  ファイル出⼒に加え、RDBMS, noSQL, Rabbit-MQ, kafka
とのコネクタがある
•  paoloさんが頑張ってメンテしている!
ü  JANOG36:オープンソースのネットフローツールの運⽤
事例1: 機械学習を⽤いた⾼度な解析
n  hadoop/hiveに蓄積された⽣フローデータをPrestoで時系列
データに集約(早い!)
n  時系列データに対してRで機械学習処理
Fx
R Markdown
蓄積 分析 可視化収集
機械学習処理(異常検知等)
ホットデータ蓄積 時系列データ
①⾼度な解析結果
フロー収集
コールドデータ蓄積
分析処理(SQL) ③ニア・リアルタイム分析
pmacct
フロー収集
nfdump
(nfcapd/nfdump)
csv
傾向分析
csv
②傾向分析
ルータ/
スイッチ
4
5
Rでのフロー解析
n  ISPごとのトラフィックの推移
6
Rでのフロー解析+機械学習
n  トラフィック時系列への異常検知ロジックの適⽤
異常度
トラフィック量
事例2: ⾼速な⻑期傾向分析
n  モチベーション: ⼤量のフローデータに対して1ヶ⽉以上時間範
囲で傾向分析をしたい
n  hadoop/hiveに蓄積された⽣フローデータをPresto経由の
re:dashで⼿早く可視化(早い!)
Fx
R Markdown
蓄積 分析 可視化収集
機械学習処理(異常検知等)
ホットデータ蓄積 時系列データ
①⾼度な解析結果
フロー収集
コールドデータ蓄積
分析処理(SQL) ③ニア・リアルタイム分析
pmacct
フロー収集
nfdump
(nfcapd/nfdump)
csv
傾向分析
csv
②傾向分析
ルータ/
スイッチ
7
8
Prestoでの⾼速なクエリ実⾏
n  TopN分析: 1ヶ⽉分のflowデータに対して、数秒で結果を返す
9
Prestoでの⾼速なクエリ実⾏
n  どの期間に対しても、分単位や秒単位の分析が可能
分単位の分析 秒単位の分析
(参考) その他のデータとの連携
n  re:dashには⾊々なデータを⼊れることができます
•  BGP解析の例: IRS25 DDoS対策あれこれ
事例3: 即時の短期傾向分析
n  モチベーション: kafkaの即時性を利⽤して、1分未満のフロー
解析を⽬指したい
•  発⽣して1分未満でのDDoS攻撃検知など
n  pmacct->kafka->presto->re:dash を試した
Fx
R Markdown
蓄積 分析 可視化収集
機械学習処理(異常検知等)
ホットデータ蓄積 時系列データ
①⾼度な解析結果
フロー収集
コールドデータ蓄積
分析処理(SQL) ③ニア・リアルタイム分析
pmacct
フロー収集
nfdump
(nfcapd/nfdump)
csv
傾向分析
csv
②傾向分析
ルータ/
スイッチ
11
pmacct kafka-plugin
n  インストール
n  ハマりポイント
•  librdkafkaがインストールされたパスに注意
ü  QUICKSTART IX. Running the Kafka plugin 参照
12
# 必要なパッケージのインストール
apt-get install libpcap-dev libjansson-dev
# 最新版の librdkafka のインストール
git clone https://github.com/edenhill/librdkafka.git; cd librdkafka; ./configure; make; make install
# kafka を利⽤するオプションをつけてpmacctのインストール
git clone https://github.com/pmacct/pmacct.git; cd pmacct; ./autogen.sh; ./configure --enable-kafka --
enable-jansson --enable-ipv6; make; make install
# 確認
container:/# pmacctd -V
Promiscuous Mode Accounting Daemon, pmacctd 1.6.2-git (20170117-00)
'--enable-kafka' '--enable-jansson' '--enable-ipv6'
For suggestions, critics, bugs, contact me: Paolo Lucente <paolo@pmacct.net>.
pmacct kafka-plugin
n  pmacct 設定
n  ハマりポイント
•  nfacctd のデフォルトのnetflow待ち受けは 2100/udp
•  kafkaのトピックに”.”(ドット)を使うと、ここではOKだが、
2ページ後のprestoの設定でハマりポイントあり
13
# nfacctd.conf
aggregate: src_mac, dst_mac, vlan, cos, etype, src_as, dst_as, peer_src_ip, peer_dst_ip, in_iface, out_iface,
src_host, src_net, dst_host, dst_net, src_mask, dst_mask, src_port, dst_port, tcpflags, proto, tos,
sampling_rate, timestamp_start, timestamp_end, timestamp_arrival
nfacctd_port: 2055
plugins: kafka
kafka_output: json
kafka_topic: pmacct-janog
kafka_refresh_time: 60
kafka_history: 1m
kafka_history_roundoff: m
kafka_broker_host: <kafka IP address>
kafka_broker_port: 9092
# 起動
nfacctd -f /etc/nfacctd.conf -dD
14
kafka-topic
n  kafka-topic が⽣成される
•  Trifecta でデータが溜まり始めたことを確認
15
presto
n  presto設定
n  ハマりポイント
•  table名には”.”が使えない(topic名に”.”を使ってると、揃えよ
うとしてやりがち)
kafka.propertiesの中にあるkafka.table-namesの値に、追加したいtopic名を記述
#<presto>/etc/catalog/kafka.properties
connector.name=kafka
kafka.nodes=<IP>:<port>, <IP>:<port>, <IP>:<port>
kafka.table-names=pmacct-janog
kafka.hide-internal-columns=false
テーブルの型定義をjsonファイルで記述
#<prestoL/etc/kafka/pmacct-janog.json
{
"tableName": "pmacct-janog",
"topicName": "pmacct-janog",
"dataFormat": "json",
"message": {
"dataFormat":"json",
"fields": [
{
"name": "event_type",
"mapping": "event_type",
"type": "VARCHAR"
},
(snip)
16
re:dash で接続
n  data sources に type=presto, catalog=kafka で追加
17
re:dash で接続
n  作成した data sources を指定して、select * from <table名>
でデータが取れることを確認
18
結果: 即時の短期傾向分析結果
n  直近2分以内での秒単位のグラフ化
•  最新の時刻は、1分前くらい…(惜しい!)
最後に
19
n  ⼀緒にトラフィック解析しませんか?
•  質問等はこちらまで:kaname@nttv6.jp

More Related Content

PDF
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
PDF
AWSではじめるMLOps
PPTX
負荷分散だけじゃないELBのメリット
PDF
Teslaにおけるコンピュータビジョン技術の調査
PDF
推薦アルゴリズムの今までとこれから
PDF
一般向けのDeep Learning
PPTX
情報アクセス技術のためのテストコレクション作成
PDF
Dockerfile を書くためのベストプラクティス解説編
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
AWSではじめるMLOps
負荷分散だけじゃないELBのメリット
Teslaにおけるコンピュータビジョン技術の調査
推薦アルゴリズムの今までとこれから
一般向けのDeep Learning
情報アクセス技術のためのテストコレクション作成
Dockerfile を書くためのベストプラクティス解説編

What's hot (20)

PDF
Elasticsearch勉強会#44 20210624
PDF
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
PDF
MLflow + Kubeflow MLプラットフォーム事例 #sparktokyo
PDF
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
PDF
リクルート式AIの活用法
PPTX
【DL輪読会】Scaling Laws for Neural Language Models
PDF
ナレッジグラフ入門
PPTX
はじめてのElasticsearchクラスタ
PDF
Amazon S3を中心とするデータ分析のベストプラクティス
PDF
Teslaにおけるコンピュータビジョン技術の調査 (2)
PDF
LLM+LangChainで特許調査・分析に取り組んでみた
PDF
[Dl輪読会]dl hacks輪読
PDF
データレイクを基盤としたAWS上での機械学習サービス構築
PDF
Fault, Error, Failure の違い
PDF
Elasticsearchを使うときの注意点 公開用スライド
PDF
Kubernetesによる機械学習基盤への挑戦
PPTX
MLflowで学ぶMLOpsことはじめ
PDF
分散学習のあれこれ~データパラレルからモデルパラレルまで~
PDF
The Twelve-Factor Appで考えるAWSのサービス開発
PDF
AWS Black Belt Online Seminar AWS Direct Connect
Elasticsearch勉強会#44 20210624
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
MLflow + Kubeflow MLプラットフォーム事例 #sparktokyo
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
リクルート式AIの活用法
【DL輪読会】Scaling Laws for Neural Language Models
ナレッジグラフ入門
はじめてのElasticsearchクラスタ
Amazon S3を中心とするデータ分析のベストプラクティス
Teslaにおけるコンピュータビジョン技術の調査 (2)
LLM+LangChainで特許調査・分析に取り組んでみた
[Dl輪読会]dl hacks輪読
データレイクを基盤としたAWS上での機械学習サービス構築
Fault, Error, Failure の違い
Elasticsearchを使うときの注意点 公開用スライド
Kubernetesによる機械学習基盤への挑戦
MLflowで学ぶMLOpsことはじめ
分散学習のあれこれ~データパラレルからモデルパラレルまで~
The Twelve-Factor Appで考えるAWSのサービス開発
AWS Black Belt Online Seminar AWS Direct Connect
Ad

Viewers also liked (15)

PDF
Principles for Engineering Elastic IoT Cloud Systems
PDF
Towards the Realization of Multi-dimensional Elasticity for Distributed Cloud...
PDF
Kentik Network@Scale (Dan Ellis)
PPTX
ヤマムギVol.5 BIファーストステップre:dash
PDF
可視化周辺の進化がヤヴァイ 〜2016〜
PDF
爆速クエリエンジン”Presto”を使いたくなる話
PDF
SKET Servise Guide
PDF
ドラえもんでわかる統計的因果推論 #TokyoR
PDF
Building Security Operation Center
PDF
Presto - Hadoop Conference Japan 2014
PPTX
生態学会自由集会での講演のプレビュー
PDF
re:dash is awesome
PDF
『バックドア基準の入門』@統数研研究集会
PPTX
Cisco OpenSOC
PDF
見やすいプレゼン資料の作り方 - リニューアル増量版
Principles for Engineering Elastic IoT Cloud Systems
Towards the Realization of Multi-dimensional Elasticity for Distributed Cloud...
Kentik Network@Scale (Dan Ellis)
ヤマムギVol.5 BIファーストステップre:dash
可視化周辺の進化がヤヴァイ 〜2016〜
爆速クエリエンジン”Presto”を使いたくなる話
SKET Servise Guide
ドラえもんでわかる統計的因果推論 #TokyoR
Building Security Operation Center
Presto - Hadoop Conference Japan 2014
生態学会自由集会での講演のプレビュー
re:dash is awesome
『バックドア基準の入門』@統数研研究集会
Cisco OpenSOC
見やすいプレゼン資料の作り方 - リニューアル増量版
Ad

Similar to pmacct, kafka, presto, re:dash を使った高速なflow解析 (14)

PDF
Storm×couchbase serverで作るリアルタイム解析基盤
PPTX
フロー技術によるネットワーク管理
PDF
ストリーム処理プラットフォームにおけるKafka導入事例 #kafkajp
PPTX
StreamGraph
PPTX
Visualize network traffic.20180616
PDF
20180723 PFNの研究基盤 / PFN research system infrastructure
PDF
Akka stream
PDF
NSG フローログを支える技術 - NVF Advanced Flow Logging
PPTX
Visualizenetworktraffic 20181126
PDF
xFlow分析の基礎と実例
PDF
デブサミ2014-Stormで実現するビッグデータのリアルタイム処理プラットフォーム ~ストリームデータ処理から機械学習まで~
PDF
ストリームデータ分散処理基盤Storm
PDF
NSDI '16 Reading: Flexible Networks Session
PDF
ストリーミング視聴解析の基本とその応用 IPv4・IPv6デュアルソース
Storm×couchbase serverで作るリアルタイム解析基盤
フロー技術によるネットワーク管理
ストリーム処理プラットフォームにおけるKafka導入事例 #kafkajp
StreamGraph
Visualize network traffic.20180616
20180723 PFNの研究基盤 / PFN research system infrastructure
Akka stream
NSG フローログを支える技術 - NVF Advanced Flow Logging
Visualizenetworktraffic 20181126
xFlow分析の基礎と実例
デブサミ2014-Stormで実現するビッグデータのリアルタイム処理プラットフォーム ~ストリームデータ処理から機械学習まで~
ストリームデータ分散処理基盤Storm
NSDI '16 Reading: Flexible Networks Session
ストリーミング視聴解析の基本とその応用 IPv4・IPv6デュアルソース

Recently uploaded (9)

PDF
グローバルロープウェイ用スチールワイヤーロープ市場2025:主要企業のシェア、売上動向、競争戦略
PDF
【QYResearch】グローバルコネクタ市場の動向と将来展望に関する詳細な分析報告
PDF
【QYResearch】グローバル磁性材料産業チェーンの構造分析と市場動向の詳細解説
PDF
【初心者向け】生成AI SimonW/LLMとOllama・llamafile無料APIでコマンドラインをAI革命するセミナー。CPUでもGPUでも。Ne...
PDF
【QYResearch】急拡大する医療機器市場における主要企業の動向と競争環境分析
PDF
【QYResearch】人形ロボット産業の市場構造と今後の発展方向に関する分析レポート
PDF
【QYResearch】グローバル農業機械市場の動向分析と成長戦略に関する総合調査報告
PDF
世界半導体用酸化ハフニウム市場のサプライチェーン解析:上流、下流、収益モデル分析2025-2031
PDF
XCMSを用いた質量分析データ処理_BioCAsia2021_yamamoto.pdf
グローバルロープウェイ用スチールワイヤーロープ市場2025:主要企業のシェア、売上動向、競争戦略
【QYResearch】グローバルコネクタ市場の動向と将来展望に関する詳細な分析報告
【QYResearch】グローバル磁性材料産業チェーンの構造分析と市場動向の詳細解説
【初心者向け】生成AI SimonW/LLMとOllama・llamafile無料APIでコマンドラインをAI革命するセミナー。CPUでもGPUでも。Ne...
【QYResearch】急拡大する医療機器市場における主要企業の動向と競争環境分析
【QYResearch】人形ロボット産業の市場構造と今後の発展方向に関する分析レポート
【QYResearch】グローバル農業機械市場の動向分析と成長戦略に関する総合調査報告
世界半導体用酸化ハフニウム市場のサプライチェーン解析:上流、下流、収益モデル分析2025-2031
XCMSを用いた質量分析データ処理_BioCAsia2021_yamamoto.pdf

pmacct, kafka, presto, re:dash を使った高速なflow解析