본문으로 건너뛰기

수집기설정 목록

개요​

이 화면은 무엇인가요?

데이터소스에 연결하여 센서 데이터를 실제로 수집하는 **수집기(Collector)**를 생성하고 설정하는 화면입니다. 수집 모드(polling/subscription/event), 수집 간격, 배치 크기 등을 설정하여 데이터 수집 성능을 최적화합니다.

누가 사용하나요?​

  • IoT 엔지니어: 수집기 생성, 수집 파라미터 튜닝, 장애 대응

언제 사용하나요?​

  • 데이터소스·태그를 등록한 후 실제 수집을 시작할 때
  • 수집 성능을 튜닝하거나 배치/버퍼 크기를 조정할 때
  • 수집기 상태(running/error)를 점검하고 장애를 대응할 때

주요 기능​

  • 수집기 생성: 데이터소스별 수집기 등록 및 수집 모드 설정
  • 성능 튜닝: 수집 간격, 배치 크기, 버퍼 크기, 플러시 간격 조정
  • 상태 모니터링: 수집기 상태(running/stopped/error), 에러 횟수, 최종 에러 메시지 확인
  • 전처리 설정: 수집 시 필터, 집계, 변환 등 전처리 파이프라인 구성
  • CSV 가져오기/내보내기: 수집기 설정 일괄 관리

업무 흐름에서의 위치​


입력 항목 가이드​

기본정보​

항목설명필수입력 예시
수집기코드수집기를 식별하는 고유 코드✅COL-OPC-LINE1
수집기명수집기의 이름✅1라인 OPC-UA 수집기
데이터소스연결할 데이터소스✅데이터소스 목록에서 선택
수집모드데이터 수집 방식✅polling(주기적) / subscription(구독) / event(이벤트)
수집간격(ms)polling 모드의 수집 주기1000 (1초)
사용여부수집기 활성화 상태기본값: 활성

수집설정​

항목설명필수입력 예시
버퍼크기메모리 버퍼에 보관할 최대 데이터 수1000
배치크기DB에 한 번에 저장할 데이터 수100
플러시간격(ms)배치 완료 전에도 강제 저장하는 간격5000 (5초)

상태 (자동 표시)​

항목설명
수집기상태running(수집중) / stopped(중지) / error(오류) / initializing(초기화중)
최종실행시각마지막 수집이 실행된 시각
에러횟수누적 에러 발생 횟수
최종에러마지막 에러 메시지

자주 묻는 질문 (FAQ)​

수집 간격을 너무 짧게 설정하면 문제가 되나요?

수집 간격이 짧을수록(예: 10ms) 데이터 양이 급증하여 다음 문제가 발생할 수 있습니다:

  • DB 저장 부하 증가: 배치크기와 플러시간격을 함께 조정하세요
  • 네트워크 부하: 특히 원격 데이터소스는 네트워크 지연을 고려하세요
  • 디스크 용량: 시스템 관리 메뉴의 데이터 보존 정책과 함께 관리하세요

일반적으로 온도/압력: 1초, 진동: 100ms, 에너지: 10초를 권장합니다.

배치크기와 플러시간격의 관계는?
  • 배치크기: 수집된 데이터가 이 수만큼 쌓이면 DB에 저장합니다
  • 플러시간격: 배치크기에 도달하지 않아도 이 시간이 지나면 강제 저장합니다
  • 두 조건 중 먼저 도달하는 조건이 트리거됩니다

예: 배치크기 100, 플러시간격 5000ms → 100개가 먼저 차면 즉시 저장, 아니면 5초마다 저장


실무 시나리오​

고속 진동 데이터 수집기 설정​

상황: 로봇 모터의 진동 데이터를 100ms 간격으로 수집하되, DB 부하를 최소화해야 합니다.

처리 순서:

  1. 수집기코드 COL-VIB-ROBOT01로 신규 수집기를 생성합니다
  2. 수집모드 subscription, 수집간격 100ms로 설정합니다
  3. 배치크기 500, 버퍼크기 5000, 플러시간격 3000ms로 설정합니다
  4. 전처리설정에 이동평균 필터를 추가하여 노이즈를 줄입니다
  5. 태그필터에 진동 태그만 포함되도록 설정합니다
  6. 수집을 시작하고 에러횟수가 증가하지 않는지 모니터링합니다

참고: 데이터 구조

수집기설정 테이블 (collector_configs)​

컬럼명한글명타입설명
collector_code수집기코드VARCHAR *필수 *고유-
collector_name수집기명VARCHAR *필수-
source_id데이터소스IDUUID (FK) *필수data_sources 참조
collection_mode수집모드ENUM(polling, subscription, event) *필수-
interval_ms수집간격(ms)INT-
buffer_size버퍼크기INT-
is_active사용여부BOOLEAN-
collector_status수집기상태ENUM(running, stopped, error, initializing)-
last_run_at최종실행시각TIMESTAMP-
error_count에러횟수INT-
last_error_message최종에러TEXT-
retry_policy재시도정책JSONB{ maxRetries, backoffMs, backoffMultiplier }
batch_size배치크기INT-
flush_interval_ms플러시간격(ms)INT-
preprocessing전처리설정JSONB{ filter, aggregate, transform }
tag_filter태그필터JSONB수집 대상 태그 필터 조건