Solutions · Open Source

Argus Flow

Apache NiFi 2.10.0 を実運用環境に載せるために必要なものを一か所にまとめたオープンソースのデータパイプライン配布版です。カスタム拡張バンドル(NAR)、配布パッケージ(tar.gz・RPM・コンテナイメージ)、Kubernetes オペレーター、設定・証明書・ユーザー管理ツールまで、散在していたリポジトリをモノレポに統合し、単一のビルドパイプラインからバージョンの揃った成果物を生成します。

Apache License 2.0 · オープンソースApache NiFi 2.10.0 · Java 21GitHub リポジトリ

特徴と強み

01

拡張・配布・オペレーターを一つのパイプラインで

NiFi 拡張、オペレーター、証明書生成スクリプトがリポジトリごとに分散し、バージョンがずれていた問題をモノレポに統合しました。make ターゲット一つで NAR・tar.gz・RPM・コンテナイメージが揃ったバージョンで生成されます。

02

12 バンドル・18 NAR で依存関係を分離

拡張をドメイン別バンドルに分け、バンドルごとに独立した NAR としてパッケージするため、サードパーティ依存がバンドル境界を越えて衝突しません。CDC・レイクハウス・Hive・Parquet・DB・レポーティング・フロー解析から必要なものだけを導入できます。

03

ZooKeeper 不要の NiFi 2.x Kubernetes オペレーター

NiFi 2.x 自体の Raft コーディネーションを利用し、ZooKeeper なしでクラスターを運用します。NiFiCluster・NiFiFlow CR による宣言的管理、スケールダウン時の Offload → Disconnect → Remove の安全なオフボーディング、cert-manager 連携による TLS 自動発行を提供します。

04

設定・証明書・アカウントをツールで安全に

200 行を超える nifi.properties と XML を手で編集する代わりに、対話型ウィザードで設定し、保存前に diff を確認します。--check 診断が証明書 SAN の不一致・有効期限切れ間近・コメントアウトされたログインプロバイダーを検出し、Invalid SNI などの事故を防ぎます。

配布版の構成

拡張バンドル・配布パッケージ・Kubernetes オペレーター・運用ツールが一つのリポジトリでまとめてビルドされ、各ディレクトリは単独でもビルドできます。

NiFi Extensions
Maven · Java 21
12 バンドル → 18 NAR(バンドル単位の依存分離)
プロセッサー 22 種・コントローラーサービス 7 種
レポーティングタスク 5 種・Flow Analysis Rule 6 種
DB ベースの認証・認可プロバイダー
services-api バンドルでサービス契約を分離
パッケージ io.datadynamics.nifi.*
Distribution
tar.gz · RPM · コンテナ
公式 NiFi バイナリの再パッケージ
nfpm ベースの RPM・systemd ユニット
NAR 同梱コンテナイメージ(apache/nifi ベース)
bin/ に運用スクリプトを同梱
アップストリームはベンダリングせずビルド時に固定
make dist · make rpm · make docker-image
Kubernetes Operator
Python · kopf
NiFiCluster・NiFiFlow カスタムリソース
StatefulSet・Headless Service・ConfigMap の調整
スケールアップ/ダウン時の安全なオフボーディング
cert-manager による TLS 自動発行・更新
ヘルスチェックによるノードの自動再接続
Prometheus メトリクス・Helm チャート
Ops Tooling
argus-config · argus-ssl · argus-user
conf/ の対話型設定 TUI(zipapp で配布版に同梱)
初期設定ウィザード — アドレス → TLS → ログイン
--check 設定診断(終了コードで CI 連携)
非対話モードの --set・--recipe による自動化
TLS 証明書生成スクリプト
DB 認証のユーザー管理 CLI
技術スタック
Apache NiFi 2.10.0Java 21Maven 3.9.16+ (wrapper)Python 3.12+kopfHelmnfpmDocker / Podmancert-managerDebezium 3.2.2Apache IcebergDelta KernelApache KuduHive3 · ORCParquet · AvroPostgreSQL

主な機能

CDC・レイクハウス・Hive・ファイルフォーマット拡張から運用ガバナンスルール、DB 認証・認可、配布パッケージング、Kubernetes オペレーター、設定・TLS 自動化まで、NiFi 運用に必要な 12 の柱を一つの配布版で提供します。

CDC ソース 4 種

Debezium Embedded Engine 3.2.2 をベースに、主要 RDB の変更イベントを JSON FlowFile として出力します。

CaptureChangeMySQL — binlog CDC
CaptureChangePostgreSQL — 論理レプリケーション(pgoutput/decoderbufs)
CaptureChangeOracle — LogMiner(CDB/PDB)
CaptureChangeSQLServer — SQL Server CDC
PrimaryNodeOnly · at-least-once

レイクハウスシンク

レコードをオープンテーブルフォーマットとカラムストアへ直接ロードします。

PutIceberg — Apache Iceberg テーブルへのロード
PutDeltaLake — Delta Kernel ベースのパス型シンク
PutKudu — Apache Kudu テーブルへのロード
HiveCatalogService · HadoopCatalogService

データベースプロセッサー

検索から大量ロードまで RDB 連携の経路を広げました。

ExecuteSQL · ExecuteSQLRecord
ExecuteFastSQL — 大容量結果セットの高速ストリーミング
PutDatabaseRecord — INSERT/UPSERT
BulkOracleInsertProcessor — Oracle 配列バインディングの一括挿入

Hive / ORC

Hive3 連携と ORC 出力を専用バンドルで提供します。

