0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【実践編】GitHubから取得してすぐ使える!Elixir製ログ検索サイトでIcebergを検索する

0
Last updated at Posted at 2026-06-10

【実践編】GitHubから取得してすぐ使える!Elixir製ログ検索サイトでIcebergを検索する

はじめに

以前公開した Elasticsearch版ログ検索サイトに続き、今回は Apache Iceberg を直接検索できる版を作成しました。

リアルタイムデータを保管しているTrino から参照できる、Iceberg の syslog_events / authlog_events テーブルを検索するログ検索アプリになります。

以前構築したElasticsearchでは定期バッチ保管している関係上、リアルタイムでのデータ参照できないため、
本アプリを使用することによりIcebergに保管しているリアルタイムデータも参照できるようにします。

GitHub

画面

Screenshot 2026-06-10 21.58.18.png

このアプリを利用すると、ブラウザから Iceberg テーブルを検索できます。

特徴

  • Apache Iceberg対応
  • Trino経由で検索
  • ブラウザから利用可能
  • Dockerで簡単起動
  • REST API対応

システム構成


前提条件

以下が利用可能であること。

  • Trino
  • Iceberg Catalog
  • Docker
  • Docker Compose Plugin

trinoは以下の記事の構成で作成済みのものを利用します。

また当日検索としているため、以下の記事を参考にリアルタイム収集環境を構築してください。


ソース取得

git clone -b iceberg   https://github.com/naritomo08/elixir_elastic.git

cd elixir_elastic

起動

docker compose up --build

起動確認

docker compose ps

ブラウザアクセス

http://localhost:5003

ログ検索

検索項目

  • 開始時刻
  • 終了時刻
  • ログ種別
  • ホスト
  • プログラム
  • メッセージ

ログ種別

syslog
authlog

API利用

curl -X POST   http://localhost:5003/api/logs   -H "Content-Type: application/json"   -d '{
    "log_type":"syslog",
    "message":"timeout"
  }'

ヘルスチェック

curl http://localhost:5003/health

Elasticsearch版との違い

項目 Elasticsearch版 Iceberg版
検索先 Elasticsearch Iceberg
検索方式 全文検索 SQL検索
正本データ ×
Trino必要 不要 必要

まとめ

今回は Apache Iceberg を直接検索できる Elixir 製ログ検索サイトを紹介しました。

Grafana や Trino CLI を利用せずに、ブラウザから簡単に Iceberg のログを検索できます。

Iceberg を正本として運用している環境では、運用担当者向け検索ポータルとして活用できます。

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?