SlideShare a Scribd company logo
Packetbeatの基礎から、
IoTデバイス異常検知への応用まで
2017-07-31
Acroquest Technology
束野 仁政(つかの さとゆき)
第20回Elasticsearch勉強会
自己紹介
• 束野仁政(Acroquest Technology株式会社)
• 活動
1. ネットワーク監視システム
2. 分散処理・ビッグデータ関連システム
(Hadoop, Storm, Spark, Flink, etc.)
3. Elasticsearch関連システム
• @snuffkin
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
2
http://qiita.com/snuffkin/items/19b33797b8b5f828b1b6
Elasticsearch勉強会の
発表資料まとめページ
Acroquest Technology
• Elasticsearch社のパートナー
http://www.acroquest.co.jp/elastic/
• Elasticテクニカルワークショップ
https://info.elastic.co/japan-technical-workshop.html
• 会社を元気にする51の「仕組み」
日本実業出版社
 社員が長く気持ちよく働ける会社のユニークな「仕組み」
• Java本格入門
~モダンスタイルによる基礎から
オブジェクト指向・実用ライブラリまで
技術評論社
 現場で使える実践的な内容が詰まっています
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
3
目次
1. Packetbeatとは?
2. Packetbeatの主な機能
① Network device
② Transaction protocols
③ Processors
④ Outputs
⑤ Logging
3. ユースケース・実践例
① パケットが流れて1秒で検索したい
② 送信元IPアドレスによる独自パラメータ付与
③ IoTデバイスの異常検知
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
4
1. Packetとは?
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
5
Packetbeatとは?
参考:Packetbeat公式ページ(https://www.elastic.co/products/beats/packetbeat)
1. Packetbeatとは?
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
6
Packetbeat is
Lightweight Shipper for
Network Data
Beats Platformのひとつ
ネットワークパケット解析し、Elasticsearch等に送信
Go言語で記述されており、軽量に動作する
1. Packetbeatとは?
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
7
Packetbeatを使ったシステム構成の例
送信元機器
モニタ
送信先機器
①解析した情報の送信
②蓄積、可視化
httpなど
httpなど
1. Packetbeatとは?
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
8
Packetbeatの機能構成イメージ
Network
device
OutputsProcessors
Transaction
protocols
Logging
Elasticsearch
Packetbeat
④
①
② ③
堅牢にするなら
Kafka等を挟む
ネットワークインタフェースから情報を取得するため、
ループバックアドレスの通信状況は取得できない
1. Packetbeatとは?
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
9
取得できる主な内容
1. 送信元IPアドレス/ポート
2. 送信先IPアドレス/ポート
3. 送信/受信バイト数
4. プロトコル名
5. 応答時間(HTTPなど)
取得可能な項目:
https://www.elastic.co/guide/en/beats/packetbeat/mast
er/exported-fields.html
2. Packetbeatの主な機能
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
10
Packetbeatの主な機能
設定ファイルをベースに
Packetbeatの主な機能を紹介します
2. Packetbeatの主な機能
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
11
Packetbeatの機能を知るには、
1. 全体像は「packetbeat.full.yml」を見ると良い
これを「packetbeat.yml」にリネームし、
それを元に設定変更するのがオススメ
https://github.com/elastic/beats/blob/v5.5.0/packetbeat/packetbeat.full.yml
2. 詳細はPacketbeat Referenceで分かる
https://www.elastic.co/guide/en/beats/packetbeat/index.html
2-1. Network device
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
12
【必須】インタフェース指定
インタフェースのdevice id(Packetbeatの概念)を確認
packetbeat -devices
packetbeat.interfaces.device: eth0
packetbeat.yml
コマンドライン
packetbeat.full.ymlにdevice idを設定(例:id=eth0)
「any」を指定すれば全deviceを監視可能
インタフェースを通過しない通信は取得できない
ESPacketbeat
2-1. Network device
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
13
snifferモジュール指定
snifferに利用するモジュールを指定
packetbeat.interfaces.type: pcap
packetbeat.yml
packetbeat.full.ymlにIDを設定(例:device id=0)
1. pcap デフォルト。多くのOSで動作する。
2. af_packet pcapより高速。Linux固有。
3. pf_ring 最高速。Kernel moduleが必要。
ESPacketbeat
2-1. Network device
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
14
memory bufferのサイズ指定
shared memory bufferに利用するサイズを指定
単位はMB
packetbeat.interfaces.buffer_size_mb: 30
packetbeat.yml
1. デフォルト値は30MB
2. 多いほど、メモリに蓄積できる
3. メモリを利用するケースでチューニング
(HTTPのように応答を待つケースなど)
ESPacketbeat
2-1. Network device
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
15
BPF指定
Berkeley Packet Filter (BPF)を指定
packetbeat.interfaces.bpf_filter:
packetbeat.yml
1. デフォルトはフィルタなし
2. IPアドレスやポート番号を絞ることができる
3. 後で説明するProcessorsより、
ここでフィルタする方が負荷が軽いと思われる
詳細:
https://www.elastic.co/guide/en/beats/packetbeat/current/configuration-
interfaces.html#_bpf_filter
ESPacketbeat
2-2. Transaction protocols
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
16
対応プロトコル・アプリケーション
1. ICMP
2. AMQP
3. Cassandra
4. DNS
5. HTTP →次ページで説明
6. Memcache
7. Mysql
8. PostgreSQL
9. Redis
10. Thrift-RPC
11. MongoDB
12. NFS
デフォルトはenable
設定をコメントアウトしても無効にならないため、
不要なら明示的に disable にする
例: ICMP情報の取得を無効にする場合
packetbeat.protocols.icmp:
enabled: false
packetbeat.yml
ESPacketbeat
2-2. Transaction protocols
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
17
HTTP指定
次のブロックに設定
packetbeat.protocols.http:
packetbeat.yml
HTTPの要求/応答単位で情報を取得し、
Elasticsearchの1ドキュメントとして蓄積
詳細:
https://www.elastic.co/guide/en/beats/packetbeat/current/configuration-
protocols.html#_http_configuration_options
ESPacketbeat
2-2. Transaction protocols
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
18
HTTP設定
詳細な設定項目(抜粋)
No. 設定項目 デフォルト値 内容
1 ports [80, 8080,
8000, 5000,
8002]
HTTPを監視するポート
2 real_ip_header なし 送信元IPがIPヘッダでなく、HTTP
ヘッダに含まれるときに設定する。
“X-Forwarded-For”など。
3 send_request false 要求の生情報を取得するか
4 send_response false 応答の生情報を取得するか
5 transaction_timeout 10s 要求と応答を紐づける処理のタイ
ムアウト時間
ESPacketbeat
2-3. Processors
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
19
Processors指定
Packetbeat内でフィルタしたり、パラメータ追加できる
次のブロックに設定
processors:
packetbeat.yml
詳細:
https://www.elastic.co/guide/en/beats/packetbeat/current/configuration-
processors.html
ESPacketbeat
2-3. Processors
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
20
Processors指定
例: “http.code”が200のときにイベントを破棄する
processors:
- drop_event:
when:
equals:
http.code: 200
packetbeat.yml
ESPacketbeat
2-3. Processors
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
21
Processors設定
詳細な設定項目
No. プロセッサ 内容
1 add_cloud_metadata クラウドサービスを利用している場合に、
instance_idなどを付与する。
2 decode_json_fields JSON文字列を、フィールドにパースする。
3 drop_event イベントを破棄する。
4 drop_fields 指定したフィールドを削除する。
(ブラックリスト)
5 include_fields 指定したフィールドを残し、他は削除する。
(ホワイトリスト)
ESPacketbeat
2-4. Outputs
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
22
標準で対応しているアウトプット先
1. Elasticsearch →次ページで説明
2. Logstash
3. Kafka
4. Redis
5. File
6. Console
ESPacketbeat
2-4. Outputs
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
23
Outputs - Elasticsearch設定
次のブロックに設定
詳細:
https://www.elastic.co/guide/en/beats/packetbeat/current/elasticsearch-
output.html
output.elasticsearch:
packetbeat.yml
ESPacketbeat
2-4. Outputs
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
24
Outputs - Elasticsearch設定
詳細な設定項目(抜粋)
No. 設定項目 デフォルト値 内容
1 hosts ["localhost:9200"] 送信先のElasticsearchを指定。
2 index "packetbeat-
%{+yyyy.MM.dd}"
インデックスを指定する。日付インデッ
クスも利用可能。
3 pipeline なし Elasticsearchのパイプライン(Ingest
Nodeで実行される)を指定。
4 bulk_max_size 50 バルク送信の最大数を指定。
5 flush_interval 1s Elasticsearchに情報を送信する間隔
を指定する。単位はmsも利用可能。
ESPacketbeat
2-5. Logging
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
25
Logging指定
設定例
logging.level: info # critical, error, warning, info, debug
logging.to_files: true
logging.to_syslog: false
logging.files:
path: /var/log/packetbeat
name: packetbeat
rotateeverybytes: 10485760 # = 10MB
keepfiles: 7
packetbeat.yml
詳細:
https://www.elastic.co/guide/en/beats/packetbeat/current/configuration-
logging.html
ESPacketbeat
3. ユースケース・実践例
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
26
ユースケース・実践例
3-1. パケットが流れて1秒で検索したい
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
27
ユースケース例:
Packetbeatにパケットが流れて
1秒以内にElasticsearchで
検索できるようにしたい
3-1. パケットが流れて1秒で検索したい
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
28
時間がかかる要素を
短縮する
Network
device
OutputsProcessors
Transaction
protocols
Logging
Elasticsearch
Packetbeat
④
①
② ③
どこか?
3-1. パケットが流れて1秒で検索したい
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
29
時間がかかる要素を
短縮する
Network
device
OutputsProcessors
Transaction
protocols
Logging
Elasticsearch
Packetbeat
④
①
② ③
Elasticsearchが受信しても
インデクシングされなければ
検索できない
index.refresh_interval
5000ms→100ms
Packetbeatが受信しても
Elasticsearchに送信しなければ
検索できない
flush_interval 1s→100msに変更
intervalを短くするとCPU負荷が
上がる点はトレードオフ
3-2. IPアドレスによる独自パラメータ付与
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
30
ユースケース例:
送信元IPアドレスを見て、
独自パラメータを付与したい
3-2. IPアドレスによる独自パラメータ付与
独自パラメータを付与・変換したいが、
Packetbeatでは複雑な加工はできない
加工する場所は選択の余地がある
1. Elasticsearchより前段で加工したい
ノードにより加工内容が異なる、ES負荷軽減
 Logstashで加工する
2. Elasticsearch側で一括して加工したい
 Ingest Nodeで加工する
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
31
3-2. IPアドレスによる独自パラメータ付与
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
32
独自設定を読み、パラメータを付与するケース
 Elasticsearch側のIngest Node Pluginで付与
Ingest NodePacketbeat
Elasticsearch
設定ファイル
④
①
②
③
Pluginを実装
3-2. IPアドレスによる独自パラメータ付与
1. まず、標準機能での実現を検討する
https://www.elastic.co/guide/en/elasticsearch/reference/current/ing
est-processors.html
標準機能の例:
① 値が固定のフィールドの追加
② フィールド名の変更
③ フィールドの削除
④ 簡易なパース処理
2. 1ドキュメント内に完結した処理
フィールドの追加・変更・削除など
 他のドキュメントにはアクセスできません
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
33
3-2. IPアドレスによる独自パラメータ付与
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
34
Ingest Node Pluginの実装イメージ(初期化などは略)
a_field(文字列)の末尾に「add」を付与したものをb_fieldに設定する例
public class MyProcessor extends AbstractProcessor {
@Override
public void execute(IngestDocument document) throws Exception {
if ((document.hasField("a_field") == true)) {
String value
= document.getFieldValue("a_field", String.class);
document.setFieldValue("b_field", value + "add");
}
}
}
MyProcessor.java
1. 引数に渡ってくるドキュメントを編集することができる
2. ドキュメント毎にexecute が1度呼び出される
3. getFieldValueの引数に存在しないフィールドを指定する例外が発生する
3-3. IoTデバイスの異常検知
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
35
ユースケース例:
IoTデバイスのセキュリティが
世の中で問題となっている
自社のデバイスに問題ないか
異常検知したい
3-3. IoTデバイスの異常検知
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
36
SORACOM Junction と連携し、セキュアな環境でパケット解析が可能になります。
これにより、IoTデバイスの動作不良や不正通信などの異常をリアルタイムで
検知することができます。
Torrentio Flow for Packet Analytics
デバイス
基地局
お客様のサーバ
セキュアな
パケット転送
• パケット解析
• 機械学習
キャリア
不正通信検知
デバイスの
異常検知
通知
Junction
http://www.site.torrentio.tech/torrentio/torrentio-flow/
Torrentio Flow(弊社提供のサービス)
Packetbeat
X-Pack ML
GRE対応
3-3. IoTデバイスの異常検知
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
37
パケットのフローを
分かりやすく可視化。
プロトコルやデータの流
れを簡単に把握。
SIM
データ送信先
通信内容一覧
利用しているSIMに対して、通信の内容を可視化します。
どのSIMから、どのようにデータを送信しているかが一目で分かります。
3-3. IoTデバイスの異常検知
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
38
SORAOM SIMグループ毎で、ジョブを設定・実行します。
自動的にパターンを分析して、異常が検知されると、通知を行います。
異常検知の結果を可視化。
異常があったところが、
カラーで表示される。
簡単な設定だけで、
異常検知のジョブを
設定。
SIM
分析データ値
ご清聴ありがとうございました
39
ネットワークの流量をモニタしたり、
ネットワークセキュリティにも
Packetbeatは適用できます。
ぜひ、使ってみてください!

More Related Content

What's hot

監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
Ohyama Masanori
 
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
NTT DATA Technology & Innovation
 
Mavenの真実とウソ
Mavenの真実とウソMavenの真実とウソ
Mavenの真実とウソ
Yoshitaka Kawashima
 
ロードバランスへの長い道
ロードバランスへの長い道ロードバランスへの長い道
ロードバランスへの長い道
Jun Kato
 
はじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタはじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタ
Satoyuki Tsukano
 
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
JustSystems Corporation
 
まずやっとくPostgreSQLチューニング
まずやっとくPostgreSQLチューニングまずやっとくPostgreSQLチューニング
まずやっとくPostgreSQLチューニング
Kosuke Kida
 
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
NTT DATA Technology & Innovation
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
 
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
 
Elasticsearchを使うときの注意点 公開用スライド
Elasticsearchを使うときの注意点 公開用スライドElasticsearchを使うときの注意点 公開用スライド
Elasticsearchを使うときの注意点 公開用スライド
崇介 藤井
 
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションアーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
Masahiko Sawada
 
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Toru Makabe
 
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
Uptime Technologies LLC (JP)
 
いまさら聞けないPostgreSQL運用管理
いまさら聞けないPostgreSQL運用管理いまさら聞けないPostgreSQL運用管理
いまさら聞けないPostgreSQL運用管理
Uptime Technologies LLC (JP)
 
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
 
マイクロサービスのセキュリティ概説
マイクロサービスのセキュリティ概説マイクロサービスのセキュリティ概説
マイクロサービスのセキュリティ概説
Eiji Sasahara, Ph.D., MBA 笹原英司
 
Vacuum徹底解説
Vacuum徹底解説Vacuum徹底解説
Vacuum徹底解説
Masahiko Sawada
 
A5 SQL Mk-2の便利な機能をお教えします
A5 SQL Mk-2の便利な機能をお教えしますA5 SQL Mk-2の便利な機能をお教えします
A5 SQL Mk-2の便利な機能をお教えします
ester41
 

What's hot (20)

監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
 
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
 
Mavenの真実とウソ
Mavenの真実とウソMavenの真実とウソ
Mavenの真実とウソ
 
ロードバランスへの長い道
ロードバランスへの長い道ロードバランスへの長い道
ロードバランスへの長い道
 
はじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタはじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタ
 
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
 
まずやっとくPostgreSQLチューニング
まずやっとくPostgreSQLチューニングまずやっとくPostgreSQLチューニング
まずやっとくPostgreSQLチューニング
 
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
 
Elasticsearchを使うときの注意点 公開用スライド
Elasticsearchを使うときの注意点 公開用スライドElasticsearchを使うときの注意点 公開用スライド
Elasticsearchを使うときの注意点 公開用スライド
 
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションアーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
 
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
 
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
 
いまさら聞けないPostgreSQL運用管理
いまさら聞けないPostgreSQL運用管理いまさら聞けないPostgreSQL運用管理
いまさら聞けないPostgreSQL運用管理
 
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
 
マイクロサービスのセキュリティ概説
マイクロサービスのセキュリティ概説マイクロサービスのセキュリティ概説
マイクロサービスのセキュリティ概説
 
Vacuum徹底解説
Vacuum徹底解説Vacuum徹底解説
Vacuum徹底解説
 
A5 SQL Mk-2の便利な機能をお教えします
A5 SQL Mk-2の便利な機能をお教えしますA5 SQL Mk-2の便利な機能をお教えします
A5 SQL Mk-2の便利な機能をお教えします
 

Viewers also liked

Elasticsearchと機械学習を利用したbot基盤
Elasticsearchと機械学習を利用したbot基盤Elasticsearchと機械学習を利用したbot基盤
Elasticsearchと機械学習を利用したbot基盤
takahito takabayashi
 
Jupyterで手順再現!Elasticsearch構築・運用を実行可能ドキュメントで機械化してみた
Jupyterで手順再現!Elasticsearch構築・運用を実行可能ドキュメントで機械化してみたJupyterで手順再現!Elasticsearch構築・運用を実行可能ドキュメントで機械化してみた
Jupyterで手順再現!Elasticsearch構築・運用を実行可能ドキュメントで機械化してみた
Satoshi Yazawa
 
Migrate your Existing Express Apps to AWS Lambda and Amazon API Gateway
Migrate your Existing Express Apps to AWS Lambda and Amazon API GatewayMigrate your Existing Express Apps to AWS Lambda and Amazon API Gateway
Migrate your Existing Express Apps to AWS Lambda and Amazon API Gateway
Amazon Web Services
 
Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発
Takuro Sasaki
 
AWS SAMで始めるサーバーレスアプリケーション開発
AWS SAMで始めるサーバーレスアプリケーション開発AWS SAMで始めるサーバーレスアプリケーション開発
AWS SAMで始めるサーバーレスアプリケーション開発
真吾 吉田
 
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
Carol Smith
 

Viewers also liked (6)

Elasticsearchと機械学習を利用したbot基盤
Elasticsearchと機械学習を利用したbot基盤Elasticsearchと機械学習を利用したbot基盤
Elasticsearchと機械学習を利用したbot基盤
 
Jupyterで手順再現!Elasticsearch構築・運用を実行可能ドキュメントで機械化してみた
Jupyterで手順再現!Elasticsearch構築・運用を実行可能ドキュメントで機械化してみたJupyterで手順再現!Elasticsearch構築・運用を実行可能ドキュメントで機械化してみた
Jupyterで手順再現!Elasticsearch構築・運用を実行可能ドキュメントで機械化してみた
 
Migrate your Existing Express Apps to AWS Lambda and Amazon API Gateway
Migrate your Existing Express Apps to AWS Lambda and Amazon API GatewayMigrate your Existing Express Apps to AWS Lambda and Amazon API Gateway
Migrate your Existing Express Apps to AWS Lambda and Amazon API Gateway
 
Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発
 
AWS SAMで始めるサーバーレスアプリケーション開発
AWS SAMで始めるサーバーレスアプリケーション開発AWS SAMで始めるサーバーレスアプリケーション開発
AWS SAMで始めるサーバーレスアプリケーション開発
 
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
 

Similar to Packetbeatの基礎から、IoTデバイス異常検知への応用まで

2015 0228 OpenStack swift; GMO Internet Services
2015 0228 OpenStack swift; GMO Internet Services2015 0228 OpenStack swift; GMO Internet Services
2015 0228 OpenStack swift; GMO Internet Services
Naoto Gohko
 
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコシステムズ合同会社
 
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
NTT DATA Technology & Innovation
 
IoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkIoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache Flink
Takanori Suzuki
 
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
VirtualTech Japan Inc.
 
Ingest node scripting_deep_dive
Ingest node scripting_deep_diveIngest node scripting_deep_dive
Ingest node scripting_deep_dive
Hiroshi Yoshioka
 
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Hironobu Isoda
 
デブサミ2014-Stormで実現するビッグデータのリアルタイム処理プラットフォーム ~ストリームデータ処理から機械学習まで~
デブサミ2014-Stormで実現するビッグデータのリアルタイム処理プラットフォーム ~ストリームデータ処理から機械学習まで~デブサミ2014-Stormで実現するビッグデータのリアルタイム処理プラットフォーム ~ストリームデータ処理から機械学習まで~
デブサミ2014-Stormで実現するビッグデータのリアルタイム処理プラットフォーム ~ストリームデータ処理から機械学習まで~Takanori Suzuki
 
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
Tomoya Hibi
 
AWS SDK for Python and CLOUDIAN HyperStore
AWS SDK for Python and CLOUDIAN HyperStoreAWS SDK for Python and CLOUDIAN HyperStore
AWS SDK for Python and CLOUDIAN HyperStore
CLOUDIAN KK
 
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
Mr. Vengineer
 
Rtshell入門
Rtshell入門Rtshell入門
Rtshell入門
openrtm
 
Reconf 201901
Reconf 201901Reconf 201901
Reconf 201901
Takefumi MIYOSHI
 
第45回elasticsearch勉強会 BERTモデルを利用した文書分類
第45回elasticsearch勉強会 BERTモデルを利用した文書分類第45回elasticsearch勉強会 BERTモデルを利用した文書分類
第45回elasticsearch勉強会 BERTモデルを利用した文書分類
shinhiguchi
 
RouterBOARD with OpenFlow
RouterBOARD with OpenFlowRouterBOARD with OpenFlow
RouterBOARD with OpenFlow
Toshiki Tsuboi
 
Elastic ML Introduction
Elastic ML IntroductionElastic ML Introduction
Elastic ML Introduction
Hiroshi Yoshioka
 
FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化
Kazunori Sato
 
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
yoyamasaki
 
マイクロサービスにおけるテスト自動化 with Karate
マイクロサービスにおけるテスト自動化 with Karateマイクロサービスにおけるテスト自動化 with Karate
マイクロサービスにおけるテスト自動化 with Karate
Takanori Suzuki
 
cloudpackサーバ仕様書(サンプル)
cloudpackサーバ仕様書(サンプル)cloudpackサーバ仕様書(サンプル)
cloudpackサーバ仕様書(サンプル)
iret, Inc.
 

Similar to Packetbeatの基礎から、IoTデバイス異常検知への応用まで (20)

2015 0228 OpenStack swift; GMO Internet Services
2015 0228 OpenStack swift; GMO Internet Services2015 0228 OpenStack swift; GMO Internet Services
2015 0228 OpenStack swift; GMO Internet Services
 
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
 
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
 
IoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkIoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache Flink
 
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
 
Ingest node scripting_deep_dive
Ingest node scripting_deep_diveIngest node scripting_deep_dive
Ingest node scripting_deep_dive
 
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
 
デブサミ2014-Stormで実現するビッグデータのリアルタイム処理プラットフォーム ~ストリームデータ処理から機械学習まで~
デブサミ2014-Stormで実現するビッグデータのリアルタイム処理プラットフォーム ~ストリームデータ処理から機械学習まで~デブサミ2014-Stormで実現するビッグデータのリアルタイム処理プラットフォーム ~ストリームデータ処理から機械学習まで~
デブサミ2014-Stormで実現するビッグデータのリアルタイム処理プラットフォーム ~ストリームデータ処理から機械学習まで~
 
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
 
AWS SDK for Python and CLOUDIAN HyperStore
AWS SDK for Python and CLOUDIAN HyperStoreAWS SDK for Python and CLOUDIAN HyperStore
AWS SDK for Python and CLOUDIAN HyperStore
 
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
 
Rtshell入門
Rtshell入門Rtshell入門
Rtshell入門
 
Reconf 201901
Reconf 201901Reconf 201901
Reconf 201901
 
第45回elasticsearch勉強会 BERTモデルを利用した文書分類
第45回elasticsearch勉強会 BERTモデルを利用した文書分類第45回elasticsearch勉強会 BERTモデルを利用した文書分類
第45回elasticsearch勉強会 BERTモデルを利用した文書分類
 
RouterBOARD with OpenFlow
RouterBOARD with OpenFlowRouterBOARD with OpenFlow
RouterBOARD with OpenFlow
 
Elastic ML Introduction
Elastic ML IntroductionElastic ML Introduction
Elastic ML Introduction
 
FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化
 
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
 
マイクロサービスにおけるテスト自動化 with Karate
マイクロサービスにおけるテスト自動化 with Karateマイクロサービスにおけるテスト自動化 with Karate
マイクロサービスにおけるテスト自動化 with Karate
 
cloudpackサーバ仕様書(サンプル)
cloudpackサーバ仕様書(サンプル)cloudpackサーバ仕様書(サンプル)
cloudpackサーバ仕様書(サンプル)
 

More from Satoyuki Tsukano

あなたのスキルを量子技術に活かそう!
あなたのスキルを量子技術に活かそう!あなたのスキルを量子技術に活かそう!
あなたのスキルを量子技術に活かそう!
Satoyuki Tsukano
 
オープンソースの量子コンピュータ・クラウド基盤開発
オープンソースの量子コンピュータ・クラウド基盤開発オープンソースの量子コンピュータ・クラウド基盤開発
オープンソースの量子コンピュータ・クラウド基盤開発
Satoyuki Tsukano
 
Quantum Computer: Now and Future
Quantum Computer: Now and FutureQuantum Computer: Now and Future
Quantum Computer: Now and Future
Satoyuki Tsukano
 
Quantum computer applications in serverless architecture and challenges
Quantum computer applications in serverless architecture and challengesQuantum computer applications in serverless architecture and challenges
Quantum computer applications in serverless architecture and challenges
Satoyuki Tsukano
 
How to Contributet o Quantum Computer
How to Contributet o Quantum ComputerHow to Contributet o Quantum Computer
How to Contributet o Quantum Computer
Satoyuki Tsukano
 
a story about an application that uses a real quantum computer
a story about an application that uses a real quantum computera story about an application that uses a real quantum computer
a story about an application that uses a real quantum computer
Satoyuki Tsukano
 
Introduction to Quantum Programming Studio
Introduction to Quantum Programming StudioIntroduction to Quantum Programming Studio
Introduction to Quantum Programming Studio
Satoyuki Tsukano
 
量子コンピュータのプログラミング・コンテスト体験記
量子コンピュータのプログラミング・コンテスト体験記量子コンピュータのプログラミング・コンテスト体験記
量子コンピュータのプログラミング・コンテスト体験記
Satoyuki Tsukano
 
数学好きから見た量子コンピュータ~57を因数分解した話~
数学好きから見た量子コンピュータ~57を因数分解した話~数学好きから見た量子コンピュータ~57を因数分解した話~
数学好きから見た量子コンピュータ~57を因数分解した話~
Satoyuki Tsukano
 
Elasticsearch as a Distributed System
Elasticsearch as a Distributed SystemElasticsearch as a Distributed System
Elasticsearch as a Distributed System
Satoyuki Tsukano
 

More from Satoyuki Tsukano (10)

あなたのスキルを量子技術に活かそう!
あなたのスキルを量子技術に活かそう!あなたのスキルを量子技術に活かそう!
あなたのスキルを量子技術に活かそう!
 
オープンソースの量子コンピュータ・クラウド基盤開発
オープンソースの量子コンピュータ・クラウド基盤開発オープンソースの量子コンピュータ・クラウド基盤開発
オープンソースの量子コンピュータ・クラウド基盤開発
 
Quantum Computer: Now and Future
Quantum Computer: Now and FutureQuantum Computer: Now and Future
Quantum Computer: Now and Future
 
Quantum computer applications in serverless architecture and challenges
Quantum computer applications in serverless architecture and challengesQuantum computer applications in serverless architecture and challenges
Quantum computer applications in serverless architecture and challenges
 
How to Contributet o Quantum Computer
How to Contributet o Quantum ComputerHow to Contributet o Quantum Computer
How to Contributet o Quantum Computer
 
a story about an application that uses a real quantum computer
a story about an application that uses a real quantum computera story about an application that uses a real quantum computer
a story about an application that uses a real quantum computer
 
Introduction to Quantum Programming Studio
Introduction to Quantum Programming StudioIntroduction to Quantum Programming Studio
Introduction to Quantum Programming Studio
 
量子コンピュータのプログラミング・コンテスト体験記
量子コンピュータのプログラミング・コンテスト体験記量子コンピュータのプログラミング・コンテスト体験記
量子コンピュータのプログラミング・コンテスト体験記
 
数学好きから見た量子コンピュータ~57を因数分解した話~
数学好きから見た量子コンピュータ~57を因数分解した話~数学好きから見た量子コンピュータ~57を因数分解した話~
数学好きから見た量子コンピュータ~57を因数分解した話~
 
Elasticsearch as a Distributed System
Elasticsearch as a Distributed SystemElasticsearch as a Distributed System
Elasticsearch as a Distributed System
 

Recently uploaded

本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
Masatsugu Matsushita
 
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Toru Miyahara
 
「VRC海のおはなし会_深海探査とロボットのお話」発表資料
「VRC海のおはなし会_深海探査とロボットのお話」発表資料「VRC海のおはなし会_深海探査とロボットのお話」発表資料
「VRC海のおはなし会_深海探査とロボットのお話」発表資料
Yuuitirou528 default
 
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHubCompute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
K Kinzal
 
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
Toru Miyahara
 
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋  セミナー資料今さら聞けない人のためのDevOps超入門 OSC2024名古屋  セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
Toru Miyahara
 
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
miyp
 

Recently uploaded (7)

本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
 
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
 
「VRC海のおはなし会_深海探査とロボットのお話」発表資料
「VRC海のおはなし会_深海探査とロボットのお話」発表資料「VRC海のおはなし会_深海探査とロボットのお話」発表資料
「VRC海のおはなし会_深海探査とロボットのお話」発表資料
 
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHubCompute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
 
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
 
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋  セミナー資料今さら聞けない人のためのDevOps超入門 OSC2024名古屋  セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
 
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
 

Packetbeatの基礎から、IoTデバイス異常検知への応用まで

  • 2. 自己紹介 • 束野仁政(Acroquest Technology株式会社) • 活動 1. ネットワーク監視システム 2. 分散処理・ビッグデータ関連システム (Hadoop, Storm, Spark, Flink, etc.) 3. Elasticsearch関連システム • @snuffkin Copyright © Acroquest Technology Co., Ltd. All rights reserved. 2 http://qiita.com/snuffkin/items/19b33797b8b5f828b1b6 Elasticsearch勉強会の 発表資料まとめページ
  • 3. Acroquest Technology • Elasticsearch社のパートナー http://www.acroquest.co.jp/elastic/ • Elasticテクニカルワークショップ https://info.elastic.co/japan-technical-workshop.html • 会社を元気にする51の「仕組み」 日本実業出版社  社員が長く気持ちよく働ける会社のユニークな「仕組み」 • Java本格入門 ~モダンスタイルによる基礎から オブジェクト指向・実用ライブラリまで 技術評論社  現場で使える実践的な内容が詰まっています Copyright © Acroquest Technology Co., Ltd. All rights reserved. 3
  • 4. 目次 1. Packetbeatとは? 2. Packetbeatの主な機能 ① Network device ② Transaction protocols ③ Processors ④ Outputs ⑤ Logging 3. ユースケース・実践例 ① パケットが流れて1秒で検索したい ② 送信元IPアドレスによる独自パラメータ付与 ③ IoTデバイスの異常検知 Copyright © Acroquest Technology Co., Ltd. All rights reserved. 4
  • 5. 1. Packetとは? Copyright © Acroquest Technology Co., Ltd. All rights reserved. 5 Packetbeatとは? 参考:Packetbeat公式ページ(https://www.elastic.co/products/beats/packetbeat)
  • 6. 1. Packetbeatとは? Copyright © Acroquest Technology Co., Ltd. All rights reserved. 6 Packetbeat is Lightweight Shipper for Network Data Beats Platformのひとつ ネットワークパケット解析し、Elasticsearch等に送信 Go言語で記述されており、軽量に動作する
  • 7. 1. Packetbeatとは? Copyright © Acroquest Technology Co., Ltd. All rights reserved. 7 Packetbeatを使ったシステム構成の例 送信元機器 モニタ 送信先機器 ①解析した情報の送信 ②蓄積、可視化 httpなど httpなど
  • 8. 1. Packetbeatとは? Copyright © Acroquest Technology Co., Ltd. All rights reserved. 8 Packetbeatの機能構成イメージ Network device OutputsProcessors Transaction protocols Logging Elasticsearch Packetbeat ④ ① ② ③ 堅牢にするなら Kafka等を挟む ネットワークインタフェースから情報を取得するため、 ループバックアドレスの通信状況は取得できない
  • 9. 1. Packetbeatとは? Copyright © Acroquest Technology Co., Ltd. All rights reserved. 9 取得できる主な内容 1. 送信元IPアドレス/ポート 2. 送信先IPアドレス/ポート 3. 送信/受信バイト数 4. プロトコル名 5. 応答時間(HTTPなど) 取得可能な項目: https://www.elastic.co/guide/en/beats/packetbeat/mast er/exported-fields.html
  • 10. 2. Packetbeatの主な機能 Copyright © Acroquest Technology Co., Ltd. All rights reserved. 10 Packetbeatの主な機能 設定ファイルをベースに Packetbeatの主な機能を紹介します
  • 11. 2. Packetbeatの主な機能 Copyright © Acroquest Technology Co., Ltd. All rights reserved. 11 Packetbeatの機能を知るには、 1. 全体像は「packetbeat.full.yml」を見ると良い これを「packetbeat.yml」にリネームし、 それを元に設定変更するのがオススメ https://github.com/elastic/beats/blob/v5.5.0/packetbeat/packetbeat.full.yml 2. 詳細はPacketbeat Referenceで分かる https://www.elastic.co/guide/en/beats/packetbeat/index.html
  • 12. 2-1. Network device Copyright © Acroquest Technology Co., Ltd. All rights reserved. 12 【必須】インタフェース指定 インタフェースのdevice id(Packetbeatの概念)を確認 packetbeat -devices packetbeat.interfaces.device: eth0 packetbeat.yml コマンドライン packetbeat.full.ymlにdevice idを設定(例:id=eth0) 「any」を指定すれば全deviceを監視可能 インタフェースを通過しない通信は取得できない ESPacketbeat
  • 13. 2-1. Network device Copyright © Acroquest Technology Co., Ltd. All rights reserved. 13 snifferモジュール指定 snifferに利用するモジュールを指定 packetbeat.interfaces.type: pcap packetbeat.yml packetbeat.full.ymlにIDを設定(例:device id=0) 1. pcap デフォルト。多くのOSで動作する。 2. af_packet pcapより高速。Linux固有。 3. pf_ring 最高速。Kernel moduleが必要。 ESPacketbeat
  • 14. 2-1. Network device Copyright © Acroquest Technology Co., Ltd. All rights reserved. 14 memory bufferのサイズ指定 shared memory bufferに利用するサイズを指定 単位はMB packetbeat.interfaces.buffer_size_mb: 30 packetbeat.yml 1. デフォルト値は30MB 2. 多いほど、メモリに蓄積できる 3. メモリを利用するケースでチューニング (HTTPのように応答を待つケースなど) ESPacketbeat
  • 15. 2-1. Network device Copyright © Acroquest Technology Co., Ltd. All rights reserved. 15 BPF指定 Berkeley Packet Filter (BPF)を指定 packetbeat.interfaces.bpf_filter: packetbeat.yml 1. デフォルトはフィルタなし 2. IPアドレスやポート番号を絞ることができる 3. 後で説明するProcessorsより、 ここでフィルタする方が負荷が軽いと思われる 詳細: https://www.elastic.co/guide/en/beats/packetbeat/current/configuration- interfaces.html#_bpf_filter ESPacketbeat
  • 16. 2-2. Transaction protocols Copyright © Acroquest Technology Co., Ltd. All rights reserved. 16 対応プロトコル・アプリケーション 1. ICMP 2. AMQP 3. Cassandra 4. DNS 5. HTTP →次ページで説明 6. Memcache 7. Mysql 8. PostgreSQL 9. Redis 10. Thrift-RPC 11. MongoDB 12. NFS デフォルトはenable 設定をコメントアウトしても無効にならないため、 不要なら明示的に disable にする 例: ICMP情報の取得を無効にする場合 packetbeat.protocols.icmp: enabled: false packetbeat.yml ESPacketbeat
  • 17. 2-2. Transaction protocols Copyright © Acroquest Technology Co., Ltd. All rights reserved. 17 HTTP指定 次のブロックに設定 packetbeat.protocols.http: packetbeat.yml HTTPの要求/応答単位で情報を取得し、 Elasticsearchの1ドキュメントとして蓄積 詳細: https://www.elastic.co/guide/en/beats/packetbeat/current/configuration- protocols.html#_http_configuration_options ESPacketbeat
  • 18. 2-2. Transaction protocols Copyright © Acroquest Technology Co., Ltd. All rights reserved. 18 HTTP設定 詳細な設定項目(抜粋) No. 設定項目 デフォルト値 内容 1 ports [80, 8080, 8000, 5000, 8002] HTTPを監視するポート 2 real_ip_header なし 送信元IPがIPヘッダでなく、HTTP ヘッダに含まれるときに設定する。 “X-Forwarded-For”など。 3 send_request false 要求の生情報を取得するか 4 send_response false 応答の生情報を取得するか 5 transaction_timeout 10s 要求と応答を紐づける処理のタイ ムアウト時間 ESPacketbeat
  • 19. 2-3. Processors Copyright © Acroquest Technology Co., Ltd. All rights reserved. 19 Processors指定 Packetbeat内でフィルタしたり、パラメータ追加できる 次のブロックに設定 processors: packetbeat.yml 詳細: https://www.elastic.co/guide/en/beats/packetbeat/current/configuration- processors.html ESPacketbeat
  • 20. 2-3. Processors Copyright © Acroquest Technology Co., Ltd. All rights reserved. 20 Processors指定 例: “http.code”が200のときにイベントを破棄する processors: - drop_event: when: equals: http.code: 200 packetbeat.yml ESPacketbeat
  • 21. 2-3. Processors Copyright © Acroquest Technology Co., Ltd. All rights reserved. 21 Processors設定 詳細な設定項目 No. プロセッサ 内容 1 add_cloud_metadata クラウドサービスを利用している場合に、 instance_idなどを付与する。 2 decode_json_fields JSON文字列を、フィールドにパースする。 3 drop_event イベントを破棄する。 4 drop_fields 指定したフィールドを削除する。 (ブラックリスト) 5 include_fields 指定したフィールドを残し、他は削除する。 (ホワイトリスト) ESPacketbeat
  • 22. 2-4. Outputs Copyright © Acroquest Technology Co., Ltd. All rights reserved. 22 標準で対応しているアウトプット先 1. Elasticsearch →次ページで説明 2. Logstash 3. Kafka 4. Redis 5. File 6. Console ESPacketbeat
  • 23. 2-4. Outputs Copyright © Acroquest Technology Co., Ltd. All rights reserved. 23 Outputs - Elasticsearch設定 次のブロックに設定 詳細: https://www.elastic.co/guide/en/beats/packetbeat/current/elasticsearch- output.html output.elasticsearch: packetbeat.yml ESPacketbeat
  • 24. 2-4. Outputs Copyright © Acroquest Technology Co., Ltd. All rights reserved. 24 Outputs - Elasticsearch設定 詳細な設定項目(抜粋) No. 設定項目 デフォルト値 内容 1 hosts ["localhost:9200"] 送信先のElasticsearchを指定。 2 index "packetbeat- %{+yyyy.MM.dd}" インデックスを指定する。日付インデッ クスも利用可能。 3 pipeline なし Elasticsearchのパイプライン(Ingest Nodeで実行される)を指定。 4 bulk_max_size 50 バルク送信の最大数を指定。 5 flush_interval 1s Elasticsearchに情報を送信する間隔 を指定する。単位はmsも利用可能。 ESPacketbeat
  • 25. 2-5. Logging Copyright © Acroquest Technology Co., Ltd. All rights reserved. 25 Logging指定 設定例 logging.level: info # critical, error, warning, info, debug logging.to_files: true logging.to_syslog: false logging.files: path: /var/log/packetbeat name: packetbeat rotateeverybytes: 10485760 # = 10MB keepfiles: 7 packetbeat.yml 詳細: https://www.elastic.co/guide/en/beats/packetbeat/current/configuration- logging.html ESPacketbeat
  • 26. 3. ユースケース・実践例 Copyright © Acroquest Technology Co., Ltd. All rights reserved. 26 ユースケース・実践例
  • 27. 3-1. パケットが流れて1秒で検索したい Copyright © Acroquest Technology Co., Ltd. All rights reserved. 27 ユースケース例: Packetbeatにパケットが流れて 1秒以内にElasticsearchで 検索できるようにしたい
  • 28. 3-1. パケットが流れて1秒で検索したい Copyright © Acroquest Technology Co., Ltd. All rights reserved. 28 時間がかかる要素を 短縮する Network device OutputsProcessors Transaction protocols Logging Elasticsearch Packetbeat ④ ① ② ③ どこか?
  • 29. 3-1. パケットが流れて1秒で検索したい Copyright © Acroquest Technology Co., Ltd. All rights reserved. 29 時間がかかる要素を 短縮する Network device OutputsProcessors Transaction protocols Logging Elasticsearch Packetbeat ④ ① ② ③ Elasticsearchが受信しても インデクシングされなければ 検索できない index.refresh_interval 5000ms→100ms Packetbeatが受信しても Elasticsearchに送信しなければ 検索できない flush_interval 1s→100msに変更 intervalを短くするとCPU負荷が 上がる点はトレードオフ
  • 30. 3-2. IPアドレスによる独自パラメータ付与 Copyright © Acroquest Technology Co., Ltd. All rights reserved. 30 ユースケース例: 送信元IPアドレスを見て、 独自パラメータを付与したい
  • 32. 3-2. IPアドレスによる独自パラメータ付与 Copyright © Acroquest Technology Co., Ltd. All rights reserved. 32 独自設定を読み、パラメータを付与するケース  Elasticsearch側のIngest Node Pluginで付与 Ingest NodePacketbeat Elasticsearch 設定ファイル ④ ① ② ③ Pluginを実装
  • 33. 3-2. IPアドレスによる独自パラメータ付与 1. まず、標準機能での実現を検討する https://www.elastic.co/guide/en/elasticsearch/reference/current/ing est-processors.html 標準機能の例: ① 値が固定のフィールドの追加 ② フィールド名の変更 ③ フィールドの削除 ④ 簡易なパース処理 2. 1ドキュメント内に完結した処理 フィールドの追加・変更・削除など  他のドキュメントにはアクセスできません Copyright © Acroquest Technology Co., Ltd. All rights reserved. 33
  • 34. 3-2. IPアドレスによる独自パラメータ付与 Copyright © Acroquest Technology Co., Ltd. All rights reserved. 34 Ingest Node Pluginの実装イメージ(初期化などは略) a_field(文字列)の末尾に「add」を付与したものをb_fieldに設定する例 public class MyProcessor extends AbstractProcessor { @Override public void execute(IngestDocument document) throws Exception { if ((document.hasField("a_field") == true)) { String value = document.getFieldValue("a_field", String.class); document.setFieldValue("b_field", value + "add"); } } } MyProcessor.java 1. 引数に渡ってくるドキュメントを編集することができる 2. ドキュメント毎にexecute が1度呼び出される 3. getFieldValueの引数に存在しないフィールドを指定する例外が発生する
  • 35. 3-3. IoTデバイスの異常検知 Copyright © Acroquest Technology Co., Ltd. All rights reserved. 35 ユースケース例: IoTデバイスのセキュリティが 世の中で問題となっている 自社のデバイスに問題ないか 異常検知したい
  • 36. 3-3. IoTデバイスの異常検知 Copyright © Acroquest Technology Co., Ltd. All rights reserved. 36 SORACOM Junction と連携し、セキュアな環境でパケット解析が可能になります。 これにより、IoTデバイスの動作不良や不正通信などの異常をリアルタイムで 検知することができます。 Torrentio Flow for Packet Analytics デバイス 基地局 お客様のサーバ セキュアな パケット転送 • パケット解析 • 機械学習 キャリア 不正通信検知 デバイスの 異常検知 通知 Junction http://www.site.torrentio.tech/torrentio/torrentio-flow/ Torrentio Flow(弊社提供のサービス) Packetbeat X-Pack ML GRE対応
  • 37. 3-3. IoTデバイスの異常検知 Copyright © Acroquest Technology Co., Ltd. All rights reserved. 37 パケットのフローを 分かりやすく可視化。 プロトコルやデータの流 れを簡単に把握。 SIM データ送信先 通信内容一覧 利用しているSIMに対して、通信の内容を可視化します。 どのSIMから、どのようにデータを送信しているかが一目で分かります。
  • 38. 3-3. IoTデバイスの異常検知 Copyright © Acroquest Technology Co., Ltd. All rights reserved. 38 SORAOM SIMグループ毎で、ジョブを設定・実行します。 自動的にパターンを分析して、異常が検知されると、通知を行います。 異常検知の結果を可視化。 異常があったところが、 カラーで表示される。 簡単な設定だけで、 異常検知のジョブを 設定。 SIM 分析データ値

Editor's Notes

  1. ・締めの文章を入力する。