Elasticsearchクラスタ保護のためのINFINI Gatewayを用いた不正クエリブロック手法

本記事ではINFINI Gatewayを使用してElasticsearchクラスタに対して不正なクエリをブロックする手法について解説します。この手法はOpensearchやEasysearchにも適用可能です。 問題の背景 ElasticsearchのOOM(メモリ不足)問題の多くは、以下の2種類のクエリパターンに起因しています: クラスタの処理能力を超えるクエリスループット メモリを過剰に消費する不正 ...

6月20日 21:27 投稿

【ElasticSearch】インデックス(更新)

フィールドの追加 REST API ドキュメント:https://www.elastic.co/guide/en/elasticsearch/reference/7.13/docs-reindex.html 空のインデックス myindex を準備します PUT /myindex { "settings": { "number_of_shards": 1, "number_of_replicas": 1 } } 新しいフィールドを追加します PUT /myindex/_mapping { "properties": { "name": { " ...

6月15日 19:34 投稿

分散ログ収集基盤の構築:Elasticsearch + Kafka + ZooKeeper + rsyslog

多くのシステムで共通する課題として、開発者がサーバーに直接アクセスできないことや、ログが各サーバーに散在し検索が困難であること、さらに大量のログデータによりリアルタイムなクエリが困難であることが挙げられます。これらの問題を解決するために、集中型のログ収集・分析基盤を構築します。 前提条件とアーキテクチャ概要 本環境では、以下のソフトウェアスタッ ...

6月8日 17:42 投稿

Elasticsearchの設定ミスが引き起こした重大な問題

状況説明 Elasticsearchバージョン 7.1.4を使用しています。プロダクション環境でインデックスに新しいフィールドを追加しようとしたところ、"Setting index.mapper.dynamic was removed after version 6.0.0"というエラーが発生しました。単純にフィールドを追加するだけのはずだったのにです。 詳細なエラー内容 curl -X PUT "http://localhost:9200/sample_index/_mapp ...

6月6日 16:19 投稿

Elasticsearch と MySQL の JOIN 機能: データモデル設計の核心

Elasticsearch は MySQL のような多テーブル JOIN クエリを直接サポートしません。これは反正規化設計、分散アーキテクチャ、近似実時間処理の本質に起因します。JOIN を強制的に実装するとパフォーマンス急落、データ不整合、メンテナンスコスト上昇を招きます。 しかし適切なデータモデル設計により、90% の JOIN 要件を ES のネイティブ機能で効率的に処理可能です。 ...

6月5日 16:41 投稿

Elasticsearch 6.0 Java APIの使用方法

Elasticsearch 6.0におけるJava APIの活用 1:Java APIを使用したElasticsearchクライアントの作成 package com.example.elasticsearch.client; import org.elasticsearch.client.transport.TransportClient; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.transport.TransportAddress; import org.elasticsearch.transport.clien ...

6月4日 22:04 投稿

Elasticsearch技術解説

多くの日常的なプロジェクトにおいて、検索機能は最も頻繁にアクセスされるページの一つです。現在の検索機能はデータベースに基づくあいまい検索によって実装されており、多くの問題点があります。 まず第一に、検索効率が低いことです。 データベースのあいまい検索はインデックスを利用しないため、データ量が大きくなると検索性能が著しく低下します。検索エンジンに切 ...

6月3日 18:42 投稿

Elasticsearch:検索界のスター技術とその進化

こんにちは、皆さん。検索技術の世界へようこそ。 本記事では、検索技術の分野で革命をもたらしたが、同時に議論を呼んできた製品について掘り下げます。Elasticsearchです。 導入 もしLuceneが舞台裏のヒーローなら、Elasticsearchはまさにセンター stageのスターです。REST API、分散アーキテクチャ、強力なエコシステムを通じて、検索+分析を「すぐに使える」サービス形 ...

6月2日 23:46 投稿

LogstashとNginxログ統合の実践設定ガイド

JDKの事前準備 LogstashはJavaランタイムに依存するため、まずJDK 8をシステムに展開します。 # JDKアーカイブの展開とシンボリックリンク作成 sudo tar xzf jdk-8u202-linux-x64.tar.gz -C /usr/local/ sudo ln -sf /usr/local/jdk1.8.0_202 /usr/local/java # 環境変数の永続化(/etc/profile.d/java.sh) echo 'export JAVA_HOME=/usr/local/java' | sudo tee /etc/pr ...

6月1日 23:22 投稿

Spring BootとELKスタックの構築および設定手順

前提条件 CentOS 7、JDK 8の環境が必要です。 ELKスタックとは? ELKスタックは、Elasticsearch、Logstash、Kibanaの3つのオープンソースツールを組み合わせたログ解析プラットフォームです。 Elasticsearch: 分散型検索エンジンで、ログデータの格納と高速検索を提供します。 Logstash: ログ収集・変換ツールで、さまざまなソースからデータを取得し、処理してElastics ...

5月30日 10:41 投稿