XNUMX๋
์ ์ฐ๋ฆฌ๋ ํ๋ณด ํ๋ก์ ํธ์ ํ์ผ๋ฟ ๋ฒ์ ์ ์์ํ์ต๋๋ค.
์ฒ์์ ์ด ํ๋ก์ ํธ๋ Road-To-Barcelona๋ผ๊ณ ๋ถ๋ ธ๊ณ ๋์ค์๋ Road-To-Berlin(๋ฐ๋ผ์ ์คํฌ๋ฆฐ์ท์์๋ R2B)์ด ๋์์ผ๋ฉฐ ๊ฒฐ๊ตญ์๋ xRide๋ผ๊ณ ๋ถ๋ ธ์ต๋๋ค.
ํ๋ก์ ํธ์ ์ฃผ์ ์์ด๋์ด๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์ค์ ์ง์ค์ ์๋์ฐจ ๋๋ ์ค์ฟ ํฐ ๋ ํ ์๋น์ค(ํฅ์ค์ฟ ํฐ/์ค์ฟ ํฐ๊ฐ ์๋ ์ค์ฟ ํฐ, ์ผ๋ช
์ ๊ธฐ ์คํ ๋ฐ์ด์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์์)๋ฅผ ๊ฐ๋ ๋์ ๋ถ์ฐํ ๋ ํ์ ์ํ ํ๋ซํผ์ ๋ง๋ค๊ณ ์ถ์์ต๋๋ค. ์ฐ๋ฆฌ๊ฐ ๊ฒช์ ์ด๋ ค์์ ๋ํด
์ฒ์์ ์ด ํ๋ก์ ํธ๋ ์๋์ฐจ์ ์ค์ ์ ๋์์ง๋ง ๋ง๊ฐ์ผ, ์ ์กฐ์ ์ฒด์์ ๋งค์ฐ ๊ธด ์ปค๋ฎค๋์ผ์ด์ ๋ฐ ์๋ง์ ์์ ์ ํ์ผ๋ก ์ธํด ์ ๊ธฐ ์ค์ฟ ํฐ๊ฐ ํ์ผ๋ฟ์ผ๋ก ์ ํ๋์์ต๋๋ค.
์ฌ์ฉ์๋ ํด๋ํฐ์ iOS ๋๋ Android ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค์นํ๊ณ ์ข์ํ๋ ์ค์ฟ ํฐ์ ์ ๊ทผํ ํ ํด๋ํฐ๊ณผ ์ค์ฟ ํฐ๊ฐ PXNUMXP ์ฐ๊ฒฐ์ ์ค์ ํ๊ณ ETH๊ฐ ๊ตํ๋๋ฉฐ ์ฌ์ฉ์๋ ๋ค์์ ํตํด ์ค์ฟ ํฐ๋ฅผ ์ผ์ ๋ผ์ด๋ฉ์ ์์ํ ์ ์์ต๋๋ค. ์ ํ๊ธฐ. ์ฌํ์ด ๋๋๋ฉด ํด๋ํฐ์ผ๋ก ์ฌ์ฉ์ ์ง๊ฐ์์ ์ด๋๋ฆฌ์์ ์ด์ฉํด ์ฌํ๋น๋ฅผ ๊ฒฐ์ ํ๋ ๊ฒ๋ ๊ฐ๋ฅํ๋ค.
์ค์ฟ ํฐ ์ธ์๋ ์ฌ์ฉ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ ํ์ฌ ๋ฐฐํฐ๋ฆฌ๊ฐ ๋ถ์กฑํ ๊ฒฝ์ฐ ์ฌ์ฉ์๊ฐ ์ง์ ๊ต์ฒดํ ์ ์๋ '์ค๋งํธ ์ถฉ์ ๊ธฐ'๋ฅผ ๋ณด์์ต๋๋ค.
์ด๋ ์ผ๋ฐ์ ์ผ๋ก ์๋ XNUMX์ ๋ ์ผ ๋ณธ(Bonn)๊ณผ ๋ฒ ๋ฅผ๋ฆฐ(Berlin) ๋ ๋์์์ ์์๋ ์ฐ๋ฆฌ์ ํ์ผ๋ฟ์ ๋ชจ์ต์ ๋๋ค.
๊ทธ๋ฌ๋ ์ด๋ ๋ , ์ด๋ฅธ ์์นจ ๋ณธ์์ ์ฐ๋ฆฌ ์ง์ํ(์ค์ฟ ํฐ ์๋ ์ํ๋ฅผ ์ ์งํ๊ธฐ ์ํด ํ์ฅ์ ์์)์๊ฒ ๊ฒฝ๊ณ ๊ฐ ์์ต๋๋ค. ์ค์ฟ ํฐ ์ค ํ๋๊ฐ ํ์ ๋ ์์ด ์ฌ๋ผ์ก์ต๋๋ค.
๊ทธ๊ฒ์ ์ฐพ์์ ๋ฐํํ๋ ๋ฐฉ๋ฒ์ ๋ฌด์์ ๋๊น?
์ด ๊ธฐ์ฌ์์๋ ์ด์ ๋ํด ์ด์ผ๊ธฐํ๊ฒ ์ง๋ง ๋จผ์ ์ฐ๋ฆฌ๊ฐ ์์ฒด IoT ํ๋ซํผ์ ๊ตฌ์ถํ ๋ฐฉ๋ฒ๊ณผ ์ด๋ฅผ ๋ชจ๋ํฐ๋งํ ๋ฐฉ๋ฒ์ ๋ํด ์ค๋ช ํ๊ฒ ์ต๋๋ค.
๋ชจ๋ํฐ๋ง ๋์๊ณผ ์ด์ : ์ค์ฟ ํฐ, ์ธํ๋ผ, ์ถฉ์ ?
๊ทธ๋ ๋ค๋ฉด ์ฐ๋ฆฌ ํ๋ก์ ํธ์์ ๋ฌด์์ ๋ชจ๋ํฐ๋งํ๊ณ ์ถ์๋์?
์ฐ์ , ์ด๊ฒ์ ์ค์ฟ ํฐ ์์ฒด์ ๋๋ค. ์ ๊ธฐ ์ค์ฟ ํฐ ์์ฒด๋ ์๋นํ ๋น์ธ๋ฏ๋ก ์ถฉ๋ถํ ์ค๋น ์์ด๋ ๊ทธ๋ฌํ ํ๋ก์ ํธ๋ฅผ ์์ํ ์ ์์ต๋๋ค. ๊ฐ๋ฅํ๋ค๋ฉด ์ค์ฟ ํฐ์ ๋ํด ๊ฐ๋ฅํ ํ ๋ง์ ์ ๋ณด(์์น, ์ถฉ์ ์์ค)๋ฅผ ์์งํ๊ณ ์ถ์ต๋๋ค. , ๋ฑ.
๋ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค, ์๋น์ค ๋ฐ ์๋์ ํ์ํ ๋ชจ๋ ๊ฒ ๋ฑ ์์ฒด IT ์ธํ๋ผ์ ์ํ๋ฅผ ๋ชจ๋ํฐ๋งํ๊ณ ์ถ์ต๋๋ค. ๋ํ, '์ค๋งํธ ์ถฉ์ ๊ธฐ'๊ฐ ๊ณ ์ฅ๋๊ฑฐ๋ ๋ฐฐํฐ๋ฆฌ๊ฐ ๋ถ์กฑํ ๊ฒฝ์ฐ๋ฅผ ๋๋นํด ์ํ๋ฅผ ๋ชจ๋ํฐ๋งํด์ผ ํ์ต๋๋ค.
์ค์ฟ ํฐ
์ฐ๋ฆฌ ์ค์ฟ ํฐ๋ ๋ฌด์์ด์๊ณ ์ฐ๋ฆฌ๋ ๊ทธ๊ฒ์ ๋ํด ๋ฌด์์ ์๊ณ ์ถ์์ต๋๊น?
๊ฐ์ฅ ๋จผ์ ์ด์ ๊ฐ์ฅ ์ค์ํ ๊ฒ์ GPS ์ขํ์ ๋๋ค. ๋๋ถ์ ์ฐ๋ฆฌ๋ GPS ์ขํ ๋๋ถ์ GPS ์ขํ๊ฐ ์ด๋์ ์๊ณ ์ด๋๋ก ์ด๋ํ๋์ง ์ดํดํ ์ ์์ต๋๋ค.
๋ค์์ ๋ฐฐํฐ๋ฆฌ ์ถฉ์ ์ ๋๋ค. ๋๋ถ์ ์ค์ฟ ํฐ ์ถฉ์ ์ด ๋๋ฌ์์ ํ์ธํ๊ณ ์ฃผ์๊ธฐ๋ฅผ ๋ณด๋ด๊ฑฐ๋ ์ ์ด๋ ์ฌ์ฉ์์๊ฒ ๊ฒฝ๊ณ ํ ์ ์์ต๋๋ค.
๋ฌผ๋ก ํ๋์จ์ด ๊ตฌ์ฑ ์์์ ๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์ง ํ์ธํ๋ ๊ฒ๋ ํ์ํฉ๋๋ค.
- ๋ธ๋ฃจํฌ์ค๋ ์๋ํ๋์?
- GPS ๋ชจ๋ ์์ฒด๊ฐ ์๋ํฉ๋๊น?
- ๋ํ GPS๊ฐ ์๋ชป๋ ์ขํ๋ฅผ ์ ์กํ์ฌ ์ ์ฒด๋ ์ ์๋ค๋ ๋ฌธ์ ๋ ์์๋๋ฐ, ์ด๋ ์ค์ฟ ํฐ์ ๋ํ ์ถ๊ฐ ํ์ธ์ ํตํด์๋ง ํ์ธํ ์ ์์์ต๋๋ค.
๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๊ฐ๋ฅํ ํ ๋นจ๋ฆฌ ์ง์ํ์ ์๋ฆฝ๋๋ค.
- ๋ํ GPS๊ฐ ์๋ชป๋ ์ขํ๋ฅผ ์ ์กํ์ฌ ์ ์ฒด๋ ์ ์๋ค๋ ๋ฌธ์ ๋ ์์๋๋ฐ, ์ด๋ ์ค์ฟ ํฐ์ ๋ํ ์ถ๊ฐ ํ์ธ์ ํตํด์๋ง ํ์ธํ ์ ์์์ต๋๋ค.
๋ง์ง๋ง์ผ๋ก OS ๋ฐ ํ๋ก์ธ์, ๋คํธ์ํฌ ๋ฐ ๋์คํฌ ๋ก๋๋ถํฐ ์์ํ์ฌ ์ฐ๋ฆฌ์๊ฒ ๋ณด๋ค ๊ตฌ์ฒด์ ์ธ ์์ฒด ๋ชจ๋ ๊ฒ์ฌ๋ก ๋๋๋ ์ํํธ์จ์ด ๊ฒ์ฌ(
ํ๋์จ์ด
์ฐ๋ฆฌ์ โ์ฒ โ ๋ถ๋ถ์ ๋ฌด์์ด์๋์?
๊ฐ๋ฅํ ๊ฐ์ฅ ์งง์ ์๊ฐ๊ณผ ์ ์ํ ํ๋กํ ํ์ดํ์ ํ์์ฑ์ ๊ณ ๋ คํ์ฌ ๊ตฌ์ฑ ์์ ๊ตฌํ ๋ฐ ์ ํ์ ์ํ ๊ฐ์ฅ ์ฌ์ด ์ต์
์ธ Raspberry Pi๋ฅผ ์ ํํ์ต๋๋ค.
Rpi ์์ฒด ์ธ์๋ ์ฐ๋ฆฌ๋ ๋ง์ถคํ ๋ณด๋(์ต์ข
์๋ฃจ์
์ ์กฐ๋ฆฝ ํ๋ก์ธ์ค ์๋๋ฅผ ๋์ด๊ธฐ ์ํด ์ค๊ตญ์์ ์ง์ ๊ฐ๋ฐํ๊ณ ์ฃผ๋ฌธํ ๋ณด๋)์ ๊ตฌ์ฑ ์์ ์ธํธ(์ค์ฟ ํฐ ์ผ๊ธฐ/๋๊ธฐ์ฉ), ๋ฐฐํฐ๋ฆฌ ์ถฉ์ ๋ฆฌ๋๊ธฐ, ๋ชจ๋, ์ํ
๋. ์ด ๋ชจ๋ ๊ฒ์ ํน๋ณํ "xRide ์์"์ ์ฝคํฉํธํ๊ฒ ํฌ์ฅ๋์ด ์์ต๋๋ค.
๋ํ ์ ์ฒด ์์๋ ์ค์ฟ ํฐ์ ๋ฉ์ธ ๋ฐฐํฐ๋ฆฌ์ ์ํด ์ ์์ด ๊ณต๊ธ๋๋ ์ถ๊ฐ ๋ณด์กฐ ๋ฐฐํฐ๋ฆฌ์ ์ํด ์ ์์ด ๊ณต๊ธ๋๋ค๋ ์ ์ ์ ์ํด์ผ ํฉ๋๋ค.
์ด๋ฅผ ํตํด ์๋ ํค๋ฅผ "๋๊ธฐ" ์์น๋ก ๋๋ฆฌ๋ฉด ๋ฉ์ธ ๋ฐฐํฐ๋ฆฌ๊ฐ ์ฆ์ ๊บผ์ง๊ธฐ ๋๋ฌธ์ ์ฌํ์ด ๋๋ ํ์๋ ๋ชจ๋ํฐ๋ง์ ์ฌ์ฉํ๊ณ ์ค์ฟ ํฐ๋ฅผ ์ผค ์ ์์ต๋๋ค.
๋์ปค? ์ผ๋ฐ ๋ฆฌ๋ ์ค? ๋ฐ ๋ฐฐํฌ
๋ชจ๋ํฐ๋ง์ผ๋ก ๋์๊ฐ์ Raspberry - ์ฐ๋ฆฌ๋ ๋ฌด์์ ๊ฐ์ง๊ณ ์์ต๋๊น?
๋ฌผ๋ฆฌ์ ์ฅ์น์ ๊ตฌ์ฑ ์์๋ฅผ ๋ฐฐํฌ, ์ ๋ฐ์ดํธ ๋ฐ ์ ๋ฌํ๋ ํ๋ก์ธ์ค์ ์๋๋ฅผ ๋์ด๊ธฐ ์ํด ๊ฐ์ฅ ๋จผ์ ์ฌ์ฉํ๊ณ ์ถ์๋ ๊ฒ ์ค ํ๋๋ Docker์์ต๋๋ค.
๋ถํํ๋ RPi์ Docker๋ ์๋ํ์ง๋ง ํนํ ์๋์ง ์๋น ์ธก๋ฉด์์ ๋ง์ ์ค๋ฒํค๋๊ฐ ์๋ค๋ ๊ฒ์ด ๊ธ๋ฐฉ ๋ถ๋ช ํด์ก์ต๋๋ค.
"๋ค์ดํฐ๋ธ" OS๋ฅผ ์ฌ์ฉํ ์ฐจ์ด๋ ๊ทธ๋ค์ง ๊ฐ๋ ฅํ์ง๋ ์์ง๋ง ๋๋ฌด ๋นจ๋ฆฌ ์ถฉ์ ์ด ์์ค๋ ๊ฐ๋ฅ์ฑ์ ๊ฒฝ๊ณํ๊ธฐ์๋ ์ถฉ๋ถํ์ต๋๋ค.
๋ ๋ฒ์งธ ์ด์ ๋ Go/C/C++๋ก ์์ฑ๋์ง ์์ ์์คํ ์ ์ ์ผํ ๊ตฌ์ฑ ์์์ธ Node.js(sic!)์ ํํธ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค ํ๋์์ต๋๋ค.
๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์ฑ์๋ "๊ธฐ๋ณธ" ์ธ์ด๋ก ์์ ๋ฒ์ ์ ์ ๊ณตํ ์๊ฐ์ด ์์์ต๋๋ค.
๋ ธ๋ ์์ฒด๊ฐ ์ ์ฑ๋ฅ ์ฅ์น๋ฅผ ์ํ ๊ฐ์ฅ ์ฐ์ํ ์๋ฃจ์ ์ด ์๋ ๋ฟ๋ง ์๋๋ผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์ฒด๋ ๋ฆฌ์์ค๋ฅผ ๋ง์ด ์๋ชจํ์ต๋๋ค.
์ฐ๋ฆฌ๋ ์ํ๋๋ผ๋ Docker๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ฐ๋ฆฌ์๊ฒ ๋๋ฌด ๋ง์ ์ค๋ฒํค๋๊ฐ ๋ ๊ฒ์ด๋ผ๋ ๊ฒ์ ๊นจ๋ฌ์์ต๋๋ค. ๊ธฐ๋ณธ OS๋ฅผ ์ ํธํ๊ณ ๊ทธ ์๋์์ ์ง์ ์์ ํ๋๋ก ์ ํ๋์์ต๋๋ค.
OS
๊ฒฐ๊ณผ์ ์ผ๋ก ์ฐ๋ฆฌ๋ ๋ค์ OS๋ก ๊ฐ์ฅ ๊ฐ๋จํ ์ต์ ์ ์ ํํ๊ณ Raspbian(Pi์ฉ Debian ๋น๋)์ ์ฌ์ฉํ์ต๋๋ค.
์ฐ๋ฆฌ๋ ๋ชจ๋ ์ํํธ์จ์ด๋ฅผ Go๋ก ์์ฑํ์ผ๋ฏ๋ก ์์คํ ์ ์ฃผ์ ํ๋์จ์ด ์์ด์ ํธ ๋ชจ๋๋ Go๋ก ์์ฑํ์ต๋๋ค.
GPS, Bluetooth ์์ , ์ถฉ์ ๊ธ์ก ์ฝ๊ธฐ, ์ค์ฟ ํฐ ์ผ๊ธฐ ๋ฑ์ ๋ด๋นํ๋ ์ฌ๋์ ๋ฐ๋ก ๊ทธ ์ฌ๋์ ๋๋ค.
๋ฐฐํฌ
์์ด์ ํธ/์ ํ๋ฆฌ์ผ์ด์ ์์ฒด์ ๋ํ ์ ๋ฐ์ดํธ์ OS/ํ์จ์ด ์์ฒด์ ๋ํ ์ ๋ฐ์ดํธ ๋ชจ๋(์์ด์ ํธ์ ์ ๋ฒ์ ์๋ ์ปค๋ ์ ๋ฐ์ดํธ๊ฐ ํ์ํ ์ ์์ผ๋ฏ๋ก) ์ฅ์น์ ์ ๋ฐ์ดํธ(OTA)๋ฅผ ์ ๊ณตํ๊ธฐ ์ํ ๋ฉ์ปค๋์ฆ์ ๊ตฌํํด์ผ ํ๋ค๋ ์๋ฌธ์ด ์ฆ์ ์ ๊ธฐ๋์์ต๋๋ค. ๋๋ ์์คํ ๊ตฌ์ฑ ์์, ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฑ).
์์ฅ์ ๋ํ ์ค๋ ๋ถ์ ๋์ ์ฅ์น์ ์ ๋ฐ์ดํธ๋ฅผ ์ ๊ณตํ๋ ์๋ฃจ์ ์ด ์๋นํ ๋ง๋ค๋ ๊ฒ์ด ๋ฐํ์ก์ต๋๋ค.
swupd/SWUpdate/OSTree์ ๊ฐ์ ๋น๊ต์ ๋จ์ํ๊ณ ์ฃผ๋ก ์ ๋ฐ์ดํธ/์ด์ค ๋ถํ ์งํฅ ์ ํธ๋ฆฌํฐ๋ถํฐ Mender ๋ฐ Balena์ ๊ฐ์ ๋ณธ๊ฒฉ์ ์ธ ํ๋ซํผ๊น์ง.
์ฐ์ ์ฐ๋ฆฌ๋ ์๋ํฌ์๋ ์๋ฃจ์ ์ ๊ด์ฌ์ด ์๋ค๊ณ ํ๋จํ์ฌ ์ฆ์ ํ๋ซํผ์ ์ ํํ๊ฒ ๋์์ต๋๋ค.
๊ทธ ์์ฒด
ํ์ง๋ง ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ์ฐ๋ฆฌ๋ ๊ฒฐ๊ตญ ๊ทธ๋ค์ ์ ํ์ ๊ณ์ ์ฌ์ฉํ๊ฒ ๋์๋ค๋ ์ ์ ์ฃผ๋ชฉํฉ๋๋ค.
๋ฐ๋ผ์ ๊ฒฐ๊ตญ ์ ํ์ ๋จ์ด์ก์ต๋๋ค
์ ๋ฐ์ ์ผ๋ก ํ๋ซํผ์ ํ๋ฅญํด ๋ณด์ด์ง๋ง ๋ฉ๋ ๋น๋๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ๋ฐ๋ฅธ ๋ฒ์ ์ ํ์จ์ด๋ฅผ ๋น๋ํ๋ ๋ฐ๋ง ์ฝ XNUMX์ฃผ์ผ ๋ฐ์ด ๊ฑธ๋ ธ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ๊ฐ ๊ทธ ์ฌ์ฉ๋ฒ์ ๋ณต์ก์ฑ์ ๋ ๋ง์ด ๋ชฐ๋ํ ์๋ก ๊ทธ๊ฒ์ ์์ ํ ๋ฐฐํฌํ๋ ค๋ฉด ์ฐ๋ฆฌ๊ฐ ๊ฐ์ง ๊ฒ๋ณด๋ค ํจ์ฌ ๋ ๋ง์ ์๊ฐ์ด ํ์ํ๋ค๋ ๊ฒ์ด ๋์ฑ ๋ถ๋ช
ํด์ก์ต๋๋ค.
์์ฝ๊ฒ๋ ๋ง๊ฐ ๊ธฐํ์ด ์ด๋ฐํ์ฌ Mender ์ฌ์ฉ์ ํฌ๊ธฐํ๊ณ ๋ ๊ฐ๋จํ ๊ฒ์ ์ ํํด์ผ ํ์ต๋๋ค.
์ฑ ์๊ฐ์๋
์ฐ๋ฆฌ ์ํฉ์์ ๊ฐ์ฅ ๊ฐ๋จํ ํด๊ฒฐ์ฑ ์ Ansible์ ์ฌ์ฉํ๋ ๊ฒ์ด์์ต๋๋ค. ์์ํ๋ ๋ฐ๋ ๋ช ๊ถ์ ํ๋ ์ด๋ถ์ด๋ฉด ์ถฉ๋ถํ์ต๋๋ค.
๊ทธ๋ค์ ๋ณธ์ง์ ์ฐ๋ฆฌ๊ฐ SSH๋ฅผ ํตํด ํธ์คํธ(CI ์๋ฒ)์์ ๋ผ์ค๋ฒ ๋ฆฌ์ ์ฐ๊ฒฐํ๊ณ ์ ๋ฐ์ดํธ๋ฅผ ๋ฐฐํฌํ๋ค๋ ๊ฒ์ ๋๋ค.
์ฒ์์๋ ๋ชจ๋ ๊ฒ์ด ๊ฐ๋จํ์ต๋๋ค. ์ฅ์น์ ๋์ผํ ๋คํธ์ํฌ์ ์์ด์ผํ๊ณ ์์์ง๋ ๊ฒ์ Wi-Fi๋ฅผ ํตํด ์ด๋ฃจ์ด์ก์ต๋๋ค.
์ฌ๋ฌด์ค์๋ ๋์ผํ ๋คํธ์ํฌ์ ์ฐ๊ฒฐ๋ ํ ์คํธ ๋ผ์ฆ๋ฒ ๋ฆฌ๊ฐ XNUMX๊ฐ ์์๊ณ , ๊ฐ ์ฅ์น์๋ Ansible Inventory์๋ ์ง์ ๋ ๊ณ ์ IP ์ฃผ์๊ฐ ์์์ต๋๋ค.
๋ชจ๋ํฐ๋ง ์์ด์ ํธ๋ฅผ ์ต์ข ์ฅ์น์ ์ ๋ฌํ ๊ฒ์ Ansible์ด์์ต๋๋ค.
3G / LTE
์ํ๊น๊ฒ๋ ์ด Ansible ์ฌ์ฉ ์ฌ๋ก๋ ์ค์ ์ค์ฟ ํฐ๊ฐ ์ถ์๋๊ธฐ ์ ์ ๊ฐ๋ฐ ๋ชจ๋์์๋ง ์๋ํ ์ ์์์ต๋๋ค.
์์๋ค์ํผ ์ค์ฟ ํฐ๋ ํ๋์ Wi-Fi ๋ผ์ฐํฐ์ ์ฐ๊ฒฐ๋์ด ์์ง ์๊ณ ๋คํธ์ํฌ๋ฅผ ํตํด ์ง์์ ์ผ๋ก ์ ๋ฐ์ดํธ๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ณ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ค์ ๋ก ์ค์ฟ ํฐ๋ ๋ชจ๋ฐ์ผ 3G/LTE ์ธ์๋ ์ด๋ค ์ฐ๊ฒฐ๋ ํ ์ ์์ต๋๋ค(๊ทธ๋ฆฌ๊ณ ํญ์ ๊ทธ๋ฐ ๊ฒ์ ์๋๋๋ค).
์ด๋ก ์ธํด ์ฐ๊ฒฐ ์๋๊ฐ ๋๋ฆฌ๊ณ ํต์ ์ด ๋ถ์์ ํด์ง๋ ๋ฑ ๋ง์ ๋ฌธ์ ์ ์ ํ ์ฌํญ์ด ์ฆ์ ๋ฐ์ํฉ๋๋ค.
ํ์ง๋ง ๊ฐ์ฅ ์ค์ํ ๊ฒ์ 3G/LTE ๋คํธ์ํฌ์์๋ ๋คํธ์ํฌ์ ํ ๋น๋ ๊ณ ์ IP์๋ง ์์กดํ ์ ์๋ค๋ ์ ์ ๋๋ค.
์ด๋ ์ผ๋ถ SIM ์นด๋ ์ ๊ณต์ ์ฒด์ ์ํด ๋ถ๋ถ์ ์ผ๋ก ํด๊ฒฐ๋์์ผ๋ฉฐ ๊ณ ์ IP ์ฃผ์๊ฐ ์๋ IoT ์ฅ์น์ฉ์ผ๋ก ์ค๊ณ๋ ํน์ SIM ์นด๋๋ ์์ต๋๋ค. ํ์ง๋ง ์ฐ๋ฆฌ๋ ๊ทธ๋ฌํ SIM ์นด๋์ ์ ๊ทผํ ์ ์์๊ณ IP ์ฃผ์๋ ์ฌ์ฉํ ์ ์์์ต๋๋ค.
๋ฌผ๋ก Consul๊ณผ ๊ฐ์ ๊ณณ์์ ์ผ์ข ์ IP ์ฃผ์ ๋ฑ๋ก(์ผ๋ช ์๋น์ค ๊ฒ์)์ ์ํํ๋ ์์ด๋์ด๋ ์์์ง๋ง ํ ์คํธ์์ IP ์ฃผ์๊ฐ ๋๋ฌด ์์ฃผ ๋ณ๊ฒฝ๋์ด ํฐ ๋ถ์์ ์ฑ์ ์ด๋ํ ์ ์์๊ธฐ ๋๋ฌธ์ ์ด๋ฌํ ์์ด๋์ด๋ฅผ ํฌ๊ธฐํด์ผ ํ์ต๋๋ค.
์ด๋ฌํ ์ด์ ๋ก ๋ฉํธ๋ฆญ ์ ๋ฌ์ ๊ฐ์ฅ ํธ๋ฆฌํ ์ฌ์ฉ์ ํ์ํ ๋ฉํธ๋ฆญ์ ์ํด ์ฅ์น๋ก ์ด๋ํ๋ ํ ๋ชจ๋ธ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์๋๋ผ ์ฅ์น์์ ์๋ฒ๋ก ์ง์ ๋ฉํธ๋ฆญ์ ์ ๋ฌํ๋ ํธ์ ๋ชจ๋ธ์ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค.
VPN
์ด ๋ฌธ์ ์ ๋ํ ํด๊ฒฐ์ฑ
์ผ๋ก ์ฐ๋ฆฌ๋ VPN์ ์ ํํ์ต๋๋ค.
์์คํ ์์ ์ ํด๋ผ์ด์ธํธ(์ค์ฟ ํฐ)๊ฐ VPN ์๋ฒ์ ์ฐ๊ฒฐ๋์ด ์ฐ๊ฒฐํ ์ ์์์ต๋๋ค. ์ด ํฐ๋์ ์ ๋ฐ์ดํธ๋ฅผ ์ ๋ฌํ๋ ๋ฐ ์ฌ์ฉ๋์์ต๋๋ค.
์ด๋ก ์ ์ผ๋ก๋ ๋์ผํ ํฐ๋์ ๋ชจ๋ํฐ๋ง์ ์ฌ์ฉํ ์ ์์ง๋ง ์ด๋ฌํ ์ฐ๊ฒฐ์ ๋จ์ํ ํธ์๋ณด๋ค ๋ ๋ณต์กํ๊ณ ์์ ์ฑ์ด ๋ฎ์ต๋๋ค.
ํด๋ผ์ฐ๋ ๋ฆฌ์์ค
๋ง์ง๋ง์ผ๋ก, ์ฐ๋ฆฌ๋ Kubernetes๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ํด๋ผ์ฐ๋ ์๋น์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ชจ๋ํฐ๋งํด์ผ ํฉ๋๋ค. ์ด์์ ์ผ๋ก๋ ํด๋ฌ์คํฐ์ ๋ชจ๋ํฐ๋ง์ ๋ฐฐํฌํ๋ ๊ฒ์ด ์ต๋ํ ๊ฐ๋จํฉ๋๋ค. ์ด์์ ์ผ๋ก๋
์ฃผ์ด์ง
ํด, ์ค๋ช ์ด ์ ๋ฆฌ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ง์ง๋ง์ผ๋ก ํ์ํ ๋ชฉ๋ก์ ๋ง๋ค์ด ๋ณด๊ฒ ์ต๋๋ค.
- ๊ฐ๋ฐ ํ๋ก์ธ์ค ์ค์ ์ด๋ฏธ ๋ชจ๋ํฐ๋ง์ด ํ์ํ๋ฏ๋ก ๋น ๋ฅธ ์๋ฃจ์
- ๋ณผ๋ฅจ/์๋ โ ๋ง์ ์ธก์ ํญ๋ชฉ ํ์
- ๋ก๊ทธ ์์ง์ด ํ์ํฉ๋๋ค
- ์ ๋ขฐ์ฑ - ๋ฐ์ดํฐ๋ ์ถ์ ์ฑ๊ณต์ ๋งค์ฐ ์ค์ํฉ๋๋ค.
- ํ ๋ชจ๋ธ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ํธ์๊ฐ ํ์ํฉ๋๋ค.
- ํ๋์จ์ด๋ฟ๋ง ์๋๋ผ ํด๋ผ์ฐ๋๊น์ง ํตํฉ์ ์ธ ๋ชจ๋ํฐ๋ง์ด ํ์ํฉ๋๋ค
์ต์ข ์ด๋ฏธ์ง๋ ๋ค์๊ณผ ๊ฐ์์ต๋๋ค
์คํ ์ ํ
๊ทธ๋์ ์ฐ๋ฆฌ๋ ๋ชจ๋ํฐ๋ง ์คํ์ ์ ํํ๋ ๋ฌธ์ ์ ์ง๋ฉดํ์ต๋๋ค.
์ฐ์ , ์ฐ๋ฆฌ๋ ์ฐ๋ฆฌ์ ๋ชจ๋ ์๊ตฌ ์ฌํญ์ ๋์์ ์ถฉ์กฑํ๋ฉด์๋ ๋์์ ์ฐ๋ฆฌ์ ํ์์ ๋ง๊ฒ ์ฌ์ฉํ ์ ์์ ๋งํผ ์ ์ฐํ๊ฒ ์ฌ์ฉํ ์ ์๋ ๊ฐ์ฅ ์๋ฒฝํ ์ฌ์ธ์ ์๋ฃจ์ ์ ์ฐพ๊ณ ์์์ต๋๋ค. ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ์ฐ๋ฆฌ๋ ํ๋์จ์ด, ์ํคํ ์ฒ, ๊ธฐํ ๋ฑ์ผ๋ก ์ธํด ๋ง์ ์ ์ฝ์ ๋ฐ์์ต๋๋ค.
๋ค์๊ณผ ๊ฐ์ ๋ณธ๊ฒฉ์ ์ธ ์์คํ
์ ์์์ผ๋ก ๋งค์ฐ ๋ค์ํ ๋ชจ๋ํฐ๋ง ์๋ฃจ์
์ด ์์ต๋๋ค.
์ฒ์์๋ ํ์๊ฐ ์ฐ๋ฆฌ์๊ฒ ์ด์์ ์ธ ์๋ฃจ์ ์ฒ๋ผ ๋ณด์์ง๋ง ์ผ๋ถ๋ ์์ ํ ๋ชจ๋ํฐ๋ง์ด ์์๊ณ ๋ค๋ฅธ ์ผ๋ถ๋ ๋ฌด๋ฃ ๋ฒ์ ์ ๊ธฐ๋ฅ์ด ์ฌ๊ฐํ๊ฒ ์ ํ๋์์ผ๋ฉฐ ๋ค๋ฅธ ์ผ๋ถ๋ ๋จ์ํ "์ํ๋ ๊ฒ"์ ์ถฉ์กฑํ์ง ๋ชปํ๊ฑฐ๋ ์๋๋ฆฌ์ค์ ์ ํฉํ ๋งํผ ์ ์ฐํ์ง ์์์ต๋๋ค. ์ผ๋ถ๋ ๋จ์ํ ๊ตฌ์์ ๋๋ค.
์ฌ๋ฌ ์ ์ฌํ ์๋ฃจ์ ์ ๋ถ์ํ ํ ์ฐ๋ฆฌ๋ ์ ์ฌํ ์คํ์ ์ง์ ์กฐ๋ฆฝํ๋ ๊ฒ์ด ๋ ์ฝ๊ณ ๋น ๋ฅด๋ค๋ ๊ฒฐ๋ก ์ ๋น ๋ฅด๊ฒ ๋๋ฌํ์ต๋๋ค. ์, ์์ ํ ์ค๋น๋ ์ฐจ๋ ๊ด๋ฆฌ ํ๋ซํผ์ ๋ฐฐํฌํ๋ ๊ฒ๋ณด๋ค ์กฐ๊ธ ๋ ๋ณต์กํ์ง๋ง ํํํ ํ์๋ ์์ต๋๋ค.
๊ฑฐ์ ํ์คํ๊ฒ, ์์ฒญ๋ ์์ ์๋ฃจ์ ์ค์๋ ์ด๋ฏธ ์ฐ๋ฆฌ์๊ฒ ๋ฑ ๋ง๋ ๊ธฐ์ฑ ์๋ฃจ์ ์ด ์์ง๋ง, ์ฐ๋ฆฌ์ ๊ฒฝ์ฐ์๋ ํน์ ์คํ์ ์์ฒด์ ์ผ๋ก ์กฐ๋ฆฝํ๊ณ "์ค์ค๋ก" ๋ง์ถคํํ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ๋ ๋นจ๋์ต๋๋ค. ๊ธฐ์ฑํ ํ ์คํธ.
์ด ๋ชจ๋ ๊ฒ์ ํตํด ์ฐ๋ฆฌ๋ ์ ์ฒด ๋ชจ๋ํฐ๋ง ํ๋ซํผ์ ์ง์ ์กฐ๋ฆฝํ๋ ค๊ณ ๋ ธ๋ ฅํ์ง ์๊ณ ์ ์ฐํ๊ฒ ๊ตฌ์ฑํ ์ ์๋ ๊ธฐ๋ฅ๋ง ๊ฐ์ถ ๊ฐ์ฅ ๊ธฐ๋ฅ์ ์ธ "๊ธฐ์ฑํ" ์คํ์ ์ฐพ๊ณ ์์์ต๋๋ค.
(B)์ํฌ?
์ค์ ๋ก ๊ณ ๋ ค๋ ์ฒซ ๋ฒ์งธ ์๋ฃจ์
์ ์ ์๋ ค์ง ELK ์คํ์ด์์ต๋๋ค.
์ฌ์ค ๋ชจ๋ ๊ฒ์ด Beats์์ ์์๋๊ธฐ ๋๋ฌธ์ BELK๋ผ๊ณ ๋ถ๋ฌ์ผ ํฉ๋๋ค. -
๋ฌผ๋ก ELK๋ ๋ชจ๋ํฐ๋ง ๋ถ์ผ์์ ๊ฐ์ฅ ์ ๋ช ํ๊ณ ๊ฐ๋ ฅํ ์๋ฃจ์ ์ค ํ๋์ด๋ฉฐ ๋ก๊ทธ ์์ง ๋ฐ ์ฒ๋ฆฌ ๋ถ์ผ์์๋ ๋์ฑ ๊ทธ๋ ์ต๋๋ค.
์ฐ๋ฆฌ๋ ELK๋ฅผ ์ฌ์ฉํ์ฌ ๋ก๊ทธ๋ฅผ ์์งํ๊ณ Prometheus์์ ์ป์ ์ธก์ ํญ๋ชฉ์ ์ฅ๊ธฐ๊ฐ ์ ์ฅํ๋ ค๊ณ ํ์ต๋๋ค.
์๊ฐํ๋ฅผ ์ํด Grafan์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ค์ ๋ก ์๋ก์ด ELK ์คํ์ ๋ฉํธ๋ฆญ์ ๋ ๋ฆฝ์ ์ผ๋ก ์์งํ ์ ์์ผ๋ฉฐ(metricbeat), Kibana์์๋ ์ด๋ฅผ ํ์ํ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ์ฌ์ ํ ELK๋ ์ด๊ธฐ์ ๋ก๊ทธ์์ ์ฑ์ฅํ์ผ๋ฉฐ ์ง๊ธ๊น์ง ์ธก์ ํญ๋ชฉ์ ๊ธฐ๋ฅ์๋ ์ฌ๋ฌ ๊ฐ์ง ์ฌ๊ฐํ ๋จ์ ์ด ์์ต๋๋ค.
- ํ๋ก๋ฉํ ์ฐ์ค์ ๋นํด ํ์ ํ ๋๋ฆผ
- Prometheus๋ณด๋ค ํจ์ฌ ์ ์ ์์ ์ฅ์์ ํตํฉ๋ฉ๋๋ค.
- ์๋ฆผ์ ์ค์ ํ๊ธฐ๊ฐ ์ด๋ ต์ต๋๋ค.
- ์ธก์ ํญ๋ชฉ์ ๋ง์ ๊ณต๊ฐ์ ์ฐจ์งํฉ๋๋ค.
- Kiban์์ ๋ฉํธ๋ฆญ์ผ๋ก ๋์๋ณด๋๋ฅผ ์ค์ ํ๋ ๊ฒ์ Grafan๋ณด๋ค ํจ์ฌ ๋ ๋ณต์กํฉ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ELK์ ๋ฉํธ๋ฆญ์ ๋ฌด๊ฒ๊ณ ์์ง ๋ค๋ฅธ ์๋ฃจ์ ๋งํผ ํธ๋ฆฌํ์ง ์์ต๋๋ค. ํ์ฌ๋ Prometheus๋ณด๋ค TSDB, Victoria Metrics, Cortex ๋ฑ์ด ํจ์ฌ ๋ ๋ง์ต๋๋ค. ๋ฌผ๋ก , ๋น์ฅ์ด๋ผ๋ ๋ณธ๊ฒฉ์ ์ธ ์ฌ์ธ์ ์๋ฃจ์ ์ด ๋์์ผ๋ฉด ์ข๊ฒ ์ง๋ง, ๋ฉํธ๋ฆญ๋นํธ์ ๊ฒฝ์ฐ ํํ์ ์ด ๋๋ฌด ๋ง์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ELK ์คํ ์์ฒด์๋ ์ฌ๋ฌ ๊ฐ์ง ์ด๋ ค์ด ์๊ฐ์ด ์์ต๋๋ค.
- ๋ฌด๊ฒ๊ณ , ๊ฝค ๋ง์ ์์ ๋ฐ์ดํฐ๋ฅผ ์์งํ๋ฉด ๋๋ก๋ ๋งค์ฐ ๋ฌด๊ฑฐ์์ง๊ธฐ๋ ํฉ๋๋ค.
- "์๋ฆฌํ๋ ๋ฐฉ๋ฒ"์ ์์์ผ ํฉ๋๋ค. ํฌ๊ธฐ๋ฅผ ์กฐ์ ํด์ผ ํ์ง๋ง ์ด๋ ์ฌ์ด ์ผ์ด ์๋๋๋ค.
- ์ ๊ฑฐ๋ ๋ฌด๋ฃ ๋ฒ์ - ๋ฌด๋ฃ ๋ฒ์ ์๋ ์ผ๋ฐ์ ์ธ ๊ฒฝ๊ณ ๊ฐ ์์ผ๋ฉฐ ์ ํ ์ ์ธ์ฆ์ด ์์์ต๋๋ค.
์ต๊ทผ์๋ ๋ง์ง๋ง ์ ์ด ๋ ์ข์์ก๊ณ ๊ฒ๋ค๊ฐ
ํ์ง๋ง ์ด ์๋ฃจ์
์ ๋ฐฐํฌํ๋ ค๊ณ ํ ๋น์์๋ ๊ฒฝ๊ณ ๊ฐ ์ ํ ๋ฐ์ํ์ง ์์์ต๋๋ค.
์๋ง๋ ElastAlert๋ ๋ค๋ฅธ ์ปค๋ฎค๋ํฐ ์๋ฃจ์
์ ์ฌ์ฉํ์ฌ ๋ฌด์ธ๊ฐ๋ฅผ ๊ตฌ์ถํ๋ ค๊ณ ์๋ํ ์๋ ์์์ง๋ง ์ฌ์ ํ ๋ค๋ฅธ ๋์์ ๊ณ ๋ คํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค.
๋กํค - ๊ทธ๋ผํ๋ - ํ๋ก๋ฉํ ์ฐ์ค
ํ์ฌ ์ข์ ํด๊ฒฐ์ฑ ์ ๋ฉํธ๋ฆญ ์ ๊ณต์๋ก์ Prometheus, ๋ก๊ทธ์ฉ Loki, ์๊ฐํ๋ฅผ ์ํด ๋์ผํ Grafana๋ฅผ ์ฌ์ฉํ์ฌ ์์ ํ Prometheus๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ชจ๋ํฐ๋ง ์คํ์ ๊ตฌ์ถํ๋ ๊ฒ์ ๋๋ค.
์ํ๊น๊ฒ๋ ํ๋ก์ ํธ ํ๋งค ํ์ผ๋ฟ ์์ ๋น์(19๋ 0.3์~0.4์) Loki๋ ์์ง ๋ฒ ํ ๋ฒ์ XNUMX~XNUMX์ ์์๊ณ , ๊ฐ๋ฐ ์์ ๋น์์๋ ์์ฐ ์๋ฃจ์ ์ผ๋ก ๊ฐ์ฃผํ ์ ์์์ต๋๋ค. ์กฐ๊ธ๋.
์์ง ์ฌ๊ฐํ ํ๋ก์ ํธ์์ Loki๋ฅผ ์ค์ ๋ก ์ฌ์ฉํ ๊ฒฝํ์ ์์ง๋ง Promtail(๋ก๊ทธ ์์ง ์์ด์ ํธ)์ Kubernetes์ ๋ฒ ์ด ๋ฉํ๊ณผ ํฌ๋ ๋ชจ๋์ ํ๋ฅญํ๊ฒ ์๋ํ๋ค๊ณ ๋งํ ์ ์์ต๋๋ค.
์ง๋๊ธฐ
์๋ง๋ ELK ์คํ์ ๋ํ ๊ฐ์ฅ ๊ฐ์น ์๋(์ ์ผํ?) ๋ชจ๋ ๊ธฐ๋ฅ์ ๊ฐ์ถ ๋์์ ์ด์ TICK ์คํ(Telegraf, InfluxDB, Chronograf, Kapacitor)์ด๋ผ๊ณ ๋ง ๋ถ๋ฅผ ์ ์์ต๋๋ค.
์๋์ ๋ชจ๋ ๊ตฌ์ฑ ์์๋ฅผ ๋ ์์ธํ ์ค๋ช ํ๊ฒ ์ง๋ง ์ผ๋ฐ์ ์ธ ์์ด๋์ด๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- Telegraf - ๋ฉํธ๋ฆญ ์์ง ์์ด์ ํธ
- InfluxDB - ๋ฉํธ๋ฆญ ๋ฐ์ดํฐ๋ฒ ์ด์ค
- Kapacitor - ๊ฒฝ๊ณ ๋ฅผ ์ํ ์ค์๊ฐ ๋ฉํธ๋ฆญ ํ๋ก์ธ์
- Chronograf - ์๊ฐํ๋ฅผ ์ํ ์น ํจ๋
InfluxDB, Kapacitor ๋ฐ Chronograf์ ๊ฒฝ์ฐ ๋ฐฐํฌ์ ์ฌ์ฉํ ๊ณต์ helm ์ฐจํธ๊ฐ ์์ต๋๋ค.
Influx 2.0(๋ฒ ํ)์ ์ต์ ๋ฒ์ ์์๋ Kapacitor์ Chronograf๊ฐ InfluxDB์ ์ผ๋ถ๊ฐ ๋์์ผ๋ฉฐ ๋ ์ด์ ๋ณ๋๋ก ์กด์ฌํ์ง ์๋๋ค๋ ์ ์ ์ ์ํด์ผ ํฉ๋๋ค.
ํ ๋ ๊ทธ๋ผํ
๊ทธ๋ ๋ค์๊ณผ ๊ฐ์ ์์ฒญ๋ ์์ ๋ชจ๋ ๊ฒ์ ๋ชจ๋ํฐ๋งํ ์ ์์ต๋๋ค.
์๋ฒ
์ฌ๊ธฐ์๋ ์ฌ๋ฌ ๊ฐ์ง ๋ฉ์ง ์ฅ์ ์ด ์์ต๋๋ค.
- ๋น ๋ฅด๊ณ ๊ฐ๋ฒผ์(Go๋ก ์์ฑ๋จ)
- ์ต์ํ์ ๋ฆฌ์์ค๋ฅผ ์๋นํฉ๋๋ค.
- ๊ธฐ๋ณธ์ ์ผ๋ก ์ธก์ ํญ๋ชฉ ํธ์
- ํ์ํ ๋ชจ๋ ์งํ๋ฅผ ์์งํฉ๋๋ค.
- ์ค์ ์ด ์๋ ์์คํ ์ธก์ ํญ๋ชฉ
- ์ผ์์ ์ ๋ณด์ ๊ฐ์ ํ๋์จ์ด ์ธก์ ํญ๋ชฉ
- ์์ ๋ง์ ์ธก์ ํญ๋ชฉ์ ์ถ๊ฐํ๋ ๊ฒ์ ๋งค์ฐ ์ฝ์ต๋๋ค.
- ์ฆ์ ์ฌ์ฉํ ์ ์๋ ๋ค์ํ ํ๋ฌ๊ทธ์ธ
- ๋ก๊ทธ๋ฅผ ์์งํฉ๋๋ค.
ํธ์ ๋ฉํธ๋ฆญ์ด ํ์ํ๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ๋ชจ๋ ์ด์ ์ ์ฆ๊ฑฐ์ด ์ถ๊ฐ ์ด์์ ๊ฒ์ด์์ต๋๋ค.
๋ก๊ทธ๋ฅผ ๋ก๊น ํ๊ธฐ ์ํด ๋ณ๋์ ์ ํธ๋ฆฌํฐ๋ฅผ ์ฐ๊ฒฐํ ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ์์ด์ ํธ ์์ฒด์์ ๋ก๊ทธ๋ฅผ ์์งํ๋ ๊ฒ๋ ๋งค์ฐ ํธ๋ฆฌํฉ๋๋ค.
Influx๋ ๋ค์์ ์ฌ์ฉํ๋ฉด ๋ก๊ทธ ์์
์ ๊ฐ์ฅ ํธ๋ฆฌํ ๊ฒฝํ์ ์ ๊ณตํฉ๋๋ค.
Telegraf๋ ICK ์คํ์ ๋๋จธ์ง ๋ถ๋ถ์ ์ฌ์ฉํ์ง ์๋๋ผ๋ ์ผ๋ฐ์ ์ผ๋ก ๋ฉํธ๋ฆญ์ ์์งํ๋ ๋ฐ ํ๋ฅญํ ์์ด์ ํธ์ ๋๋ค.
๊ฑฐ์ ๋ชจ๋ ๊ณณ์์ ๋ฉํธ๋ฆญ์ ์์ฑํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ง์ ์ฌ๋๋ค์ด ํธ์๋ฅผ ์ํด ELK ๋ฐ ๊ธฐํ ๋ค์ํ ์๊ณ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ต์ฐจํฉ๋๋ค.
์ธํ๋ญ์คDB
InfluxDB๋ TICK ์คํ์ ์ฃผ์ ํต์ฌ, ์ฆ ๋ฉํธ๋ฆญ์ ์ํ ์๊ณ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์
๋๋ค.
Influx๋ ๋ฉํธ๋ฆญ ์ธ์๋ ๋ก๊ทธ๋ฅผ ์ ์ฅํ ์๋ ์์ง๋ง ๋ณธ์ง์ ์ผ๋ก ๋ก๊ทธ๋ ๋์ผํ ๋ฉํธ๋ฆญ์ด์ง๋ง ์ผ๋ฐ์ ์ธ ์ซ์ ํ์๊ธฐ ๋์ ์ฃผ์ ๊ธฐ๋ฅ์ ๋ก๊ทธ ํ
์คํธ ์ค๋ก ์ํ๋ฉ๋๋ค.
InfluxDB๋ Go๋ก ์์ฑ๋์์ผ๋ฉฐ (๊ฐ์ฅ ๊ฐ๋ ฅํ์ง๋ ์์) ํด๋ฌ์คํฐ์ ELK์ ๋นํด ํจ์ฌ ๋น ๋ฅด๊ฒ ์คํ๋๋ ๊ฒ ๊ฐ์ต๋๋ค.
Influx์ ๋ฉ์ง ์ฅ์ ์ค ํ๋๋ ์ฐ๋ฆฌ๊ฐ ๋งค์ฐ ์ ๊ทน์ ์ผ๋ก ์ฌ์ฉํ๋ ๋ฐ์ดํฐ ์ฟผ๋ฆฌ๋ฅผ ์ํ ๋งค์ฐ ํธ๋ฆฌํ๊ณ ํ๋ถํ API์ ๋๋ค.
๋จ์ - $$$ ๋๋ ํ์ฅ?
TICK ์คํ์๋ ์ฐ๋ฆฌ๊ฐ ๋ฐ๊ฒฌํ ๋จ ํ๋์ ๋จ์ ์ด ์์ต๋๋ค. ์ฌ๋์ค๋ฌ์ด. ๋ ๋์๊ฐ.
๋ฌด๋ฃ ๋ฒ์ ์๋ ์์ง๋ง ์ ๋ฃ ๋ฒ์ ์๋ ๋ฌด์์ด ์๋์?
์ฐ๋ฆฌ๊ฐ ์ดํดํ ์ ์๋ ํ, TICK ์คํ์ ์ ๋ฃ ๋ฒ์ ๊ณผ ๋ฌด๋ฃ ๋ฒ์ ์ ์ ์ผํ ์ฐจ์ด์ ์ ํ์ฅ ๊ธฐ๋ฅ์ ๋๋ค.
์ฆ, ๋ค์์์๋ง ๊ณ ๊ฐ์ฉ์ฑ ํด๋ฌ์คํฐ๋ฅผ ํค์ธ ์ ์์ต๋๋ค.
๋ณธ๊ฒฉ์ ์ธ HA๋ฅผ ์ํ๋ค๋ฉด ๋น์ฉ์ ์ง๋ถํ๊ฑฐ๋ ๋ชฉ๋ฐ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ๋ช ๊ฐ์ง ์ปค๋ฎค๋ํฐ ์๋ฃจ์
์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด
์ํ๊น์ง๋ง ๋ ๋ค ๋ฒ๋ ค์ง ๊ฒ ๊ฐ์ต๋๋ค. ์๋ก์ด ์ปค๋ฐ์ด ์์ต๋๋ค. ๋ฌธ์ ๋ Influx 2.0์ ์ ๋ฒ์ ์ด ๊ณง ์ถ์๋ ์์ ์ด๋ผ๊ณ ๊ฐ์ ํฉ๋๋ค. ์ด ๋ฒ์ ์์๋ ๋ง์ ๊ฒ์ด ๋ฌ๋ผ์ง ๊ฒ์ ๋๋ค. ์์ง ๊ท๋ชจ๋ฅผ ์กฐ์ ํ๊ณ ์์ต๋๋ค).
๊ณต์์ ์ผ๋ก ๋ฌด๋ฃ ๋ฒ์ ์ด ์์ต๋๋ค
๋ชจ๋ ๋ฐ์ดํฐ๋ ๋ก๋ ๋ฐธ๋ฐ์ ๋ค์ ๋ชจ๋ InfluxDB ์ธ์คํด์ค์ ๊ธฐ๋ก๋๊ธฐ ๋๋ฌธ์
๋๋ค.
๊ทธ ์ฌ๋์ด ์ข ๊ฐ๊ณ ์์ด
(InfluxDB์ ์ผ๋ฐ์ ์ธ ์์
์ค์ ์๋์ผ๋ก ๋ฐ์ํฉ๋๋ค).
๋ํ
๋น ํ ๋ฆฌ์ ๋ฉํธ๋ฆญ์ค?
๊ฒฐ๊ณผ์ ์ผ๋ก ์ฐ๋ฆฌ๋ ์ ๋ฃ ํ์ฅ ์ด์ธ์ ๋ชจ๋ ๋ถ๋ถ์์ TICK ์คํ์ ์์ ํ ๋ง์กฑํ์์๋ ๋ถ๊ตฌํ๊ณ ๋๋จธ์ง T_CK ๊ตฌ์ฑ ์์๋ ๋จ๊ฒจ๋๊ณ InfluxDB ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋์ฒดํ ์ ์๋ ๋ฌด๋ฃ ์๋ฃจ์ ์ด ์๋์ง ์์๋ณด๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค.
์๊ณ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ง์ง๋ง ๊ฐ์ฅ ์ ๋งํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ Victoria Metrics์ ๋๋ค. ์ฌ๊ธฐ์๋ ์ฌ๋ฌ ๊ฐ์ง ์ฅ์ ์ด ์์ต๋๋ค.
- ์ ์ด๋ ๊ฒฐ๊ณผ์ ๋ฐ๋ฅด๋ฉด ๋น ๋ฅด๊ณ ์ฝ์ต๋๋ค.
๋ฒค์น๋งํฌ - ํ์ฌ ์ข์ ๋ฆฌ๋ทฐ๊ฐ ์๋ ํด๋ฌ์คํฐ ๋ฒ์ ์ด ์์ต๋๋ค.
- ๊ทธ๋ ๋ ์กฐ๊ฐ์ ๋ผ ์ ์๋ค
- InfluxDB ํ๋กํ ์ฝ ์ง์
์ฐ๋ฆฌ๋ Victoria๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ ํ ์ฌ์ฉ์ ์ ์ ์คํ์ ๊ตฌ์ถํ ์๋๊ฐ ์์์ผ๋ฉฐ ์ฃผ์ ํฌ๋ง์ ์ด๋ฅผ InfluxDB์ ๋๋กญ์ธ ๋์ฒดํ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค๋ ๊ฒ์ด์์ต๋๋ค.
๋ถํํ๊ฒ๋ InfluxDB ํ๋กํ ์ฝ์ด ์ง์๋๋ค๋ ์ฌ์ค์๋ ๋ถ๊ตฌํ๊ณ ์ด๋ ์ธก์ ํญ๋ชฉ ๊ธฐ๋ก์๋ง ์๋ํฉ๋๋ค. Prometheus API๋ง "์ธ๋ถ"์์ ์ฌ์ฉํ ์ ์์ผ๋ฏ๋ก Chronograf๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค.
๋ํ ์งํ์๋ ์ซ์ ๊ฐ๋ง ์ง์๋ฉ๋๋ค(๋ง์ถค ์งํ์๋ ๋ฌธ์์ด ๊ฐ์ ์ฌ์ฉํ์ต๋๋ค. ์ด์ ๋ํ ์์ธํ ๋ด์ฉ์ ์น์
์์ ํ์ธํ์ธ์).
๋ถ๋ช ํ ๊ฐ์ ์ด์ ๋ก VM์ Influx์ฒ๋ผ ๋ก๊ทธ๋ฅผ ์ ์ฅํ ์ ์์ต๋๋ค.
๋ํ, ์ต์ ์ ์๋ฃจ์
์ ๋ชจ์ํ ๋น์์๋ Victoria Metrics๊ฐ ์์ง ๊ทธ๋ค์ง ์ธ๊ธฐ๊ฐ ์์์ผ๋ฉฐ, ๋ฌธ์๊ฐ ํจ์ฌ ์ ๊ณ ๊ธฐ๋ฅ๋ ์ฝํ๋ค๋ ์ ์ ์ ์ํด์ผ ํฉ๋๋ค.
(ํด๋ฌ์คํฐ ๋ฒ์ ๊ณผ ์ค๋ฉ์ ๋ํ ์์ธํ ์ค๋ช
์ ๊ธฐ์ต๋์ง ์์ต๋๋ค.)
๋ฒ ์ด์ค ์ ํ
๊ฒฐ๊ณผ์ ์ผ๋ก ํ์ผ๋ฟ์์๋ ์ฌ์ ํ ๋จ์ผ InfluxDB ๋ ธ๋๋ก ์ ํํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค.
์ด ์ ํ์๋ ๋ช ๊ฐ์ง ์ฃผ์ ์ด์ ๊ฐ ์์์ต๋๋ค.
- ์ฐ๋ฆฌ๋ TICK ์คํ์ ์ ์ฒด ๊ธฐ๋ฅ์ด ์ ๋ง ๋ง์์ ๋ค์์ต๋๋ค.
- ์ฐ๋ฆฌ๋ ์ด๋ฏธ ์ด๋ฅผ ๋ฐฐํฌํ์ผ๋ฉฐ ํ๋ฅญํ๊ฒ ์๋ํ์ต๋๋ค.
- ๊ธฐํ์ด ์ผ๋ง ๋จ์ง ์์๊ณ ๋ค๋ฅธ ์ต์ ์ ํ ์คํธํ ์๊ฐ๋ ์ผ๋ง ๋จ์ง ์์์ต๋๋ค.
- ์ฐ๋ฆฌ๋ ์ด๋ ๊ฒ ๋ฌด๊ฑฐ์ด ์ง์ ๊ธฐ๋ํ์ง ์์์ต๋๋ค
ํ์ผ๋ฟ์ ์ฒซ ๋ฒ์งธ ๋จ๊ณ์๋ ์ค์ฟ ํฐ๊ฐ ๋ง์ง ์์์ผ๋ฉฐ ๊ฐ๋ฐ ์ค ํ ์คํธ์์๋ ์ฑ๋ฅ ๋ฌธ์ ๊ฐ ๋ฐ๊ฒฌ๋์ง ์์์ต๋๋ค.
๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ์ด ํ๋ก์ ํธ์ ๊ฒฝ์ฐ ํ์ฅํ ํ์ ์์ด ํ๋์ Influx ๋ ธ๋๋ก ์ถฉ๋ถํ๋ค๊ณ ๊ฒฐ์ ํ์ต๋๋ค(๋ง์ง๋ง ๊ฒฐ๋ก ์ฐธ์กฐ).
์ฐ๋ฆฌ๋ ์คํ๊ณผ ๋ฒ ์ด์ค๋ฅผ ๊ฒฐ์ ํ์ต๋๋ค. ์ด์ TICK ์คํ์ ๋๋จธ์ง ๊ตฌ์ฑ ์์์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.
์ปคํจ์ํฐ
Kapacitor๋ ์ค์๊ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๋ ฅ๋๋ ์งํ๋ฅผ ๋ชจ๋ํฐ๋งํ๊ณ ๊ท์น์ ๋ฐ๋ผ ๋ค์ํ ์์ ์ ์ํํ ์ ์๋ ์๋น์ค์ธ TICK ์คํ์ ์ผ๋ถ์ ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ์ ์ฌ์ ์ธ ์ด์ ์งํ ์ถ์ ๋ฐ ๊ธฐ๊ณ ํ์ต์ ์ํ ๋๊ตฌ๋ก ์๋ฆฌ์ก๊ณ ์์ง๋ง(์ด๋ฌํ ๊ธฐ๋ฅ์ด ์์๊ฐ ์๋์ง๋ ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค) ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ์ฌ๋ก๋ ๊ฒฝ๊ณ ์ ๋๋ค.
์ด๊ฒ์ด ์ฐ๋ฆฌ๊ฐ ์๋ฆผ์ ์ฌ์ฉํ ๋ฐฉ๋ฒ์ ๋๋ค. ํน์ ์ค์ฟ ํฐ๊ฐ ์คํ๋ผ์ธ ์ํ๊ฐ ๋๋ฉด Slack ์๋ฆผ์ ์ค์ ํ์ผ๋ฉฐ ์ค๋งํธ ์ถฉ์ ๊ธฐ์ ์ค์ํ ์ธํ๋ผ ๊ตฌ์ฑ ์์์ ๋ํด์๋ ๋์ผํ ์์ ์ ์ํํ์ต๋๋ค.
์ด๋ฅผ ํตํด ๋ฌธ์ ์ ์ ์ํ๊ฒ ๋์ํ ์ ์์ ๋ฟ๋ง ์๋๋ผ ๋ชจ๋ ๊ฒ์ด ์ ์์ผ๋ก ๋์์๋ค๋ ์๋ฆผ์ ๋ฐ์ ์ ์์์ต๋๋ค.
๊ฐ๋จํ ์: "๋ฐ์ค"์ ์ ์์ ๊ณต๊ธํ๋ ์ถ๊ฐ ๋ฐฐํฐ๋ฆฌ๊ฐ ๊ณ ์ฅ๋ฌ๊ฑฐ๋ ์ด๋ค ์ด์ ๋ก ์ ์์ด ๋ถ์กฑํฉ๋๋ค. ์ ๋ฐฐํฐ๋ฆฌ๋ฅผ ์ค์นํ๊ธฐ๋ง ํ๋ฉด ์ ์ ํ ์ค์ฟ ํฐ์ ๊ธฐ๋ฅ์ด ๋ณต์๋์๋ค๋ ์๋ฆผ์ ๋ฐ๊ฒ ๋ฉ๋๋ค.
Influx 2.0์์๋ Kapacitor๊ฐ DB์ ์ผ๋ถ๊ฐ ๋์์ต๋๋ค.
ํฌ๋ก๋ ธ ๊ทธ๋ํ
๋ชจ๋ํฐ๋ง์ ์ํ ๋ค์ํ UI ์๋ฃจ์ ์ ๋ณด์์์ง๋ง ๊ธฐ๋ฅ๊ณผ UX ์ธก๋ฉด์์ Chronograf์ ๋น๊ตํ ์ ์๋ ๊ฒ์ ์๋ค๊ณ ๋งํ ์ ์์ต๋๋ค.
์ด์ํ๊ฒ๋ ์ฐ๋ฆฌ๋ Grafan์ ์น ์ธํฐํ์ด์ค๋ก ์ฌ์ฉํ์ฌ TICK ์คํ์ ์ฌ์ฉํ๊ธฐ ์์ํ์ต๋๋ค.
๊ธฐ๋ฅ์ ๋ํด์๋ ์ค๋ช
ํ์ง ์๊ฒ ์ต๋๋ค. ๋ชจ๋ ์ฌ๋์ด ๋ฌด์์ด๋ ์ค์ ํ ์ ์๋ ๊ด๋ฒ์ํ ๊ฐ๋ฅ์ฑ์ ์๊ณ ์์ต๋๋ค.
๊ทธ๋ฌ๋ Grafana๋ ์ฌ์ ํ ์์ ํ ๋ณดํธ์ ์ธ ๋๊ตฌ์ธ ๋ฐ๋ฉด Chronograf๋ ์ฃผ๋ก Influx์ ํจ๊ป ์ฌ์ฉํ๋๋ก ์ค๊ณ๋์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ฌผ๋ก , ๋๋ถ์ Chronograf๋ ํจ์ฌ ๋ ์๋ฆฌํ๊ณ ํธ๋ฆฌํ ๊ธฐ๋ฅ์ ๊ฐ๋นํ ์ ์์ต๋๋ค.
์๋ง๋ Chronograf ์์ ์ ๊ฐ์ฅ ํฐ ํธ๋ฆฌํจ์ Explore๋ฅผ ํตํด InfluxDB์ ๋ด๋ถ๋ฅผ ๋ณผ ์ ์๋ค๋ ๊ฒ์ ๋๋ค.
Grafana์๋ ๊ฑฐ์ ๋์ผํ ๊ธฐ๋ฅ์ด ์๋ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง ์ค์ ๋ก Chronograf์์ ๋์๋ณด๋ ์ค์ ์ ๋ช ๋ฒ์ ๋ง์ฐ์ค ํด๋ฆญ๋ง์ผ๋ก(๋์์ ์๊ฐํ๋ฅผ ๋ณด๋ฉด์) ์ํํ ์ ์์ต๋๋ค. ๋ฐ๋ฉด Grafana์์๋ ์กฐ๋ง๊ฐ JSON ๊ตฌ์ฑ์ ํธ์งํ๋ ค๋ฉด(๋ฌผ๋ก Chronograf๋ฅผ ์ฌ์ฉํ๋ฉด ์ง์ ๊ตฌ์ฑํ ๋์๋ฅผ ์ ๋ก๋ํ๊ณ ํ์ํ ๊ฒฝ์ฐ JSON์ผ๋ก ํธ์งํ ์ ์์ง๋ง UI์์ ๋์๋ฅผ ์์ฑํ ํ์๋ ๊ฑด๋๋ฆด ํ์๊ฐ ์์์ต๋๋ค).
Kibana๋ ๋์๋ณด๋ ๋ฐ ์ ์ด ๊ธฐ๋ฅ์ ์์ฑํ ์ ์๋ ํจ์ฌ ๋ ํ๋ถํ ๊ธฐ๋ฅ์ ๊ฐ์ถ๊ณ ์์ง๋ง ์ด๋ฌํ ์์ ์ ์ํ UX๋ ๋งค์ฐ ๋ณต์กํฉ๋๋ค.
ํธ๋ฆฌํ ๋์๋ณด๋๋ฅผ ๋ง๋ค๋ ค๋ฉด ์ถฉ๋ถํ ์ดํด๊ฐ ํ์ํฉ๋๋ค. Chronograf ๋์๋ณด๋์ ๊ธฐ๋ฅ์ ์ ์ง๋ง ์ด๋ฅผ ๋ง๋ค๊ณ ์ฌ์ฉ์ ์ ์ํ๋ ๊ฒ์ด ํจ์ฌ ๊ฐ๋จํฉ๋๋ค.
์พ์ ํ ์๊ฐ์ ์คํ์ผ์ ์ ์ธํ๋ฉด ๋์๋ณด๋ ์์ฒด๋ ์ค์ ๋ก Grafana ๋๋ Kibana์ ๋์๋ณด๋์ ๋ค๋ฅด์ง ์์ต๋๋ค.
์ฟผ๋ฆฌ ์ฐฝ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ฌด์๋ณด๋ค๋ InfluxDB ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ๋ ์ ํ์ ์๋ฉด ํฌ๋ก๋ ธ๊ทธ๋ํ ์์ฒด๊ฐ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๊ฑฐ๋ ํ๊ท ๊ณผ ๊ฐ์ ์ฌ๋ฐ๋ฅธ ์ง๊ณ ํจ์๋ฅผ ์ ํํ๋ ๋ฐ ์๋์ผ๋ก ๋์์ด ๋ ์ ์๋ค๋ ์ ์ ์ ์ํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
๋ฌผ๋ก Chronograf๋ ๋ก๊ทธ๋ฅผ ๋ณด๋ ๋ฐ ์ต๋ํ ํธ๋ฆฌํฉ๋๋ค. ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
๊ธฐ๋ณธ์ ์ผ๋ก Influx ๋ก๊ทธ๋ syslog๋ฅผ ์ฌ์ฉํ๋๋ก ๋ง์ถคํ๋์ด ์์ผ๋ฏ๋ก ์ค์ํ ๋งค๊ฐ๋ณ์์ธ ์ฌ๊ฐ๋๋ฅผ ๊ฐ์ต๋๋ค.
์๋จ์ ๊ทธ๋ํ๋ ํนํ ์ ์ฉํฉ๋๋ค. ๊ทธ๋ํ์์ ๋ฐ์ํ๋ ์ค๋ฅ๋ฅผ ํ์ธํ ์ ์์ผ๋ฉฐ ์ฌ๊ฐ๋๊ฐ ๋์ ๊ฒฝ์ฐ ์์์ด ์ฆ์ ๋ช ํํ๊ฒ ํ์๋ฉ๋๋ค.
๋ช ๋ฒ ์ฐ๋ฆฌ๋ ์ด๋ฐ ๋ฐฉ์์ผ๋ก ์ค์ํ ๋ฒ๊ทธ๋ฅผ ์ก์๋๋๋ฐ, ์ง๋ ์ฃผ ๋ก๊ทธ๋ฅผ ๋ณด๊ณ ๋นจ๊ฐ ์คํ์ดํฌ๋ฅผ ๋ณด์์ต๋๋ค.
๋ฌผ๋ก ์ด์์ ์ผ๋ก๋ ์ด๋ฌํ ์ค๋ฅ์ ๋ํ ๊ฒฝ๊ณ ๋ฅผ ์ค์ ํ๋ ๊ฒ์ ๋๋ค. ์๋ํ๋ฉด ์ฐ๋ฆฌ๋ ์ด๋ฏธ ์ด์ ๋ํ ๋ชจ๋ ๊ฒ์ ๊ฐ์ถ๊ณ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ฐ๋ฆฌ๋ ์ด ๊ธฐ๋ฅ์ ํ๋์ ์ผฐ์ง๋ง ํ์ผ๋ฟ์ ์ค๋นํ๋ ๊ณผ์ ์์ ๊ฝค ๋ง์ ์ค๋ฅ(LTE ๋คํธ์ํฌ๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ฒ๊ณผ ๊ฐ์ ์์คํ ์ค๋ฅ ํฌํจ)๊ฐ ๋ฐ์ํ์ฌ Slack ์ฑ๋์๋ "์คํธ"์ด ๋ฐ์ํ๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค. ์๋ฌด๋ฐ ๋ฌธ์ ๋ ์ผ์ผํค์ง ์๊ณ ์์ฃผ ํฐ ํํ์ ์ค๋๋ค.
์ฌ๋ฐ๋ฅธ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ด๋ฌํ ์ ํ์ ์ค๋ฅ ๋๋ถ๋ถ์ ์ฒ๋ฆฌํ๊ณ ์ฌ๊ฐ๋๋ฅผ ์กฐ์ ํ ๋ค์ ๊ฒฝ๊ณ ๋ฅผ ํ์ฑํํ๋ ๊ฒ์ ๋๋ค.
์ด๋ ๊ฒ ํ๋ฉด ์๋กญ๊ฑฐ๋ ์ค์ํ ์ค๋ฅ๋ง Slack์ ๊ฒ์๋ฉ๋๋ค. ๋ง๊ฐ ๊ธฐํ์ด ์ด๋ฐํ๊ธฐ ๋๋ฌธ์ ๊ทธ๋ฌํ ์ค์ ์ ์ํ ์๊ฐ์ด ์ถฉ๋ถํ์ง ์์์ต๋๋ค.
์ธ์ฆ
Chronograf๊ฐ ์ธ์ฆ์ผ๋ก OAuth ๋ฐ OIDC๋ฅผ ์ง์ํ๋ค๋ ์ ๋ ์ธ๊ธํ ๊ฐ์น๊ฐ ์์ต๋๋ค.
์ด๋ ์๋ฒ์ ์ฝ๊ฒ ์ฐ๊ฒฐํ๊ณ ๋ณธ๊ฒฉ์ ์ธ SSO๋ฅผ ์์ฑํ ์ ์์ผ๋ฏ๋ก ๋งค์ฐ ํธ๋ฆฌํฉ๋๋ค.
์ฐ๋ฆฌ์ ๊ฒฝ์ฐ ์๋ฒ๋
"๊ด๋ฆฌ์"
์ ๊ฐ ์ค๋ช
ํ ๋ง์ง๋ง ๊ตฌ์ฑ ์์๋ Vue์์ ์์ฒด ์์ฑํ "๊ด๋ฆฌ์ ํจ๋"์
๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ์ด๋ ์์ฒด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ค์ฟ ํฐ ์ ๋ณด, ๋ง์ดํฌ๋ก์๋น์ค ๋ฐ InfluxDB์ ์ธก์ ๋ฐ์ดํฐ๋ฅผ ๋์์ ํ์ํ๋ ๋
๋ฆฝํ ์๋น์ค์
๋๋ค.
๋ํ ๊ธด๊ธ ์ฌ๋ถํ ์ด๋ ์ง์ํ์ ์ํ ์๊ฒฉ ์ ๊ธ ํด์ ๋ฑ ๋ง์ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ด ์ด๊ณณ์ผ๋ก ์ฎ๊ฒจ์ก์ต๋๋ค.
์ง๋๋ ์์์ด์. ์ ๋ ์ด๋ฏธ Chronograf ๋์ Grafana๋ก ์์ํ๋ค๊ณ ์ธ๊ธํ์ต๋๋ค. ์๋ํ๋ฉด Grafana ์ง๋๋ ์ค์ฟ ํฐ์ ์ขํ๋ฅผ ๋ณผ ์ ์๋ ํ๋ฌ๊ทธ์ธ ํํ๋ก ์ ๊ณต๋๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ถํํ๊ฒ๋ Grafana์ฉ ์ง๋ ์์ ฏ์ ๊ธฐ๋ฅ์ ๋งค์ฐ ์ ํ๋์ด ์์ผ๋ฏ๋ก ํ์ฌ ์ขํ๋ฅผ ๋ณผ ์ ์์ ๋ฟ๋ง ์๋๋ผ ์ค์ฟ ํฐ๊ฐ ์ด๋ํ ๊ฒฝ๋ก, ์ง๋์ ๋ฐ์ดํฐ ํํฐ๋ง ๋ฑ์ด ๊ฐ๋ฅํฉ๋๋ค(๊ฐ๋จํ ๋์๋ณด๋์์๋ ๊ตฌ์ฑํ ์ ์์๋ ๋ชจ๋ ๊ธฐ๋ฅ).
์ด๋ฏธ ์ธ๊ธํ Influx์ ์ฅ์ ์ค ํ๋๋ ์์ ๋ง์ ์ธก์ ํญ๋ชฉ์ ์ฝ๊ฒ ์์ฑํ ์ ์๋ค๋ ๊ฒ์
๋๋ค.
์ด๋ฅผ ํตํด ๋งค์ฐ ๋ค์ํ ์๋๋ฆฌ์ค์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ฐฐํฐ๋ฆฌ ์ถฉ์ , ์ ๊ธ ์ํ, ์ผ์ ์ฑ๋ฅ, ๋ธ๋ฃจํฌ์ค, GPS ๋ฐ ๊ธฐํ ์ฌ๋ฌ ์ํ ์ ๊ฒ ๋ฑ ์ ์ฉํ ์ ๋ณด๋ฅผ ๋ชจ๋ ๊ธฐ๋กํ๋ ค๊ณ ํ์ต๋๋ค.
์ฐ๋ฆฌ๋ ์ด ๋ชจ๋ ๊ฒ์ ๊ด๋ฆฌ์ ํจ๋์ ํ์ํ์ต๋๋ค.
๋ฌผ๋ก ์ฐ๋ฆฌ์๊ฒ ๊ฐ์ฅ ์ค์ํ ๊ธฐ์ค์ ์ค์ฟ ํฐ์ ์๋ ์ํ์์ต๋๋ค. ์ค์ ๋ก Influx๋ ์ด๋ฅผ ์์ฒด์ ์ผ๋ก ํ์ธํ๊ณ ๋ ธ๋ ์น์ ์ "๋ น์ ํ์๋ฑ"์ผ๋ก ํ์ํฉ๋๋ค.
์ด๋ ํจ์์ ์ํด ์ํ๋ฉ๋๋ค.
๊ทธ๊ฑด ๊ทธ๋ ๊ณ , ์ฐ๋ฆฌ๋ The Simpsons์ ์บ๋ฆญํฐ ์ด๋ฆ์ ๋ฐ์ ์ค์ฟ ํฐ ์ด๋ฆ์ ์ง์ ํ์ต๋๋ค. ์๋ก ๊ตฌ๋ณํ๋ ๊ฒ์ด ๋งค์ฐ ํธ๋ฆฌํ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ผ๋ฐ์ ์ผ๋ก ์ด ๋ฐฉ๋ฒ์ด ๋ ์ฌ๋ฏธ์์์ต๋๋ค. "์๋ค์, ์ค๋ฏธ๋์ค๊ฐ ์ฃฝ์์ด!" ๊ฐ์ ๋ง์ด ๋์์์ด ๋ค๋ ค์๋ค.
๋ฌธ์์ด ์ธก์ ํญ๋ชฉ
InfluxDB๋ฅผ ์ฌ์ฉํ๋ฉด Victoria Metrics์ ๊ฒฝ์ฐ์ฒ๋ผ ์ซ์ ๊ฐ๋ง ์ ์ฅํ ์ ์๋ ๊ฒ์ด ์๋๋๋ค.
์ด๊ฒ์ ๊ทธ๋ค์ง ์ค์ํ์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค. ๊ฒฐ๊ตญ ๋ก๊ทธ ์ธ์๋ ๋ชจ๋ ์ธก์ ํญ๋ชฉ์ ์ซ์ ํ์์ผ๋ก ์ ์ฅ๋ ์ ์์ต๋๋ค(์๋ ค์ง ์ํ์ ๋ํ ๋งคํ์ ์ถ๊ฐํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค(์ผ์ข ์ ์ด๊ฑฐํ)).
์ฐ๋ฆฌ์ ๊ฒฝ์ฐ ๋ฌธ์์ด ๋ฉํธ๋ฆญ์ด ๋งค์ฐ ์ ์ฉํ ์๋๋ฆฌ์ค๊ฐ ํ๋ ์ด์ ์์์ต๋๋ค.
์ฐ์ฐํ ์ฐ๋ฆฌ์ "์ค๋งํธ ์ถฉ์ ๊ธฐ" ๊ณต๊ธ์
์ฒด๊ฐ ์ XNUMX์์๊ธฐ ๋๋ฌธ์ ์ฐ๋ฆฌ๋ ์ด๋ฌํ ์ถฉ์ ๊ธฐ๊ฐ ์ ๊ณตํ ์ ์๋ ๊ฐ๋ฐ ํ๋ก์ธ์ค์ ์ ๋ณด๋ฅผ ํต์ ํ ์ ์์์ต๋๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก ๊ณผ๊ธ API๋ ์ด์์ ์ด์ง๋ ์์์ง๋ง, ๊ฐ์ฅ ํฐ ๋ฌธ์ ๋ ์ฐ๋ฆฌ๊ฐ ๊ทธ ์ํ๋ฅผ ํญ์ ์ดํดํ ์ ์๋ค๋ ์ ์ด์์ต๋๋ค.
์ด๊ฒ์ด Influx๊ฐ ๊ตฌ์ถ๋ ๊ณณ์ ๋๋ค. ์ฐ๋ฆฌ๋ ๋ณ๊ฒฝ ์์ด InfluxDB ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ๋์ ์ ๊ณต๋ ๋ฌธ์์ด ์ํ๋ฅผ ๊ฐ๋จํ ์์ฑํ์ต๋๋ค.
ํ๋์ ๊ด๋ฆฌ์ ํจ๋์ ํ์๋๋ ์ ๋ณด์ ๋ฐ๋ผ "์จ๋ผ์ธ" ๋ฐ "์คํ๋ผ์ธ"๊ณผ ๊ฐ์ ๊ฐ๋ง ํ์๋๊ณ ์๋ฆผ์ด Slack์ผ๋ก ์ ์ก๋์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ์ด๋ ์๊ฐ ๊ฑฐ๊ธฐ์๋ '์ฐ๊ฒฐ์ด ๋์ด์ก๋ค' ๊ฐ์ ๊ฐ์น๊ด์ด ๋ํ๋๊ธฐ ์์ํ๋ค.
๋์ค์ ๋ฐํ์ง ๋ฐ์ ๊ฐ์ด, ์ด ์ํ๋ ์ถฉ์ ๊ธฐ๊ฐ ํน์ ํ์์ ์๋ ํ์๋ ์๋ฒ์ ์ฐ๊ฒฐ์ ์ค์ ํ ์ ์๋ ๊ฒฝ์ฐ ์ฐ๊ฒฐ์ด ๋์ด์ง ํ ํ ๋ฒ ์ ์ก๋์์ต๋๋ค.
๋ฐ๋ผ์ ๊ณ ์ ๋ ๊ฐ ์ธํธ๋ง ์ฌ์ฉํ ๊ฒฝ์ฐ ํ์จ์ด์์ ์ด๋ฌํ ๋ณ๊ฒฝ ์ฌํญ์ด ์ ์์ ํ์๋์ง ์์ ์ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ผ๋ฐ์ ์ผ๋ก ๋ฌธ์์ด ๋ฉํธ๋ฆญ์ ํจ์ฌ ๋ ๋ง์ ์ฌ์ฉ ๊ฐ๋ฅ์ฑ์ ์ ๊ณตํ๋ฏ๋ก ์ค์ ๋ก ๋ชจ๋ ์ ๋ณด๋ฅผ ๊ธฐ๋กํ ์ ์์ต๋๋ค. ๋ฌผ๋ก ์ด ๋๊ตฌ๋ ์ฃผ์ ๊น๊ฒ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
์ผ๋ฐ์ ์ธ ์ธก์ ํญ๋ชฉ ์ธ์๋ InfluxDB์ GPS ์์น ์ ๋ณด๋ ๊ธฐ๋กํ์ต๋๋ค. ์ด๋ ๊ด๋ฆฌ์ ํจ๋์์ ์ค์ฟ ํฐ ์์น๋ฅผ ๋ชจ๋ํฐ๋งํ๋ ๋ฐ ๋งค์ฐ ์ ์ฉํ์ต๋๋ค.
์ฌ์ค ์ฐ๋ฆฌ๋ ํ์ํ ์๊ฐ์ ์ด๋ค ์ค์ฟ ํฐ๊ฐ ์ด๋์ ์๋์ง ํญ์ ์๊ณ ์์์ต๋๋ค.
์ด๋ ์ฐ๋ฆฌ๊ฐ ์ค์ฟ ํฐ๋ฅผ ์ฐพ์ ๋ ๋งค์ฐ ์ ์ฉํ์ต๋๋ค(๋ง์ง๋ง ๊ฒฐ๋ก ์ฐธ์กฐ).
์ธํ๋ผ ๋ชจ๋ํฐ๋ง
์ค์ฟ ํฐ ์์ฒด ์ธ์๋ ์ ์ฒด(๋ค์ ๊ด๋ฒ์ํ) ์ธํ๋ผ๋ฅผ ๋ชจ๋ํฐ๋งํด์ผ ํ์ต๋๋ค.
๋งค์ฐ ์ผ๋ฐ์ ์ธ ์ํคํ ์ฒ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์์ ๋ชจ๋ํฐ๋ง ์คํ์ ๊ฐ์กฐํ์ํ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ฐ๋ฆฌ๊ฐ ํด๋ผ์ฐ๋์์ ํ์ธํ๊ณ ์ถ์ ๊ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๋ฐ์ดํฐ ๋ฒ ์ด์ค
- ์ด์ ๋งํ
- ๋ง์ดํฌ๋ก์๋น์ค
์ฐ๋ฆฌ์ ๋ชจ๋ ํด๋ผ์ฐ๋ ์๋น์ค๋ Kubernetes์ ์์ผ๋ฏ๋ก ํด๋น ์ํ์ ๋ํ ์ ๋ณด๋ฅผ ์์งํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋คํ์ค๋ฝ๊ฒ๋ Telegraf๋ ์ฆ์ ์ฌ์ฉ ๊ฐ๋ฅํ๋ฉฐ Kubernetes ํด๋ฌ์คํฐ ์ํ์ ๋ํ ์๋ง์ ์งํ๋ฅผ ์์งํ ์ ์์ผ๋ฉฐ Chronograf๋ ์ด๋ฅผ ์ํ ์๋ฆ๋ค์ด ๋์๋ณด๋๋ฅผ ์ฆ์ ์ ๊ณตํฉ๋๋ค.
์ฐ๋ฆฌ๋ ์ฃผ๋ก ํฌ๋์ ์ฑ๋ฅ๊ณผ ๋ฉ๋ชจ๋ฆฌ ์๋น๋ฅผ ๋ชจ๋ํฐ๋งํ์ต๋๋ค. ๋์ด์ง๋ฉด Slack์์ ๊ฒฝ๊ณ ํฉ๋๋ค.
Kubernetes์์ Pod๋ฅผ ์ถ์ ํ๋ ๋ฐฉ๋ฒ์๋ DaemonSet๊ณผ Sidecar๋ผ๋ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
๋ ๋ฐฉ๋ฒ ๋ชจ๋ ์์ธํ ์ค๋ช
๋์ด ์์ต๋๋ค.
Telegraf Sidecar๋ฅผ ์ฌ์ฉํ์ผ๋ฉฐ ์ธก์ ํญ๋ชฉ ์ธ์๋ Pod ๋ก๊ทธ๋ฅผ ์์งํ์ต๋๋ค.
์ฐ๋ฆฌ์ ๊ฒฝ์ฐ์๋ ๋ก๊ทธ๋ฅผ ์์ ํด์ผ ํ์ต๋๋ค. Telegraf๊ฐ Docker API์์ ๋ก๊ทธ๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๋ค๋ ์ฌ์ค์๋ ๋ถ๊ตฌํ๊ณ ์ฐ๋ฆฌ๋ ์ต์ข ์ฅ์น์ ๊ท ์ผํ ๋ก๊ทธ ์ปฌ๋ ์ ์ ๊ฐ๊ณ ์ถ์๊ณ ์ด๋ฅผ ์ํด ์ปจํ ์ด๋์ฉ syslog๋ฅผ ๊ตฌ์ฑํ์ต๋๋ค. ์๋ง๋ ์ด ์๋ฃจ์ ์ ์๋ฆ๋ต์ง๋ ์์์ง๋ง ์์ ์ ๋ํ ๋ถ๋ง์ ์์๊ณ Chronograf์์๋ ๋ก๊ทธ๊ฐ ์ ํ์๋์์ต๋๋ค.
๋ชจ๋ํฐ ๋ชจ๋ํฐ๋ง???
๊ฒฐ๊ตญ ๋ชจ๋ํฐ๋ง ์์คํ ๋ชจ๋ํฐ๋ง์ ๋ํ ์ค๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง๋ง ๋คํ์ค๋ฝ๊ฒ๋ ์ํ๊น๊ฒ๋ ์ด์ ๋ํ ์๊ฐ์ด ์ถฉ๋ถํ์ง ์์์ต๋๋ค.
Telegraf๋ ์์ฒด ๋ฉํธ๋ฆญ์ ์ฝ๊ฒ ๋ณด๋ด๊ฑฐ๋ ๋์ผํ Influx ๋๋ ๋ค๋ฅธ ๊ณณ์ผ๋ก ๋ณด๋ด๊ธฐ ์ํด InfluxDB ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฉํธ๋ฆญ์ ์์งํ ์ ์์ต๋๋ค.
์กฐ์ฌ ๊ฒฐ๊ณผ
ํ์ผ๋ฟ ๊ฒฐ๊ณผ์์ ์ด๋ค ๊ฒฐ๋ก ์ ์ป์์ต๋๊น?
๋ชจ๋ํฐ๋ง์ ์ด๋ป๊ฒ ํ ์ ์๋์?
์ฐ์ , TICK ์คํ์ ์ฐ๋ฆฌ์ ๊ธฐ๋๋ฅผ ์์ ํ ์ถฉ์กฑ์์ผฐ๊ณ ์ฐ๋ฆฌ๊ฐ ์ฒ์์ ๊ธฐ๋ํ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ๋ ๋ง์ ๊ธฐํ๋ฅผ ์ ๊ณตํ์ต๋๋ค.
์ฐ๋ฆฌ์๊ฒ ํ์ํ ๋ชจ๋ ๊ธฐ๋ฅ์ด ์กด์ฌํ์ต๋๋ค. ์ฐ๋ฆฌ๊ฐ ํ ๋ชจ๋ ์ผ์ ๋ฌธ์ ์์ด ์๋ํ์ต๋๋ค.
ะัะพะธะทะฒะพะดะธัะตะปัะฝะพััั
๋ฌด๋ฃ ๋ฒ์ ์ TICK ์คํ์ ์ฃผ์ ๋ฌธ์ ์ ์ ํ์ฅ ๊ธฐ๋ฅ์ด ๋ถ์กฑํ๋ค๋ ๊ฒ์ ๋๋ค. ์ด๊ฒ์ ์ฐ๋ฆฌ์๊ฒ ๋ฌธ์ ๊ฐ ๋์ง ์์์ต๋๋ค.
์ ํํ ํ์ค ๋ฐ์ดํฐ/์์น๋ฅผ ์์งํ์ง๋ ์์์ง๋ง, ํ ๋ฒ์ ์ฝ 30๋์ ์ค์ฟ ํฐ๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ์์งํ์ต๋๋ค.
๊ทธ๋ค ๊ฐ๊ฐ์ 10๊ฐ ์ด์์ ์งํ๋ฅผ ์์งํ์ต๋๋ค. ๋์์ ๊ธฐ๊ธฐ์ ๋ก๊ทธ๊ฐ ์์ง๋์์ต๋๋ค. ๋ฐ์ดํฐ ์์ง ๋ฐ ์ ์ก์ XNUMX์ด๋ง๋ค ์ด๋ฃจ์ด์ก์ต๋๋ค.
์ผ์ฃผ์ผ ๋ฐ ๋์์ ํ์ผ๋ฟ ์ดํ, ๋๋ถ๋ถ์ "์ด๋ฆฐ ์์ ์ ์์ฒ"๊ฐ ์์ ๋๊ณ ๊ฐ์ฅ ์ค์ํ ๋ฌธ์ ๊ฐ ์ด๋ฏธ ํด๊ฒฐ๋์์ ๋ ์๋ฒ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ๋น๋๋ฅผ ์ค์ฌ์ผ ํ๋ค๋ ์ ์ ์ ์ํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. 30 ์ด. LTE SIM ์นด๋์ ํธ๋ํฝ์ด ๋น ๋ฅด๊ฒ ์ฌ๋ผ์ง๊ธฐ ์์ํ๊ธฐ ๋๋ฌธ์ ์ด๋ ํ์ํด์ก์ต๋๋ค.
ํธ๋ํฝ์ ๋๋ถ๋ถ์ ๋ก๊ทธ์ ์ํด ์๋น๋์์ผ๋ฉฐ, ์งํ ์์ฒด๋ 10์ด ๊ฐ๊ฒฉ์ผ๋ก๋ ์ค์ ๋ก ๋ญ๋น๋์ง ์์์ต๋๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก ์ง์์ ์ธ ์์ง ์์ด๋ ํน์ ๋ฌธ์ ๊ฐ ์ด๋ฏธ ๋ช ๋ฐฑํ๊ธฐ ๋๋ฌธ์ ์ผ์ ์๊ฐ์ด ์ง๋ ํ ์ฅ์น์ ๋ก๊ทธ ์์ง์ ์์ ํ ๋นํ์ฑํํ์ต๋๋ค.
์ด๋ค ๊ฒฝ์ฐ์๋ ์ฌ์ ํ ๋ก๊ทธ ๋ณด๊ธฐ๊ฐ ํ์ํ ๊ฒฝ์ฐ VPN์ ํตํด WireGuard๋ฅผ ํตํด ์ฐ๊ฒฐํ์ต๋๋ค.
๋ํ ์ฐ๋ฆฌ๊ฐ ๊ฐ์ง๊ณ ์๋ ๊ฐ๊ฐ์ ๊ฐ๋ณ ํ๊ฒฝ์ ์๋ก ๋ถ๋ฆฌ๋์ด ์์๊ณ ์์์ ์ค๋ช ํ ๋ก๋๋ ํ๋ก๋์ ํ๊ฒฝ์๋ง ๊ด๋ จ์ด ์๋ค๋ ์ ์ ๋ง๋ถ์ผ ๊ฒ์ ๋๋ค.
๊ฐ๋ฐ ํ๊ฒฝ์์๋ 10์ด๋ง๋ค ๊ณ์ ๋ฐ์ดํฐ๋ฅผ ์์งํ๋ ๋ณ๋์ InfluxDB ์ธ์คํด์ค๋ฅผ ์์ฑํ๋๋ฐ ์ฑ๋ฅ ๋ฌธ์ ๋ ๋ฐ์ํ์ง ์์์ต๋๋ค.
TICK - ์ค์ ๊ท๋ชจ ํ๋ก์ ํธ์ ์ด์์
์ด ์ ๋ณด๋ฅผ ๋ฐํ์ผ๋ก TICK ์คํ์ ์๋์ ์ผ๋ก ์์ ํ๋ก์ ํธ๋ HighLoad๊ฐ ์ ํ ์์๋์ง ์๋ ํ๋ก์ ํธ์ ์ด์์ ์ด๋ผ๋ ๊ฒฐ๋ก ์ ๋ด๋ฆด ์ ์์ต๋๋ค.
์์ฒ ๊ฐ์ ํฌ๋๋ ์๋ฐฑ ๊ฐ์ ๋จธ์ ์ด ์๋ค๋ฉด ํ๋์ InfluxDB ์ธ์คํด์ค๋ผ๋ ๋ก๋๋ฅผ ์ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
์ด๋ค ๊ฒฝ์ฐ์๋ ๊ธฐ๋ณธ ๊ณ ๊ฐ์ฉ์ฑ ์๋ฃจ์ ์ธ Influx Relay์ ๋ง์กฑํ์ค ์๋ ์์ต๋๋ค.
๋ฌผ๋ก "์์ง์ " ํ์ฅ์ ์ค์ ํ๊ณ ๋จ์ํ ๋ค์ํ ์ ํ์ ๋ฉํธ๋ฆญ์ ๋ํด ๋ค์ํ ์๋ฒ๋ฅผ ํ ๋นํ๋ ๊ฒ์ ๋๊ตฌ๋ ๋ง์ง ๋ชปํฉ๋๋ค.
๋ชจ๋ํฐ๋ง ์๋น์ค์ ์์ ๋ก๋๊ฐ ํ์คํ์ง ์๊ฑฐ๋ ๋งค์ฐ "๋ฌด๊ฑฐ์ด" ์ํคํ ์ฒ๋ฅผ ๊ฐ๊ฒ ๋ ๊ฒ์ด ํ์คํ๋ค๋ฉด TICK ์คํ์ ๋ฌด๋ฃ ๋ฒ์ ์ ์ฌ์ฉํ์ง ์๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ฌผ๋ก ๊ฐ๋จํ ํด๊ฒฐ์ฑ
์ ๊ตฌ๋งคํ๋ ๊ฒ์
๋๋ค.
์ด๋ฐ ๊ฒฝ์ฐ ์ค๋์ Victoria Metrics๋ฅผ ํตํด ์งํ๋ฅผ ์์งํ๊ณ Loki๋ฅผ ์ฌ์ฉํ์ฌ ๋ก๊ทธ๋ฅผ ์์งํ๋ ๋ฐฉ๋ฒ์ ์ดํด๋ณด๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ฌ์ค, Loki/Grafana๋ ๊ธฐ์ฑํ TICK๋ณด๋ค ํจ์ฌ ๋ ํธ๋ฆฌํ์ง๋ง(๋ ํฐ ๋ค์์ฑ์ผ๋ก ์ธํด) ๋ฌด๋ฃ๋ผ๋ ์ ์ ๋ค์ ํ ๋ฒ ๋ง์๋๋ฆฝ๋๋ค.
์ค์ํ ์ผ์ด์ผ: ์ฌ๊ธฐ์ ์ค๋ช ๋ ๋ชจ๋ ์ ๋ณด๋ Influx 1.8์ด ๊ณง ์ถ์๋ ์์ ์ธ Influx 2.0 ๋ฒ์ ๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค.
์ ํฌ ์ํฉ์์ ์๋ํด ๋ณผ ๊ธฐํ๊ฐ ์์๊ณ ๊ฐ์ ์ ๋ํ ๊ฒฐ๋ก ์ ๋ด๋ฆฌ๊ธฐ๋ ์ด๋ ต์ง๋ง ์ธํฐํ์ด์ค๋ ํ์คํ ํจ์ฌ ์ข์์ก๊ณ ์ํคํ
์ฒ๋ ๋จ์ํ๋์์ต๋๋ค(kapacitor ๋ฐ chronograf ์์).
ํ
ํ๋ฆฟ์ด ๋ํ๋ฌ์ต๋๋ค("ํฌ๋ฌ ๊ธฐ๋ฅ" -
์ด ๊ธฐ๋ฅ์ Influx 2.0์๋ ๋ํ๋ ์์ ์ด์ง๋ง ๋๋ต์ ์ธ ๋ง๊ฐ ๊ธฐํ์ ๋ฌผ๋ก ์ด๊ณ ๋ง๊ฐ ๊ธฐํ๋ ์ฐพ์ ์ ์์ต๋๋ค.
IoT ํ๋ซํผ์ ๋ง๋ค์ง ์๋ ๋ฐฉ๋ฒ (์ง๊ธ)
๊ฒฐ๊ตญ ํ์ผ๋ฟ์ ์์ํ ํ ์ฐ๋ฆฌ ํ์ค์ ์ ํฉํ ๋์์ด ์๋ ์ํฉ์์ ์ฐ๋ฆฌ๋ ๋ณธ๊ฒฉ์ ์ธ IoT ์คํ์ ์ง์ ์กฐ๋ฆฝํ์ต๋๋ค.
๊ทธ๋ฌ๋ ์ต๊ทผ์๋ ๋ฒ ํ ๋ฒ์ ์ผ๋ก ์ ๊ณต๋ฉ๋๋ค.
์ฐ๋ฆฌ๋ ์ต์ข ๊ฒฐ๊ณผ์ ์ฐ๋ฆฌ๊ฐ ์ง์ ์กฐ๋ฆฝํ Ansible + TICK + WireGuard ๊ธฐ๋ฐ ํ๋ซํผ์ ์์ ํ ๋ง์กฑํฉ๋๋ค. ํ์ง๋ง ์ค๋์ IoT ํ๋ซํผ์ ์ง์ ๊ตฌ์ถํ๊ธฐ ์ ์ Balena๋ฅผ ์์ธํ ์ดํด๋ณด๋ ๊ฒ์ด ์ข์ต๋๋ค.
์๋ํ๋ฉด ๊ถ๊ทน์ ์ผ๋ก ์ฐ๋ฆฌ๊ฐ ํ๋ ์ผ์ ๋๋ถ๋ถ์ ์ํํ ์ ์๊ณ OpenBalena๋ ๋ฌด๋ฃ์ด๋ฉฐ ์คํ ์์ค์ด๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ ๋ฐ์ดํธ๋ฅผ ๋ณด๋ด๋ ๋ฐฉ๋ฒ์ ์ด๋ฏธ ์๊ณ ์์ ๋ฟ๋ง ์๋๋ผ IoT ํ๊ฒฝ์์ ์ฌ์ฉํ ์ ์๋๋ก VPN์ด ์ด๋ฏธ ๋ด์ฅ๋์ด ๋ง์ถคํ๋์ด ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ต๊ทผ์๋ ์ฌ์ง์ด
์ ๊ธฐ, ์ฌ๋ผ์ง ์ค์ฟ ํฐ๋ ์ด์ฉ๊ณ ?
๊ทธ๋์ ์ค์ฟ ํฐ "๋ํ"๋ ํ์ ๋ ์์ด ์ฌ๋ผ์ก์ต๋๋ค.
์ฐ๋ฆฌ๋ ์ฆ์ InfluxDB์ GPS ์ธก์ ๋ฐ์ดํฐ๊ฐ ํฌํจ๋ "๊ด๋ฆฌ์ ํจ๋"์ ์ง๋๋ฅผ ๋ณด๊ธฐ ์ํด ๋ฌ๋ ค๊ฐ์ต๋๋ค.
๋ชจ๋ํฐ๋ง ๋ฐ์ดํฐ ๋๋ถ์ ์ฐ๋ฆฌ๋ ์ค์ฟ ํฐ๊ฐ ์ด์ 21์์ฏค ์ฃผ์ฐจ์ฅ์ ๋ ๋ ์ด๋ค ์ง์ญ์ผ๋ก 00๋ถ ์ ๋ ์ด์ ํ ๋ค ์ค์ 5์๊น์ง ๋ ์ผ์ ์ด๋ค ์ง ์์ ์ฃผ์ฐจ๋์ด ์๋ค๋ ๊ฒ์ ์ฝ๊ฒ ์์๋์ต๋๋ค.
์ค์ 5์ ์ดํ์๋ ๋ชจ๋ํฐ๋ง ๋ฐ์ดํฐ๊ฐ ์์ ๋์ง ์์์ต๋๋ค. ์ด๋ ์ถ๊ฐ ๋ฐฐํฐ๋ฆฌ๊ฐ ์์ ํ ๋ฐฉ์ ๋์๊ฑฐ๋ ๊ณต๊ฒฉ์๊ฐ ๋ง์นจ๋ด ์ค์ฟ ํฐ์์ ์ค๋งํธ ํ๋์จ์ด๋ฅผ ์ ๊ฑฐํ๋ ๋ฐฉ๋ฒ์ ์์๋๋ค๋ ์๋ฏธ์
๋๋ค.
๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ๊ฒฝ์ฐฐ์ ์ฌ์ ํ โโ์ค์ฟ ํฐ๊ฐ ์๋ ์ฃผ์๋ก ์ถ๋ํ์ต๋๋ค. ์ค์ฟ ํฐ๋ ๊ฑฐ๊ธฐ์ ์์์ต๋๋ค.
๊ทธ๋ฐ๋ฐ ์ง์ฃผ์ธ๋ ์ด์ ฏ๋ฐค์ ์ค์ ๋ก ์ด ์ค์ฟ ํฐ๋ฅผ ํ๊ณ ์ฌ๋ฌด์ค์์ ์ง์ผ๋ก ๋์์๊ธฐ ๋๋ฌธ์ ์ด์ ๋๋์ต๋๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก ์ง์ ์ง์ ์ค ํ ๋ช ์ด ์์นจ ์ผ์ฐ ๋์ฐฉํ์ฌ ์ค์ฟ ํฐ๋ฅผ ํฝ์ ํ๊ณ , ์ถ๊ฐ ๋ฐฐํฐ๋ฆฌ๊ฐ ์์ ํ ๋ฐฉ์ ๋ ๊ฒ์ ํ์ธํ๊ณ (๋๋ณด๋ก) ์ฃผ์ฐจ์ฅ์ผ๋ก ๊ฐ์ ธ๊ฐ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ถ๊ฐ ๋ฐฐํฐ๋ฆฌ๋ ์ต๊ธฐ๋ก ์ธํด ๊ณ ์ฅ์ด ๋ฌ์ต๋๋ค.
์ฐ๋ฆฌ๋ ์ค์ฟ ํฐ๋ฅผ ์ฐ๋ฆฌ ์์ ์๊ฒ์ ํ์ณค์ต๋๋ค. ๊ทธ๊ฑด ๊ทธ๋ ๊ณ , ๊ฒฝ์ฐฐ ์ฌ๊ฑด์ ๋ฌธ์ ๋ฅผ ๋๊ฐ ์ด๋ป๊ฒ ํด๊ฒฐํ๋์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง ๋ชจ๋ํฐ๋ง์ ์๋ฒฝํ๊ฒ ์๋ํ์ต๋๋ค ...
์ถ์ฒ : habr.com