nifi-examples の日本語タイトル

Data

概要

このリポジトリは「Apache NiFi を使ったサンプルフロー」を集めたものです。代表的なフローとして「collect-stream-logs」があり、フォルダからのログ取り込み、UDP での syslog 受信、ログのマージと Solr への格納、リアルタイムイベントのダッシュボード配信と履歴検索の連携までを一貫して示します。実運用で必要になるログの集約・永続化・検索・可視化のパターンを NiFi のプロセッサ群でどう構成するかを学べる資料になっています。

GitHub

リポジトリの統計情報

  • スター数: 8
  • フォーク数: 0
  • ウォッチャー数: 8
  • コミット数: 30
  • ファイル数: 20
  • メインの言語: JavaScript

主な特徴

  • 実運用に近いログ収集ワークフローをサンプルで提供(ファイル+syslog の統合)。
  • 収集データを Solr に格納して履歴検索を実現、リアルタイムイベントはダッシュボードへストリーミング。
  • NiFi の典型的な設計パターン(受信→正規化→マージ→永続化→可視化)を示す教材的構成。
  • フロー定義と補助スクリプトが含まれており、すぐに試せる構成になっている。

技術的なポイント

このリポジトリの中心は「データフローを止めずに取り込み・正規化・蓄積・検索・可視化を行う」設計パターンです。collect-stream-logs フローは複数の入力ソース(ディスク上のログファイル、UDP の syslog)を並列に受け取り、NiFi のプロセッサでレコード化・タイムスタンプ付与・メタデータ付与を行った上で Merge(バッチやウィンドウ)し、Solr 等の検索エンジンへ PutSolr することで履歴検索を可能にします。さらに同じイベントストリームの一部を Select/Route して WebSocket や SSE を使ったダッシュボードへリアルタイム配信することで、過去データの全文検索とリアルタイム監視を同時に実現しています。

NiFi の利点である「フロー単位の可視化」「プロバイダ制御(Controller Services)」「データのプロヴェナンス追跡」「バックプレッシャとスレッド制御」により、負荷変動時でもデータ損失を防ぎながら安定した取り込みが可能です。Solr など外部ストレージへの永続化は、検索用のスキーマ設計(タイムスタンプ、ホスト、レベル、メッセージ本文の分割など)と組み合わせることでクロスフィルタ検索や集計が容易になります。

リポジトリ内には NiFi テンプレートやフロー定義のほか、ダッシュボード側のスクリプト(JavaScript ベースの軽量フロントエンドやバックエンド連携用コード)が含まれていることが伺えます。build.gradle が存在する点からは、カスタムプロセッサや補助ツール(Java/Gradle 製)のビルド構成が用意されている可能性があり、標準プロセッサだけで足りない処理を拡張する設計も想定されます。運用面ではファイルのローテーション、syslog のバースト制御、Solr のインデックスチューニングなど注意点があり、NiFi のプロパティ調整と外部システムのリソース監視が重要です。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .gitattributes: file
  • .gitignore: file
  • README.md: file
  • build.gradle: file
  • collect-stream-logs: dir
  • iot-activity-tracker: dir
  • LICENSE: file
  • scripts: dir(ダッシュボードや補助ツール想定)
  • templates: dir(NiFi テンプレート想定)
  • docs: dir(一部ドキュメント) …他 15 ファイル

README の抜粋(該当部分): NiFi Examples

Apache NiFi example flows.

collect-stream-logs

This flow shows workflow for log collection, aggregation, store and display.

  1. Ingest logs from folders.
  2. Listen for syslogs on UDP port.
  3. Merge syslogs and drop-in logs and persist merged logs to Solr for historical search.
  4. Dashboard: stream real-time log events to dashboard and enable cross-filter search on historical logs data.

iot-activity-tracker

(README に続く説明あり)

使いどころと注意点

想定ユースケースは中央ログの集約(SIEM 前段)、運用監視、IoT テレメトリの収集・分析などです。導入時は NiFi のヒープ・バックプレッシャ設定、プロセッサの並列度、外部 Solr や DB のスループットを合わせてチューニングする必要があります。また、取り込むログのフォーマットが多様な場合は正規化(パーサー/正規表現や Record-based プロセッサ)を適切に設計してください。

まとめ

NiFi を用いたログ収集と可視化の実践例集で、学習とプロトタイピングに最適。

リポジトリ情報: