Elasticsearchとは
Elasticsearchとは、大容量データを扱うことを想定した全文検索エンジンである。Elastic Stackの中でデータの検索を行う機能を担当している。Elastic社が提供し、Apache2ライセンスの下で公開されているオープンソースソフトウェアである。
Elasticsearchを利用すると、大容量のデータから必要なデータを素早くに取り出すことができる。例えば、大量に出力されているDHCPサーバのログからIPアドレスやMACアドレスを抽出し、そこから利用ユーザを特定するといったことができる。
Elasticsearchには、以下のような特徴がある。
全文検索
指定したキーワードに一致するデータを大量のデータから高速に抽出することができる。また、指定したキーワードに関連するデータを抽出することもできる。この機能は大量の商品リストから特定のキーワードを含む商品だけを検索するような時に利用できる。
分散構成
Elasticsearchは、複数のサーバをひとつのクラスタとして構成することができる。Elastcisearchで扱うデータは、クラスタに所属する各サーバに分散して保存される。ひとつのデータを複数のサーバに配置することも可能となっており、データ冗長化を行うこともできる。
スケーラビリティ
システムを停止することなくElasticsearchサーバを追加して、システムを拡張することができる。導入時は最小構成で始め、データ量やアクセス量が増加してきた時に、規模に合わせてサーバを追加するというようなシステム拡張が可能となっている。サーバを追加した時、Elasticsearchが持っているデータは各サーバに自動的に再配置される。
ハイアベイラビリティ
クラスタを構成するひとつのサーバが停止してしまった時、そのサーバを切り離した状態でサービスを継続することができる。データを複数のサーバに配置する構成にしておけば、データが失われることもなく、完全な冗長化システムを構築することができる。
Restful API
データ登録やデータ検索は、Elasticsearchが提供するAPIを通して行う。APIはRestful APIの形式となっている。APIを使用することで、Elasticsearchを使用したデータ登録やデータ検索が、外部システムから容易に利用することができる。
Elasticsearchの用途
近年、ビッグデータを扱うことが増えているが、そのデータ配置方法や高速に検索する仕組みが課題となっている。Elasticsearchを利用すれば、大量データを複数サーバに分散して配置したり、複数のサーバにデータを配置することでデータ冗長化をしたりすることができる。また、高速に全文検索を行うこともできるため、安全で便利にビッグデータを扱うシステムを構築することができるようになる。
Elasticsearchと連携ツール
Elasticsearchにはいくつかのツールを連携することができる。ここでは、ElasticsearchとKibanaの連携、ElasticsearchとLogstashの連携、そして、ElasticsearchとKuromojiの連携について紹介する。
ElasticsearchとKibana
Kibanaとは、Elastic社が開発したログデータの可視化ツールである。Elasticsearchに保存されているデータを、時系列や属性に合わて抽出できる。そして、Elasticsearchから抽出したデータをグラフィカルに表示することが可能である。リアルタイム解析も可能なため、Kibanaは非常に強力なログ解析ツールである。
ElasticsearchとLogstash
Logstashとは、ログデータだけではなく様々な形式のデータを収集・変換し、任意の場所に保管することができるオープンソースソフトウェアである。Logstashを利用すると、ログファイルに溜まっているデータを解析して、データベースへ格納するなど、用途にあった形にデータを変換・保存することができる。ElasticsearchにLogstashで解析した情報を保存し、Kibanaを使って可視化することも可能である。
Logstashについての詳しい情報は「Logstash調査報告書」に記載されている。
ElasticsearchとKuromoji
Kuromojiは、Elasticsearchで日本語データの解析を行う場合に利用されるオープンソースの日本語形態素解析エンジンである。KuromojiはElasticsearchのベースであるApache Luceneへの日本語のサポートを提供している。Kuromojiは、複合語の分割、品詞のタグ付け、見出し化、読みの抽出などの機能がある。
ElasticsearchにKuromojiをインストールすることで日本語データの全文解析が可能になる。
デージーネットの取り組み
デージーネットでは、システムログから指定したキーワードで検索を行うためのオープンソースソフトウェア SyLAS を開発して公開している。SyLAS 6.00では、ログ検索先としてElasticsearchを選択できるようになった。これにより、大量に出力されるログから欲しい情報を高速に抽出できるようになった。
【カテゴリ】:ビッグデータ  システム管理  オープンソースソフトウェア  IoT  
【Webセミナー】CentOS8 サポート終了に伴う今後の考え方
日程: | 1月22日(金)Webセミナー「BigBlueButton」を使用します。 |
内容: | CentOS8のサポートが2021年に終了すると発表されました。CentOS8を利用していたユーザは今後、どのようにしていくとよいのかわかりやすく解説します! |
ご興味のあるかたはぜひご参加ください。 |