본문으로 건너뛰기

plantpulse-timeseries (시계열)

역할

시계열 데이터 전용 엔진(TSE)과 Grafana 대시보드입니다. 태그 값을 Cassandra 에 행 단위 TTL 로 저장하고, 집계 · 조회 API 를 제공합니다.

항목
모듈명plantpulse-timeseries
설치 경로/opt/kopens/plantpulse-platform/plantpulse-timeseries/
엔진 포트7800 (HTTP) · 7801 (TLS)
UI 포트3000 (Grafana, TLS 전용)
pd 서비스timeseriesMASTER 만 (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/ # Grafana
├── bin/
├── conf/custom.ini # protocol = https · http_port = 3000
├── data/ # Grafana 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.datastoreCassandra 모듈 — 테이블 pp.ts_data_points 등, UnifiedCompactionStrategy
데이터 포인트 TTLPP_TSE_DATAPOINT_TTL — 기본 31536000초(365일). 쓰기마다 찍히므로 새 값은 새 행부터
인증PP_TSE_USER / PP_TSE_PASSWORDpasswd.sh 대상이 아니라 사이드카 갱신 + 재시작
curl -fsS http://127.0.0.1:7800/api/health # 컨테이너 안
curl -kfsS https://<서버IP>:7801/api/health # 밖에서 — 401 은 «로그인 필요» 이지 «없음» 이 아닙니다

관리 콘솔의 도구 화면 «Timeseries Engine» 카드(7801)는 엔진 자체의 관리 화면입니다. 시계열 데이터를 보는 곳은 Grafana 입니다.

Grafana (3000)

https://<서버IP>:3000/ — TLS 로만 답합니다. http:// 로 열면 400.

로그인 계정은 Grafana 자신의 DB 에 있고, 데이터레이크는 PP_GRAFANA_* 같은 변수를 읽지 않습니다. 바꾸는 자리는 Grafana 화면(프로필 → Change password)입니다 → 웹 화면 로그인 계정 — Grafana

Grafana 의 데이터는 컨테이너 재생성에 살아남지 못합니다

dashboard/data 가 이미지 트리 안에 있어 볼륨이 아닙니다. 화면에서 바꾼 비밀번호 · 만든 대시보드는 컨테이너를 다시 만들면 이미지가 실은 상태로 돌아갑니다. 제품 결함으로 보고돼 있습니다. 대시보드는 JSON 으로 내보내 따로 보관하세요.

운영 명령

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

자주 발생하는 문제

증상원인조치
Kafka lag 증가엔진 처리 부족 · Cassandra I/Opd flow, pd node compactionstats
데이터가 며칠 만에 사라짐TTLPP_TSE_DATAPOINT_TTL — 옛 이미지는 31일 리터럴이었습니다. 이미 쓰인 행은 옛 값대로 만료됩니다
Grafana 로그인 실패컨테이너 재생성으로 계정이 되돌아감위 경고. 기본값으로 다시 로그인
http://…:3000 이 400TLS 전용https://
대시보드 응답 느림시간 범위 과다범위 단축, 집계 간격 확대

관련 문서