호랑이한테물릴래

Final_project Day 2 본문

DevOps/sprint_project

Final_project Day 2

호랑이한테물릴래 2022. 7. 26. 18:17
반응형

1) 기술스택

- kinesis : 실시간 데이터를 스트림으로 받아주는 서비스, iot에서 온도, 습도, co2 데이터를 수집하여 필요한 서비스에 전달할 계획이다.

- glue : kinesis에서 데이터를 전달받아 데이터를 정제, 가공한다.

- s3 : glue에서 정제된 데이터를 받아 저장한다.

- athena, quicksight : s3의 데이터에서 쿼리를 이용하여 분석하고 간단한 시각화 작업을 진행한다. 

+ 추가적으로 데이터의 이상값이 발견될 경우, 경보하는 기능 구성을 위해서 s3의 이벤트 트리거로 lambda를 구성할 계획이다. 모든 데이터 값들을 확인하여 이상 데이터를 lambda에서 확인한다고 보면된다.

quicksight에서 간단한 시각화는 가능하지만, 일반인이 쉽게 접근하고 이해할 수 있도록 구성하기는 어렵다. 그렇기 때문에 다른 툴을 찾아봐야할듯.

iot에서 전달받은 온도, 습도, 이산화탄소 수치에서 이상값을 설정하고, 수치에서 벗어난 값이 발견될 경우, webhook으로 discord에 메시지를 전달해야한다. 이는 python 코드 상으로 적절한 변수를 설정해서 전달해야할 것같다.

2) Kinesis Data Stream 데이터 확인

python의 boto3 모듈을 활용해서 직접 record를 Kinesis Data Stream에 푸쉬하는 코딩을 했다. 아래 레퍼런스에서 코드를 참고했다.

10초 간격으로 푸쉬되는데, 날짜 데이터가 한번에 하나의 레코드에서만 발견되기 때문에 자세한 코드를 확인해야할 것같다.

https://github.com/ChunGeun-Yu/kinesis_example_python3/blob/master/kinesis_producer.py

 

GitHub - ChunGeun-Yu/kinesis_example_python3: aws kinesis producer / consumer example for python3

aws kinesis producer / consumer example for python3 - GitHub - ChunGeun-Yu/kinesis_example_python3: aws kinesis producer / consumer example for python3

github.com

해야할 것은 푸쉬하는 레코드에 iot 데이터를 넣기, 그리고 랜덤변수를 활용하여 경보가 발생할 수 있는 케이스도 생성하는 것.

반응형

'DevOps > sprint_project' 카테고리의 다른 글

Final_project Day 5  (0) 2022.07.29
Final_project Day 4  (0) 2022.07.28
Final_project Day 3  (0) 2022.07.27
재고관리 시스템 Serverless 구현  (0) 2022.07.09
Terraform Full Stack 어플리케이션 구성 예시  (0) 2022.06.28
0 Comments
댓글쓰기 폼