탑신병자 듀오 팀 티모입니다.
지난 시간에 이어 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에서 모니터링 탭이 업데이트 될 때까지 잠시 기다립니다.
- Kinesis Data Streams에서 읽은 레코드
- Lambda 함수 처리 성공
- 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 |
댓글