6. prometheus oauth2

prometheus๊ฐ€ ์ธ์ฆ์—†์ด ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์™ธ๋ถ€์— ์˜คํ”ˆํ•˜๋ฉด ์•ˆ๋˜๊ธฐ๋•Œ๋ฌธ์— ์ธ์ฆ์„ ๋„ฃ์–ด์•ผํ•œ๋‹ค.

basic์œผ๋กœ ์ฒ˜๋ฆฌ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‚œ oauth2๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •

oauth2๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” oauth2_proxy๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ prometheus์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์•ผ ํ•œ๋‹ค.

flow diagram

nginx proxy๊ฐ€ ํŠธ๋ž˜ํ”ฝ์„ oauth2-proxy ๋กœ ๋ณด๋‚ธ๋‹ค. ๋กœ๊ทธ์ธ์ •๋ณด๊ฐ€ ์—†์œผ๋ฉด ๋กœ๊ทธ์ธ ํ™”๋ฉด์„ ๋ณด์—ฌ์ค€๋‹ค. ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด auth0.com์œผ๋กœ ๊ฐ€์„œ ๋กœ๊ทธ์ธ์„ ํ•œํ›„ ๋‹ค์‹œ oauth2-proxy๋กœ ๋Œ์•„์˜จ๋‹ค. ์ด์ œ ๋กœ๊ทธ์ธ์ด ์„ฑ๊ณตํ•˜์˜€์œผ๋ฏ€๋กœ oauth2-proxy๋Š” ํŠธ๋ž˜ํ”ฝ์„ prometheus๋กœ ๋ณด๋‚ธ๋‹ค.

nginx์—์„œ๋Š” ssl์„ ์ถ”๊ฐ€ํ•ด๋‘๊ธฐ ๋ฐ”๋ž€๋‹ค.

auth0.com

์•ฑ์„๋งŒ๋“ค๊ณ  callback url์„ ์„ค์ •ํ•œ๋‹ค.

secret/clientid๋ฅผ ์ ์–ด๋‘”๋‹ค.

oauth2_proxy

https://oauth2-proxy.github.io/oauth2-proxy/docs/arrow-up-right

์ด๊ฑธ ์•„๋ž˜ ํŒŒ์ผ์— ๋„ฃ๋Š”๋‹ค.

docker-compose

https://github.com/teamsmiley/devops-public/blob/main/monitoring/6.prometheus-oauth/docker-compose.yamlarrow-up-right

nginx config

ํ™•์ธ

๋„์ปค๊ฐ€ ์‹คํ–‰๋˜๊ณ  ๋‚˜๋ฉด https://prom.your-domain.comarrow-up-right์— ์ ‘์†ํ•˜๋ฉด ๋กœ๊ทธ์ธ ํ™”๋ฉด์ด ๋‚˜์˜จ๋‹ค.

signin์„ ๋ˆ„๋ฅด๋ฉด auth0์—์„œ ๋กœ๊ทธ์ธ์„ ํ•˜๊ณ  ๋‹ค์‹œ prometheus๋กœ ๋Œ์•„์˜จ๋‹ค.

์ด์ œ prometheusํ™”๋ฉด์ด ๋ณด์ธ๋‹ค.

error

๋งŒ์•ฝ ๋‹ค์Œ ํ™”๋ฉด์„ ๋ณด๊ฒŒ ๋œ๋‹ค๋ฉด oauth0-proxy์™€ prometheus๊ฐ€ ์„œ๋กœ ํ†ต์‹ ์ด ์•ˆ๋˜๋Š”๊ฒƒ์ด๋‹ค.

์„ค์ •์„ ํ™•์ธํ•ด์„œ ์ˆ˜์ •ํ•˜์ž.

Last updated

Was this helpful?