supervisord, nginx, nodejs api ๋ฐ sidekiq๋ฅผ ์ฌ์ฉํ์ฌ 3 ๊ฐ์ ํ๋ก์ธ์ค๋ฅผ ์คํํ๊ณ ์์ต๋๋ค. ์ด์จ๋ ๋์ค์ nodejs api ๋๋ sidekiq ๋ฑ์์ ์ค๋ ๋ก๊ทธ ๋ง ํํฐ๋ง ํ ์ ์๋๋ก ๋ก๊ทธ์ ํ๊ทธ๋ฅผ ์ง์ ํ ์ ์์ต๋๊น?
ํธ์งํ๋ค
๋์ปค ์ปจํ ์ด๋ ๋ด์์ ์คํํ๊ณ ์๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ๋ก๊ทธ๊ฐ stdout์ ๋ค์ด๊ฐ๊ธฐ๋ฅผ ์ํฉ๋๋ค.
๊ฐ์ฌ
supervisor-stdout
ํ๋ฌ๊ทธ์ธ์ ํ์ ํ๋ก์ธ์ค ์ด๋ฆ์ด ์ ๋์ฌ ์ธ stdout์ ํ์ ํ๋ก์ธ์ค ๋ก๊ทธ ๋ฉ์์ง๋ฅผ ์ธ์ํฉ๋๋ค.
loglevel = debug
์์ supervisord.conf
loglevel = debug
๋ฅผ ์ค์ ํ์ฌ ํ์ ํ๋ก์ธ์ค ๋ก๊ทธ ๋ฉ์์ง๋ฅผ stdout์ ์ธ์ ํ ์๋ ์์ง๋ง ๋ค๋ฅธ ๋ง์ ๋๋ฒ๊ทธ ์ ๋ณด๋ ์ธ์ํฉ๋๋ค.
@mnaberez ์ํ๊น๊ฒ๋ supervisor-stdout
์ Ubuntu 16.04์์ apt-get์ ํตํด ์ค์น๋ ๊ฐ๋
์์ ์๋ํ์ง ์์ต๋๋ค. Error: supervisor_stdout:event_handler cannot be resolved within [eventlistener:stdout]
์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
๋์ (pip๋ฅผ ํตํ ์ค์น)์ ํจ์ฌ ๋ ๋ณต์กํฉ๋๋ค. ๋ค์๊ณผ ๊ฐ์ด ์คํํ ์์์์ต๋๋ค.
/path/to/supervisord -c /path/to/supervisord.conf
์ฌ๋ฐ๋ฅด๊ฒ ์คํ :
stdout RUNNING pid 1294, uptime 0:03:16
tornado-8000 RUNNING pid 1295, uptime 0:03:16
tornado-8001 RUNNING pid 1296, uptime 0:03:16
๊ทธ๋ฌ๋ ํ์ ํ๋ก์ธ์ค ์ด๋ฆ ์์๋ ๋ถ์ง ์์ต๋๋ค. ๋ด๊ฐ ์ฌ์ฉํ๋ค๋ฉด
[supervisord]
nodaemon = true
๋ด ๊ตฌ์ฑ ํ์ผ์์ ์ ๋์ฌ๊ฐ ์ถ๋ ฅ์ ํ์๋์ง๋ง ๋ก๊ทธ ํ์ผ์๋ ๊ธฐ๋ก๋์ง ์์ต๋๋ค.
๋๋ ์๋นํ ํ์ค์ ์ธ ์ค์ (ํ ๋ค์ด๋ ํ๋ก์ธ์ค์ supervisor_stdout)์ ๋ค์๊ณผ ๊ฐ์ด ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
[program:tornado-8000]
command = /path/to/python myfile.py
stdout_events_enabled = true
stderr_events_enabled = true
...
[eventlistener:stdout]
command = /path/to/supervisor_stdout
buffer_size = 100
events = PROCESS_LOG
result_handler = supervisor_stdout:event_handler
์ด ๋ฌธ์ ๋๋ ๋์ฒด ์๋ฃจ์ ์ ๋ํ ์ ๋ฐ์ดํธ๊ฐ ์์ต๋๊น?
@ katsar0v ์ ๋์ผํ๊ฒ ๊ถ๊ธํฉ๋๋ค. ์ด๊ฒ์ ๋ํ ๋์์ด ์์ต๋๊น?
์ด๊ฒ์ ๋ํ ํด๊ฒฐ์ฑ ๋ ์ฐพ๊ณ ์์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@ katsar0v ์ ๋์ผํ๊ฒ ๊ถ๊ธํฉ๋๋ค. ์ด๊ฒ์ ๋ํ ๋์์ด ์์ต๋๊น?