본문 바로가기
CSP (Cloud Service Provider)/AWS

[AWS] 실시간 데이터 파이프라인 구축(5)

by BTC_티모 2023. 11. 13.

탑신병자 듀오 팀 티모입니다.

지난 시간에 이어 Kinesis Data Generator로 데이터를 생성, 
Kinesis Data Firehose가 Amazon Opensearch에 데이터를 저장하는 것부터 구현해보겠습니다.



Module 1에서 생성한 Kinesis Data Generator로 이동합니다.

데이터를 수신하는 대상으로 'iot-data-stream-2'를 지정, 초당 레코드 수는 10개로 지정합니다.

데이터 형식은 아래와 같이 지정 후 send data를 클릭 데이터를 전송합니다.

{
    "uuid": "{{random.uuid}}",
    "device_ts": "{{date.utc("YYYY-MM-DD HH:mm:ss.SSS")}}",
    "device_id": {{random.number(50)}},
    "device_temp": {{random.weightedArrayElement(
    {"weights":[0.30, 0.30, 0.20, 0.20],"data":[32, 34, 28, 40]}
    )}},
    "track_id": {{random.number(30)}},  
    "activity_type": {{random.weightedArrayElement(
        {
            "weights": [0.3, 0.2, 0.3, 0.1, 0.1],
            "data": ["\"Running\"", "\"Working\"", "\"Walking\"", "\"Traveling\"", "\"Sitting\""]
        }
    )}}
}

Kinesis Data Streams >  'iot-data-stream-2'로 이동합니다.

데이터 뷰어를 클릭하여 데이터가 정상적으로 수신되는지 확인합니다.

 

Kinesis Data Firehose > kinesis-opensearch에서 모니터링 탭이 업데이트 될 때까지 잠시 기다립니다.

  1. Kinesis Data Streams에서 읽은 레코드
  2. Lambda 함수 처리 성공
  3. OpenSearch 서비스로 전송 성공

내역의 그래프를 확인해 Kinesis Data Streams로부터 데이터를 성공적으로 가져오고,
Lambda로 전처리 후 Opensearch에 전송하는 내역을 확인합니다. 모니터링이 업데이트되기까지 약 5분 정도 소요됩니다.

데이터 저장 확인 후 Amazon Opensearch > Discover 메뉴로 이동, Create Index pattern를 클릭해 생성합니다.

  • Index Pattern name : iot-stream*
  • Timestamp field : timestamp

다시 Opensearch > Discover로 이동하여 데이터가 안정적으로 저장되고 있는지 확인합니다.

 


마지막으로 Amazon Opensearch에 저장된 데이터를 활용해서 대시보드를 구현해보겠습니다.

데이터에 여러 필터 및 계산을 적용하여 사용자가 원하는 화면으로 대시보드를 구현할 수 있습니다.

Opensearch > Dashboard > create new dashboard를 클릭합니다.

 

create new > 대시보드 생성화면에서 시각화 메뉴 중 게이지로 진행해보겠습니다.

Data Source를 iot-stream*을 클릭합니다.

데이터를 필터링 한 후에 Metric Option을 아래와 같이 변경합니다.

  • add filter > device_id /  is 1

데이터를 필터링 한 후에 Metric Option을 아래와 같이 변경합니다.

화씨 온도의 평균값을 구하는 Metric으로 변경하는 과정입니다.

  • Aggregation : Average
  • Field : temp_fahrenhit
  • Custom label : temp_F

데이터의 옵션은 아래와 같이 Range를 조정합니다.

각 Range에 따라서 게이지의 색상이 변경되는 옵션입니다.

옵션 설정까지 자율적으로 진행해보 Update를 누른 후 Save > 대시보드의 이름을 'F Degree'로 지정하여 저장합니다.

메인 대시보드에서 시간 설정을 변경해볼 수 있습니다.


지금까지 AWS 데이터 파이프라인 구축 후, 대시보드를 통해 실시간 모니터링까지 구현해봤습니다.

다음 시간에는 Kinesis Data Analytics를 활용하여 실시간으로 수집되는 데이터들을 분석하고,

특정 패턴이 탐지 되었을때 이를 E-mail로 전달하는 아키텍처를 구현해보도록 하겠습니다.

감사합니다.

'CSP (Cloud Service Provider) > AWS' 카테고리의 다른 글

[AWS] 특정 AWS 계정과 AMI 공유  (1) 2023.11.20
[AWS] 탄력적 IP(Elastic IP) 란?  (1) 2023.11.20
[AWS] Resource Access Manager  (0) 2023.11.10
AWS OpenSearch  (0) 2023.11.10
[AWS] CloudFormation Stackset  (0) 2023.11.09

댓글