SelectHive3QL · PutHive3QL · PutHive3Streaming
UpdateHive3Table — カラム・パーティションのスキーマ同期
TriggerHiveMetaStoreEvent
PutORC · Hive3ConnectionPool · VendorHive3ConnectionPool

ファイルフォーマットとレコードシリアライズ

タイムスタンプ形式まで制御できるリーダー・ライターを提供します。

PutParquet · MergeParquet
CSVReader — タイムスタンプ形式を指定可能
TimestampFormatAvroRecordSetWriter
TimestampFormatParquetRecordSetWriter

汎用プロセッサー

現場で繰り返し必要になった処理を標準バンドルに収めました。

PrePostExecuteStreamCommand — 前後処理コマンドを伴う実行
MultilineCsvParser — 複数行フィールドを含む CSV の解析
バンドル単位の配布で必要なものだけを導入

監視レポーティングタスク 5 種

ノードのリソース状態を閾値で監視し、外部へ通知します。

MonitorDiskUsageReportingTask — リポジトリのディスク
MonitorMemoryUsageReportingTask — JVM ヒープ
MonitorMemoryPoolReportingTask — 個別メモリプール
MonitorThreadReportingTask — デッドロックなどスレッド状態
HttpNotificationReportingTask — Webhook への HTTP POST 通知

Flow Analysis Rule 6 種

フロー構成のアンチパターンを静的検査で検出する運用ガバナンスルールです。

TimerThreadPoolCeilingRule — グローバルスレッド数の上限
ProcessorThreadShareLimitRule — 単一プロセッサーの占有率
ProcessorConcurrencyCapRule — タイプ別の同時タスク上限
ListingScheduleGuardRule — List 系の 0 秒スケジュール
DeadEndFunnelRule — 行き止まり Funnel による滞留
IcebergSinkMergeRule — Merge 不在による small-file

DB ベースの認証・認可

LDAP も外部 IdP も導入できない環境で users.xml を手で編集しなくて済むように作ったプロバイダーです。

DbLoginIdentityProvider — RDB のユーザー・パスワード認証
DbUserGroupProvider — RDB ベースの認可
argus-user.sh ユーザー管理 CLI
既定は無効(コメントアウト)、必要なときだけ有効化
PostgreSQL ドライバーは同梱、MariaDB は別途持ち込み

配布パッケージング

公式バイナリを再パッケージし、運用環境にそのまま載せられる成果物を作ります。

tar.gz — 拡張 NAR と運用スクリプトを含む
RPM(nfpm)— systemd ユニット・sysconfig を同梱
コンテナイメージ — 公式 apache/nifi ベース
アップストリームはベンダリングせずビルド時に固定

Kubernetes オペレーター

NiFi 2.x クラスターを宣言的に定義し、スケールと更新を自動化します。

NiFiCluster CR — ノード数・リソース・ストレージ・JVM ヒープ
NiFiFlow CR — Registry Flow の GitOps デプロイ
Headless Service DNS による自動ノードディスカバリー
ローリング再起動で無停止に設定を反映
cert-manager Issuer 連携の TLS
Helm チャート — CRD・RBAC・Deployment

設定・TLS の自動化

インストール直後に最も事故が起きやすい設定領域をツールで標準化しました。

初期設定 — アクセスアドレスをそのまま証明書 SAN に反映
--check — SAN 不一致・有効期限・プロバイダーのコメントアウトを診断
レシピ tls:generate · login:db · login:ldap · state:zookeeper
元のコメント・順序を保持し、保存前に diff を表示
非対話モードでは証明書コマンドを実行せず出力のみ

エディション

オープンソース配布版のすべてを Community として自由に、運用 SLA と専任テクニカルサポートが必要なら Enterprise で。二つのエディションで提供します。

Community

Apache License 2.0 · 無料

拡張バンドル・配布パッケージ・オペレーター・運用ツールのすべてを制約なく利用し、自前で運用します。

おすすめ

Enterprise

エンタープライズ向けサポート

Community のすべてに、SLA ベースの専任テクニカルサポートと構築・移行・カスタム拡張開発を追加します。

機能比較
Community
Enterprise
コア機能
NiFi 拡張 12 バンドル・18 NAR
CDCレイクハウスHive / ORCParquetDatabaseレポーティングFlow Analysis
配布パッケージ(tar.gz・RPM・コンテナイメージ)
Kubernetes オペレーター・Helm チャート
設定 TUI・診断・TLS 証明書ツール
DB ベースの認証・認可プロバイダー
テクニカルサポート & サービス(Enterprise)
SLA ベースの専任テクニカルサポート
ホットフィックス・セキュリティパッチの優先提供
導入・構築・NiFi 1.x → 2.x 移行支援
教育・オンボーディング・パイプライン設計コンサルティング
カスタムプロセッサー開発・ロードマップ優先反映
閉域網への配備・ベンダー JDBC ドライバー連携支援
Cloudera Hive JDBCMariaDB Connector/J
サポートチャネル
サポートチャネル
GitHub Issues
専任サポート窓口
Apache License 2.0 · オープンソース

オープンソースとして公開する NiFi 運用配布版

Argus Flow は Apache License 2.0 で GitHub に公開されています。拡張バンドルのソースから配布パッケージング、Kubernetes オペレーター、運用ツールまですべてを公開し、企業がコードを自ら検証し、自社環境に合わせて拡張し、閉域網でも自前で運用できるようにしています。

  • 商用利用に制約のない Apache 2.0
  • アップストリーム帰属とライセンスヘッダーをビルドで検証
  • オンプレミス・閉域網での自主運用