Soumettre la recherche
Mettre en ligne
Ingest node scripting_deep_dive
•
0 j'aime
•
367 vues
Hiroshi Yoshioka
Suivre
第37回Elasticsearch勉強会の発表スライド。 「Ingest Node Scripting Deep Dive」
Lire moins
Lire la suite
Données & analyses
Signaler
Partager
Signaler
Partager
1 sur 29
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
分散システムについて語らせてくれ
分散システムについて語らせてくれ
Kumazaki Hiroki
試験にでるSpring
試験にでるSpring
土岐 孝平
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
Yasuhiro Mawarimichi
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
NTT DATA OSS Professional Services
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
NTT DATA Technology & Innovation
はじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタ
Satoyuki Tsukano
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kumazaki Hiroki
SolrとElasticsearchを比べてみよう
SolrとElasticsearchを比べてみよう
Shinsuke Sugaya
Recommandé
分散システムについて語らせてくれ
分散システムについて語らせてくれ
Kumazaki Hiroki
試験にでるSpring
試験にでるSpring
土岐 孝平
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
Yasuhiro Mawarimichi
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
NTT DATA OSS Professional Services
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
NTT DATA Technology & Innovation
はじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタ
Satoyuki Tsukano
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kumazaki Hiroki
SolrとElasticsearchを比べてみよう
SolrとElasticsearchを比べてみよう
Shinsuke Sugaya
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話
Yuta Shimada
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
NTT DATA Technology & Innovation
第15回 Solr勉強会 #SolrJP Amazon CloudSearch Deep Dive
第15回 Solr勉強会 #SolrJP Amazon CloudSearch Deep Dive
Amazon Web Services Japan
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Yahoo!デベロッパーネットワーク
例外設計における大罪
例外設計における大罪
Takuto Wada
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
Yugo Shimizu
人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with Karate
Takanori Suzuki
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
Akihiro Suda
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
Masahiko Sawada
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
DeNAのゲーム開発を支える Game Backend as a Service
DeNAのゲーム開発を支える Game Backend as a Service
Makoto Haruyama
Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26
Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26
Yahoo!デベロッパーネットワーク
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線
Motonori Shindo
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
並行処理初心者のためのAkka入門
並行処理初心者のためのAkka入門
Yoshimura Soichiro
MQTTとAMQPと.NET
MQTTとAMQPと.NET
terurou
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
NTT DATA Technology & Innovation
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
Yahoo!デベロッパーネットワーク
Packetbeatの基礎から、IoTデバイス異常検知への応用まで
Packetbeatの基礎から、IoTデバイス異常検知への応用まで
Satoyuki Tsukano
マイクロサービスにおけるテスト自動化 with Karate
マイクロサービスにおけるテスト自動化 with Karate
Takanori Suzuki
Contenu connexe
Tendances
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話
Yuta Shimada
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
NTT DATA Technology & Innovation
第15回 Solr勉強会 #SolrJP Amazon CloudSearch Deep Dive
第15回 Solr勉強会 #SolrJP Amazon CloudSearch Deep Dive
Amazon Web Services Japan
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Yahoo!デベロッパーネットワーク
例外設計における大罪
例外設計における大罪
Takuto Wada
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
Yugo Shimizu
人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with Karate
Takanori Suzuki
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
Akihiro Suda
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
Masahiko Sawada
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
DeNAのゲーム開発を支える Game Backend as a Service
DeNAのゲーム開発を支える Game Backend as a Service
Makoto Haruyama
Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26
Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26
Yahoo!デベロッパーネットワーク
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線
Motonori Shindo
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
並行処理初心者のためのAkka入門
並行処理初心者のためのAkka入門
Yoshimura Soichiro
MQTTとAMQPと.NET
MQTTとAMQPと.NET
terurou
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
NTT DATA Technology & Innovation
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
Yahoo!デベロッパーネットワーク
Tendances
(20)
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
第15回 Solr勉強会 #SolrJP Amazon CloudSearch Deep Dive
第15回 Solr勉強会 #SolrJP Amazon CloudSearch Deep Dive
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
例外設計における大罪
例外設計における大罪
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with Karate
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
DeNAのゲーム開発を支える Game Backend as a Service
DeNAのゲーム開発を支える Game Backend as a Service
Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26
Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
並行処理初心者のためのAkka入門
並行処理初心者のためのAkka入門
MQTTとAMQPと.NET
MQTTとAMQPと.NET
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
Similaire à Ingest node scripting_deep_dive
Packetbeatの基礎から、IoTデバイス異常検知への応用まで
Packetbeatの基礎から、IoTデバイス異常検知への応用まで
Satoyuki Tsukano
マイクロサービスにおけるテスト自動化 with Karate
マイクロサービスにおけるテスト自動化 with Karate
Takanori Suzuki
Elastic Community Conference
Elastic Community Conference
Hiroshi Yoshioka
Elastic ML Introduction
Elastic ML Introduction
Hiroshi Yoshioka
Uniform indexing load with cluster reroute api
Uniform indexing load with cluster reroute api
Hiroshi Yoshioka
デブサミ2014-Stormで実現するビッグデータのリアルタイム処理プラットフォーム ~ストリームデータ処理から機械学習まで~
デブサミ2014-Stormで実現するビッグデータのリアルタイム処理プラットフォーム ~ストリームデータ処理から機械学習まで~
Takanori Suzuki
第45回elasticsearch勉強会 BERTモデルを利用した文書分類
第45回elasticsearch勉強会 BERTモデルを利用した文書分類
shinhiguchi
2015 0228 OpenStack swift; GMO Internet Services
2015 0228 OpenStack swift; GMO Internet Services
Naoto Gohko
Karateによる UI Test Automation 革命
Karateによる UI Test Automation 革命
Takanori Suzuki
2015RTミドルウエア講習会
2015RTミドルウエア講習会
openrtm
ochacafe#6 人にもマシンにもやさしいAPIのエコシステム
ochacafe#6 人にもマシンにもやさしいAPIのエコシステム
オラクルエンジニア通信
Elasticsearch workshop 23_sql
Elasticsearch workshop 23_sql
shinhiguchi
20211209 lt runtime_field
20211209 lt runtime_field
Nomura Yuta
RTミドルウエア: OpenRTM-aist概要
RTミドルウエア: OpenRTM-aist概要
openrtm
iREX2015 RTM講習会
iREX2015 RTM講習会
openrtm
OpenStack本番環境の作り方 - Interop 2016
OpenStack本番環境の作り方 - Interop 2016
VirtualTech Japan Inc.
20180704 soracom discovery_ug#11
20180704 soracom discovery_ug#11
Haruka Yamashita
インメモリーで超高速処理を実現する場合のカギ
インメモリーで超高速処理を実現する場合のカギ
Masaki Yamakawa
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Hironobu Isoda
Supervised Machine Learning of Elastic Stack
Supervised Machine Learning of Elastic Stack
Hiroshi Yoshioka
Similaire à Ingest node scripting_deep_dive
(20)
Packetbeatの基礎から、IoTデバイス異常検知への応用まで
Packetbeatの基礎から、IoTデバイス異常検知への応用まで
マイクロサービスにおけるテスト自動化 with Karate
マイクロサービスにおけるテスト自動化 with Karate
Elastic Community Conference
Elastic Community Conference
Elastic ML Introduction
Elastic ML Introduction
Uniform indexing load with cluster reroute api
Uniform indexing load with cluster reroute api
デブサミ2014-Stormで実現するビッグデータのリアルタイム処理プラットフォーム ~ストリームデータ処理から機械学習まで~
デブサミ2014-Stormで実現するビッグデータのリアルタイム処理プラットフォーム ~ストリームデータ処理から機械学習まで~
第45回elasticsearch勉強会 BERTモデルを利用した文書分類
第45回elasticsearch勉強会 BERTモデルを利用した文書分類
2015 0228 OpenStack swift; GMO Internet Services
2015 0228 OpenStack swift; GMO Internet Services
Karateによる UI Test Automation 革命
Karateによる UI Test Automation 革命
2015RTミドルウエア講習会
2015RTミドルウエア講習会
ochacafe#6 人にもマシンにもやさしいAPIのエコシステム
ochacafe#6 人にもマシンにもやさしいAPIのエコシステム
Elasticsearch workshop 23_sql
Elasticsearch workshop 23_sql
20211209 lt runtime_field
20211209 lt runtime_field
RTミドルウエア: OpenRTM-aist概要
RTミドルウエア: OpenRTM-aist概要
iREX2015 RTM講習会
iREX2015 RTM講習会
OpenStack本番環境の作り方 - Interop 2016
OpenStack本番環境の作り方 - Interop 2016
20180704 soracom discovery_ug#11
20180704 soracom discovery_ug#11
インメモリーで超高速処理を実現する場合のカギ
インメモリーで超高速処理を実現する場合のカギ
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Supervised Machine Learning of Elastic Stack
Supervised Machine Learning of Elastic Stack
Ingest node scripting_deep_dive
1.
1Copyright © Acroquest
Technology Co., Ltd. All rights reserved. Ingest Node Scripting Deep Dive Acroquest Technology株式会社 Senior Consultant / Elastic Certified Engineer 吉岡 洋 @Hirosh_Yoshioka
2.
はじめに Copyright © Acroquest
Technology Co., Ltd. All rights reserved. 1.今日話すこと ①Ingest Nodeの例外処理グッドプラクティス 2.今日話さないこと ①Ingest APIの解説
3.
目次 Copyright © Acroquest
Technology Co., Ltd. All rights reserved. 1.Ingest Nodeとは 2.例外処理 3.Circuit Breaker
4.
自己紹介 Copyright © Acroquest
Technology Co., Ltd. All rights reserved. 1. Acroquest Technology株式会社 2. 吉岡 洋(@Hirosh_Yoshioka) 3. 業務 − Elastic Stackのコンサルティング全般 (全文検索/ログ分析/セキュリティ分析/可視化) 4. その他 − 世界初のElastic Certified Engineer − 日本初のElastic社認定コンサルタント − Elastic User Group Tokyo運営
5.
Acroquest Technology株式会社 Copyright ©
Acroquest Technology Co., Ltd. All rights reserved. 1. 新横浜にあるITベンチャー ①Great Place To Work(R) Institute Japan実施 働きがいのある会社ランキング第1位(3回受賞) 2. 事業(データ活用ビジネス) ①Elastic Stack活用コンサルティングサービス – 検証/設計/構築/運用支援など – Elastic Certified Engineer:5名 ②IoTデータ分析プラットフォーム ③機械学習/AI
6.
1. Ingest Nodeとは Copyright
© Acroquest Technology Co., Ltd. All rights reserved.
7.
1-1. Ingest Nodeとは? Copyright
© Acroquest Technology Co., Ltd. All rights reserved. 1. 特徴 ①Elasticsearchにドキュメントをインデクシングする際の 前処理として、様々なデータ加工を行う機能。 ②Ingest Nodeの役割を持ったノードで実行される。 2. メリット ①ローコード開発(各種Processor+Painless Script) ②加工処理のSimulationが可能(Simulate pipeline API) ③加工処理をスケール可能(複数台Ingest Node)
8.
1-2. Ingest Nodeの利用シーン Copyright
© Acroquest Technology Co., Ltd. All rights reserved. 1. Logstashと異なり、既存データの加工が可能 2. データ保守で利用シーンが多い No 概要 利用API Logstashによる代替 1 新規投入データの加工 ・Index API ・Bulk API 可能 2 既存データの加工 ・フィールド追加や値の変更 ・Update By Query API 不可能 3 既存データの加工 ・マッピング構造の変更 ・Analyzer関連の変更 ・Reindex API 不可能
9.
1-3. Ingest Nodeで可能な加工処理 Copyright
© Acroquest Technology Co., Ltd. All rights reserved. 1. Document操作 ①特定条件でDrop 2. フィールド操作 ①追加/削除/リネーム/値セット 3. Index名操作 ①日付を付与、投入先インデックスを変更 4. 文字列操作 ①CSV/JSONパース、文字列置換/正規表現抽出 ②大文字/小文字化
10.
1-3. Ingest Nodeで可能な加工処理 Copyright
© Acroquest Technology Co., Ltd. All rights reserved. 5. 配列操作 ①Split/Append/Join/Sort 6. データ付与 ①GeoIP/Enrich 7. 教師あり機械学習モデルの推論 ①言語判定 ②回帰/分類 8. Painless Script ①例)文字列配列に対して正規表現で文字列を抽出する
11.
2. 例外処理 Copyright ©
Acroquest Technology Co., Ltd. All rights reserved.
12.
2-1. エラー発生時の挙動 Copyright ©
Acroquest Technology Co., Ltd. All rights reserved. 1. Processorでエラーが発生するとインデクシングはSkipされる ① 正しいデータ加工/デバッグのため、例外処理は重要 POST _ingest/pipeline/_simulate { "pipeline": { "processors": [{ "rename": { "field": "server_name", "target_field": "host.name" } }] }, "docs": [ { "_source":{ "xxx": "vega" } } ] } { "docs" : [{ "error" : { "root_cause" : [ { "type" : "illegal_argument_exception", "reason" : "field [server_name] doesn't exist" } ], "type" : "illegal_argument_exception", "reason" : "field [server_name] doesn't exist" } }] } server_nameフィールドが存在しない
13.
2-2. 例外処理パターン Copyright ©
Acroquest Technology Co., Ltd. All rights reserved. 1. 代表的な5つの例外処理パターン No 概要 利用機能 1 各Processorを対象にエラーをCatchする (エラー発生時にリカバリする処理) on_failureパラメータ 2 Pipeline全体を対象にエラーをCatchする (想定外エラー発生時の処理) on_failureブロック 3 エラーが発生しても処理を継続する (例外をCatchして何もしない) ignore_failureパラメータ 4 Processorの実行条件を記述する (主にNullチェックで利用) ifパラメータ 5 Nullチェックを簡易化する (スクリプト記述量が減る) Null Safeオペレータ(?.)
14.
2-2. 例外処理パターン Copyright ©
Acroquest Technology Co., Ltd. All rights reserved. 2. Pipeline全体を対象にエラーをCatchする(on_failureブロック) "on_failure" : [{ "set" : { "field" : "error.message", "value" : "{{ _ingest.on_failure_message }}" }, "set" : { "field" : "_index", "value" : "error-index" } }] 想定外のエラーが発生した場合、 ①error.messageにエラー内容を設定 ②投入先をerror-indexに変更 ※https://www.elastic.co/guide/en/elasticsearch/reference/current/handling-failure-in-pipelines.html
15.
2-2. 例外処理パターン Copyright ©
Acroquest Technology Co., Ltd. All rights reserved. 4. Processorの実行条件を記述する(ifパラメータ) PUT _ingest/pipeline/remove_temp { "processors": [ { "remove": { "field": "temp" "if": "ctx.temp != null" } } ] } tempフィールドが存在する場合、 削除する ※https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest-conditionals.html
16.
2-2. 例外処理パターン Copyright ©
Acroquest Technology Co., Ltd. All rights reserved. 5. Nullチェックを簡易化する(Null Safeオペレータ) PUT _ingest/pipeline/drop_guests_network { "processors": [ { "drop": { "if": "ctx.network?.name == 'Guest'" } } ] } network階層が存在しない場合、 左辺はnullを返す ※https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest-conditional-nullcheck.html
17.
3. Circuit breaker Copyright
© Acroquest Technology Co., Ltd. All rights reserved.
18.
Ingest Nodeを実装して いざ、データを投入! Copyright ©
Acroquest Technology Co., Ltd. All rights reserved.
19.
データを投入すると Circuit Breakerが 発動してデータ登録失敗 Copyright ©
Acroquest Technology Co., Ltd. All rights reserved.
20.
3-1. Script compilation
circuit breaker(~7.8) Copyright © Acroquest Technology Co., Ltd. All rights reserved. 1. すべてのスクリプト処理を1つの閾値で判定 2. スクリプトCompileは5分間に75回まで ①script.max_compilations_rate ②あまり上げ過ぎると、OOMEのリスクが高まる 3. スクリプトCacheは100(Compile結果が入る) ①script.cache.max_size ②Elastic Cloudでは変更不可 4. Ingest Nodeでスクリプトにカウントされるもの ①Pipeline Processor/Script Processor/ifパラメータ
21.
3-2. Circuit breaker対策 Copyright
© Acroquest Technology Co., Ltd. All rights reserved. 1. Script ProcessorをStored Script(事前コンパイル)にする POST _ingest/pipeline/_simulate { "pipeline": { "processors": [ { "script": {"id": "double"} } ] }, "docs": [ { "_source":{"number": 33} } ] } POST _scripts/double/ { "script": { "lang": "painless", "source": "ctx.number2 = ctx.number * 2" } }
22.
3-2. Circuit breaker対策 Copyright
© Acroquest Technology Co., Ltd. All rights reserved. { "docs" : [ { "doc" : { "_index" : "_index", "_type" : "_doc", "_id" : "_id", "_source" : { "number" : 33, "number2" : 66 }, "_ingest" : { "timestamp" : "2020-08-25T17:57:16.391823Z" } } } ] }
23.
データを投入すると 再びCircuit Breakerが 発動してデータ登録失敗 Copyright ©
Acroquest Technology Co., Ltd. All rights reserved.
24.
Processor毎に 存在するifパラメータは Stored Scriptに 登録できない Copyright ©
Acroquest Technology Co., Ltd. All rights reserved.
25.
Elastic Stack 7.9で改善 Copyright
© Acroquest Technology Co., Ltd. All rights reserved.
26.
3-3. Script compilation
circuit breaker(7.9~) Copyright © Acroquest Technology Co., Ltd. All rights reserved. 1. Circuit breakerの設定はContext単位に設定可能 ①script.context.$CONTEXT.max_compilations_rate ②script.context.$CONTEXT.cache_max_size $CONTEXT Cache (デフォルト) Compile Rate (デフォルト) ingest 200 制限なし processor_conditional 200 制限なし aggs 100 75/5m bucket_aggregation 100 75/5m field 100 75/5m score 100 75/5m : : :
27.
3-4. Ingest Node
Pipelines(7.9~) Copyright © Acroquest Technology Co., Ltd. All rights reserved. Kibana UIで Ingest Nodeを 簡単に編集
28.
まとめ Copyright © Acroquest
Technology Co., Ltd. All rights reserved. 1. Ingest Nodeはローコード開発のデータ加工基盤 2. 5つの例外処理パターンを利用する 3. Ingest Nodeで多数のScriptを利用する場合は Circuit Breakerが発生しやすい 4. 解決策は以下 ①Stored Scriptを積極利用する ②Ver.7.9以上を利用する
29.
ご清聴ありがとうございました。 Evolve the Earth
with Emotion of Technology Copyright © Acroquest Technology Co., Ltd. All rights reserved.
Télécharger maintenant