๐ŸŽผ Project/๐ŸงŠ Monitoring System

[Monitoring System] 1. ์‹œ์Šคํ…œ ๊ตฌ์„ฑ ๋ฐ ๋ชฉํ‘œ

darly213 2023. 4. 6. 15:46
728x90

์•ž์œผ๋กœ ๋”ฅ๋Ÿฌ๋‹์„ ํ™œ์šฉํ•œ ๊ณผ์ œ๋ฅผ ์ˆ˜ํ–‰ํ•  ๋•Œ, ์ง์ ‘ ๋ฐ์ดํ„ฐ๋ฅผ ์„ผ์„œ๋‚˜ ์นด๋ฉ”๋ผ ๋“ฑ์„ ํ™œ์šฉํ•ด์„œ ์ˆ˜์ง‘ํ•˜๊ณ  ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ๊ธฐ๋Šฅ๊นŒ์ง€ ๊ตฌํ˜„ํ•  ์ผ์ด ๊ฝค ์žˆ์œผ๋ฆฌ๋ผ๋Š” ์ด์•ผ๊ธฐ์™€ ํ•จ๊ป˜ ๊ฐ„๋‹จํ•œ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ์„ ๋กœ์ปฌ์—์„œ ๊ตฌ์ถ•ํ•ด๋ณด๋Š” ์ˆ™์ œ(?)๋ฅผ ๋ฐ›์•˜๋‹ค.

์ด์ „์— ํ•œ ๋ฒˆ๋„ ๋ฐฑ์—”๋“œ๋ฅผ ํ•ด๋ณธ ์ ์ด ์—†์–ด์„œ ์กฐ๊ธˆ ๋ง‰๋ง‰ํ–ˆ์ง€๋งŒ, ์—ญ์‹œ ํŒŒ์ด์ฌ... FastAPI๋ฅผ ํ™œ์šฉํ•ด์„œ 5์ผ ์ •๋„๋งŒ์— ์•„์ฃผ ๊ธฐ๋ณธ์ ์ธ ํ‹€์„ ์งœ๋Š”๋ฐ ์„ฑ๊ณตํ–ˆ๋‹ค. ์ด ์ฑ•ํ„ฐ์—์„œ ์ง€์†์ ์ธ ์‹œ์Šคํ…œ ์—…๋ฐ์ดํŠธ์™€ ๊ฐœ๋ฐœ ๊ณผ์ •์„ ๊ธฐ๋กํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ๊ณต๊ฐœํ•  ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ๋Š” ์•„๋ž˜ ๊นƒํ—™ repository์— ์˜ฌ๋ ค๋‘์—ˆ๋‹ค.

https://github.com/melli0505/monitoring_system

[GitHub - melli0505/monitoring_system: FastAPI/PostgreSQL/MQTT ๊ธฐ๋ฐ˜ ์„ผ์„œ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ

FastAPI/PostgreSQL/MQTT ๊ธฐ๋ฐ˜ ์„ผ์„œ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ. Contribute to melli0505/monitoring_system development by creating an account on GitHub.

github.com](https://github.com/melli0505/monitoring_system)

์‚ฌ์šฉํ•œ(ํ• ) ๊ธฐ์ˆ  ์Šคํƒ

  • Frontend : jQuery, Bootstrap
  • Backend : FastAPI
  • Database : PostgreSQL
  • ์„ผ์„œ ํ†ต์‹  : MQTT(Message Queuing Telemetry Transport)

ํ”„๋ก ํŠธ์—”๋“œ๋Š” ๋งŽ์€ ๊ธฐ๋Šฅ์„ ํ•„์š”๋กœ ํ•˜์ง€๋„ ์•Š๊ณ  ์—„์ฒญ ์•„๋ฆ„๋‹ค์›Œ์•ผํ•  ํ•„์š”๋„ ์—†์œผ๋ฏ€๋กœ ๋ณ„๋„์˜ ํ”„๋ ˆ์ž„์›Œํฌ ์—†์ด JavaScript์˜ ํ™•์žฅ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฐœ๋…์ธ jQuery๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , Bootstrap ๋ฌด๋ฃŒ ํ…œํ”Œ๋ฆฟ์„ ์ ๊ทน ํ™œ์šฉํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค.

๋ฐฑ์—”๋“œ๋Š” ์–ด์ฐจํ”ผ ๋”ฅ๋Ÿฌ๋‹๋„ ํŒŒ์ด์ฌ์œผ๋กœ ํ•˜๊ณ  ์žˆ๊ฒ ๋‹ค, ๋น„๊ต์  ์ตœ์‹  ๊ธฐ์ˆ ์ธ FastAPI๋ฅผ ํ™œ์šฉํ•˜์ž๋Š” ๋ง์”€์— ๋”ฐ๋ผ์„œ ์„ ํƒํ–ˆ๋‹ค. ์†๋„๊ฐ€ ๋น ๋ฅด๊ณ  ๊ฐœ๋ฐœ์ด ์‰ฝ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.  (๋ญ๋“  ์‹œ์ž‘๋ถ€ํ„ฐ ์–ด๋ ต๊ฒ ๋ƒ๋งˆ๋Š”) ๋ฐฑ์—”๋“œ ์ž์ฒด๋ฅผ ์ฒ˜์Œ ํ•ด๋ณธ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” FastAPI์˜ sqlalchemy๋ฅผ ํ™œ์šฉํ•  ๊ฒƒ์ด๋ผ RDBMS๋ฉด ์ƒ๊ด€์—†์„ ๊ฒƒ ๊ฐ™์•„์„œ PostgreSQL์„ ๊ณจ๋ž๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ฒ˜์Œ ์จ๋ณธ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ๋งˆ์ง€๋ง‰ ๊ฒฝํ—˜์€ ์ œ์ž‘๋…„ ํ•™๋ถ€์ƒ ๊ณผ์ œ(...)๊ฐ€ ์ „๋ถ€์˜€๋‹ค.

์„ผ์„œ ํ†ต์‹ ์€ ํ˜„์žฌ ๋žœ๋ค ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•ด์„œ IP ๊ธฐ๋ฐ˜์œผ๋กœ ํ†ต์‹ ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ–ˆ๋Š”๋ฐ, ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ๊ฐ€ ์•„๋‹ˆ๋‹ค ๋ณด๋‹ˆ MQTT๋กœ ํ†ต์‹ ์„ ํ•ด๋ณด๊ธฐ๋ฅผ ์ถ”์ฒœํ•ด์ฃผ์…จ๋‹ค. ๊ทธ๋ฆฌํ•˜์—ฌ ์‹œ์Šคํ…œ ๊ตฌ์„ฑ์€ ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™๋‹ค.

์ง์ ‘ ๊ทธ๋ฆฐ ๊ด€๊ณ„๋กœ ๊ทธ๋ฆฌ ๊นจ๋—ํ•˜์ง€ ๋ชปํ•˜๋‹ค

์ฝ์–ด์˜จ ๋ฐ์ดํ„ฐ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ DB์— ๋„ฃ๊ณ , ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ฝ์–ด์„œ ์„œ๋ฒ„์—์„œ ๊ทธ๋ž˜ํ”„๋ฅผ ๋„์›Œ์ฃผ๋Š” ์‹œ์Šคํ…œ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ด๋‹ค. ์ด ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์—ฌ๋Ÿฌ ์ด์Šˆ๋“ค๊ณผ ๊ตฌํ˜„ ๊ณผ์ •, ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ํ•จ๊ป˜ ํฌ์ŠคํŒ…ํ•ด๋ณด๊ฒ ๋‹ค. ํ™”์ดํŒ…~ 

728x90