メインコンテンツまでスキップ

plantpulse-timeseries (時系列)

役割​

時系列データ専用エンジン(TSE)と PlantPulse Dashboardです。タグ値を Aster TSDB に行単位 TTL で保存し、集計・照会 API を提供します。

項目値
モジュール名plantpulse-timeseries
インストールパス/opt/kopens/plantpulse-platform/plantpulse-timeseries/
エンジンポート7800 (HTTP) · 7801 (TLS)
UI ポート3000 (PlantPulse Dashboard、TLS 専用)
pd サービスtimeseries — MASTER のみ (2026-09-05 以降)。engine(tse) → dashboard(grafana)
アカウントPP_TSE_USER / PP_TSE_PASSWORD
ワーカーでは起動しません (2026-09-05)

ワーカーのエンジンは誰も読み取らず、マスターが既に書き込んだ行を同じリングに再コピーするだけでした(実測 4.4G)。すべての照会コンシューマーがマスターのエンジンを指しているため、MASTER 専用に変更されました。

構成​

ディレクトリ構造​

plantpulse-timeseries/
├── engine/ # 시계열 엔진 (Java)
│ ├── bin/
│ ├── conf/plantpulse-timeseries-engine.conf # 생성물 (옛 이름 timeseries-engine.conf 로도 한 벌)
│ └── logs/
└── dashboard/ # PlantPulse Dashboard
├── bin/
├── conf/custom.ini # protocol = https · http_port = 3000
├── data/ # PlantPulse Dashboard DB — 이미지 트리 안 (볼륨 아님)
└── logs/

時系列エンジン (7800 · 7801)​

設定テンプレートは /etc/kopens/conf/plantpulse-timeseries-engine.conf.template の一つで、二つの名前のファイルとしてレンダリングされます。重要な項目:

項目値
jetty.port · jetty.ssl.portPP_TSE_PORT(7800) · PP_TSE_TLS_PORT(7801)。TLS はプラットフォーム共通 keystore
service.datastoreAster TSDB モジュール — テーブル pp.ts_data_points など、UnifiedCompactionStrategy
データポイント TTLPP_TSE_DATAPOINT_TTL — デフォルト 31536000 秒(365日)。書き込みごとに記録されるため、新しい値は新しい行から
認証PP_TSE_USER / PP_TSE_PASSWORD — passwd.sh 対象ではなく、サイドカー更新 + 再起動
curl -fsS http://127.0.0.1:7800/api/health # 컨테이너 안
curl -kfsS https://<server-ip>:7801/api/health # 밖에서 — 401 은 «로그인 필요» 이지 «없음» 이 아닙니다

管理コンソールのツール画面 «Timeseries Engine» カード(7801)は、エンジン自体の管理画面です。時系列データを確認する場所は PlantPulse Dashboard です。

PlantPulse Dashboard (3000)​

https://<server-ip>:3000/ — TLS のみで応答します。http:// で開くと 400。

ログインアカウントは PlantPulse Dashboard 独自のリポジトリにあります。変更する場所は PlantPulse Dashboard 画面(プロフィール → Change password)です → ウェブ画面ログインアカウント — PlantPulse Dashboard

リポジトリが PostgreSQL に移行されました (2026-09-08)

ダッシュボード・データソース・ユーザー・アラームルール・API キーが PostgreSQL の grafana DB に 保存されます。以前はイメージツリー内の SQLite(dashboard/data/grafana.db)だったため、コンテナーを 再作成するとすべて巻き戻っていましたが、今は保持されます。

変数値
PP_GRAFANA_DB_USERgrafana (固定 — スキーマがこの名前でロールを作成します)
PP_GRAFANA_DB_PASSWORD🔑 起動必須 — ない場合 pd start が exit 3 で停止します

ロールのパスワードはブートごとにサイドカー値で調整されます。

設置済みのインストールは「移行手順」を経る必要があります

🔴 PlantPulse Dashboard はリポジトリ間を自動で移動しません。 空の PostgreSQL を指すと、そのまま 空の PlantPulse Dashboard になります — ダッシュボードも、データソースも、ユーザーもありません。以前の SQLite に あったものを移行する手順が別途あります。

移行後、コンソールは PlantPulse Dashboard デフォルトアカウントで開きます。ブートごとに調整する仕組みがないため、 人が一度変更する必要があります。 設定ファイルに管理者アカウントを記述しても無駄です — リポジトリに ユーザーが 1 人でも作成された後はリポジトリが優先され、その事実を知らせるエラーもありません。

運用コマンド​

docker exec plantpulse-datalake pd status timeseries
docker exec plantpulse-datalake pd restart timeseries # 엔진 + PlantPulse Dashboard
docker exec plantpulse-datalake pd logs --lines 100 timeseries
docker exec plantpulse-datalake pd retention # ts_data_points 의 크기 · 압축 전략

頻繁に発生する問題​

症状原因対処
Kafka ラグ増加エンジン処理不足 · Aster TSDB I/Opd flow, pd node compactionstats
データが数日で消えるTTLPP_TSE_DATAPOINT_TTL — 旧イメージは 31 日のリテラルでした。既に書き込まれた行は旧値のまま失効します
PlantPulse Dashboard が空(ダッシュボード・データソースなし)リポジトリを PostgreSQL に移行した際に内容を移さなかった上記の警告 — 移行手順を経ます
pd start が exit 3PP_GRAFANA_DB_PASSWORD が空サイドカーに値を設定して再起動
http://…:3000 が 400TLS 専用https://
ダッシュボードの応答が遅い時間範囲が過大範囲を短縮、集計間隔を拡大

関連ドキュメント​