WebSphere v8.5 ํ๊ฒฝ์์ ๋ณด์ ๊ฐ์ฌ ๋ฐ ํธ๋ฌ๋ธ์ํ ์ ์ํด NCSA Access Log๋ฅผ ํ์ฑํํ๋ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํฉ๋๋ค. ์๋ฒ ์ ์ญ ์ค์ ๊ณผ ์ ์ก ์ฒด์ธ(Transport Chain)๋ณ ์ค์ ์ ๋ชจ๋ ์ ์ฉํด์ผ ํ๋ฉฐ,
accessLogFormat์์ฑ์ ํตํด ํด๋ผ์ด์ธํธ IP, ์ํ ์๊ฐ, User-Agent ๋ฑ์ ๊ธฐ๋กํ๋๋ก ํฌ๋งท์ ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ์ ๋ค๋ฃน๋๋ค.
0. ๋ฐฐ๊ฒฝ ๋ฐ ํ์์ฑ (Context)
WAS ์๋จ์ ์น ์๋ฒ(Web Server)๊ฐ ์๋ค๋ฉด ์น ์๋ฒ ๋ก๊ทธ๋ฅผ ๋ถ์ํ๋ฉด ๋์ง๋ง, WAS๋ก ์ง์ ๋ค์ด์ค๋ ์์ฒญ์ด๋ ๋ด๋ถ ํต์ , ํน์ ์์ธํ ์ ํ๋ฆฌ์ผ์ด์ ์ํ ์๊ฐ ๋ถ์์ ์ํด์๋ WAS ์์ฒด์ Access Log๊ฐ ํ์ํฉ๋๋ค. WebSphere๋ NCSA ํ์ค ํฌ๋งท์ ์ง์ํฉ๋๋ค.
Test Environment
- Version: WebSphere Application Server v8.5
1. ์ ์ญ ๋ก๊น ์๋น์ค ํ์ฑํ (Global Setting)
๊ฐ์ฅ ๋จผ์ ์๋ฒ ์ฐจ์์์ ๋ก๊น ์๋น์ค๋ฅผ ์ผ์ผ ํฉ๋๋ค.
- ๊ด๋ฆฌ ์ฝ์์์ Servers > Server Types > WebSphere application servers > [์๋ฒ๋ช ] ํด๋ฆญ
- ์ฐ์ธก ํ๋จ์ Troubleshooting ์น์ ์์ NCSA access and HTTP error logging ํด๋ฆญ
- ์ค์ ์ฒดํฌ:
- Enable logging service at server start-up (์๋ฒ ๊ธฐ๋ ์ ์๋น์ค ํ์ฑํ)
- Enable access logging (์ก์ธ์ค ๋ก๊น ํ์ฑํ)
2. ์ ์ก ์ฒด์ธ๋ณ ๋ก๊น ํ์ฑํ (Chain Setting)
์ ์ญ ์ค์ ์ ํ๋๋ผ๋, ์ค์ ํต์ ์ ๋ด๋นํ๋ ์ ์ก ์ฒด์ธ(Transport Chain)์์ ๋ก๊น ์ ์ผ์ง ์์ผ๋ฉด ๋ก๊ทธ๊ฐ ๋จ์ง ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์ฌ์ฉํ๋ ํฌํธ(9080, 9443 ๋ฑ)์ ํด๋นํ๋ ์ฒด์ธ์ ์์ ํด์ผ ํฉ๋๋ค.
์ค์ ๊ฒฝ๋ก
[์๋ฒ๋ช ] > Web Container Settings > Web container transport chains
์ค์ ๋ฐฉ๋ฒ
์ฃผ๋ก ์ฌ์ฉ๋๋ ์ฒด์ธ(WCInboundDefault, HttpQueueInboundDefault ๋ฑ)์ ์ ํํ์ฌ ์๋ ์์
์ ๋ฐ๋ณตํฉ๋๋ค.
- ์ฒด์ธ ์ด๋ฆ ํด๋ฆญ (์:
WCInboundDefault) - HTTP inbound channel (HTTP_2) ํด๋ฆญ
- Enable logging ์ฒดํฌ๋ฐ์ค ์ ํ
WCInboundDefaultSecure ์ฒด์ธ์ ๋ํด์๋ ๋์ผํ๊ฒ ์ค์ ํด์ผ ํฉ๋๋ค.
3. ๋ก๊ทธ ํฌ๋งท ์ปค์คํฐ๋ง์ด์ง (Custom Properties)
๊ธฐ๋ณธ ํฌ๋งท(Common Log Format)์ ์ ๋ณด๊ฐ ๋ถ์กฑํ ์ ์์ต๋๋ค. ์ํ ์๊ฐ์ด๋ ์ธ์ ID, User-Agent ๋ฑ์ ๋จ๊ธฐ๊ธฐ ์ํด ์ฌ์ฉ์ ์ ์ ์์ฑ์ ์ถ๊ฐํฉ๋๋ค.
์์ฑ ์ถ๊ฐ ์์น
์์ HTTP inbound channel (HTTP_2) ์ค์ ํ๋ฉด์์ ์ฐ์ธก์ Custom properties (์ฌ์ฉ์ ์ ์ ํน์ฑ) ๋ฉ๋ด๋ก ์ง์ ํฉ๋๋ค.
์์ฑ ๊ฐ (Key & Value)
- Name:
accessLogFormat - Value: (์๋ ์์ ์ค ์ ํ)
# ์์ 1: ํ์ค ํ์ฅ ํฌ๋งท (IP, ์๊ฐ, ์์ฒญ, ์ํ, ํฌ๊ธฐ, ์ํ์๊ฐ)
%h %u %t "%r" %s %b %D
# ์์ 2: ์ ์ฒด ์ ๋ณด ํฌํจ (Referer, User-Agent, SessionID ํฌํจ)
%h %u %t "%r" %s %b %D "%{Referer}i" "%{User-agent}i" %{JSESSIONID}C
4. ์ฃผ์ ํฌ๋งท ์ง์์ด ์ค๋ช
| ์ง์์ด | ์ค๋ช |
|---|---|
%h |
ํด๋ผ์ด์ธํธ IP ์ฃผ์ (Host) |
%t |
์์ฒญ ์๊ฐ (Time) |
%r |
์์ฒญ ๋ผ์ธ (Request Line) - Method, URI, Protocol |
%s |
์๋ต ์ํ ์ฝ๋ (Status Code, ์: 200, 404, 500) |
%D |
์์ฒญ ์ฒ๋ฆฌ ์์ ์๊ฐ (๋ง์ดํฌ๋ก์ด ๋จ์, ์ฑ๋ฅ ๋ถ์ ์ ์ค์) |
%{Header}i |
ํน์ ์์ฒญ ํค๋ ๊ฐ (์: %{User-Agent}i) |
%{Cookie}C |
ํน์ ์ฟ ํค ๊ฐ (์: %{JSESSIONID}C) |
Next Step:
๋ชจ๋ ์ค์ ์ ๋ง์น ํ์๋ ๋ฐ๋์ ์๋ฒ๋ฅผ ์ฌ๊ธฐ๋ํด์ผ ๋ก๊ทธ๊ฐ ๋จ๊ธฐ ์์ํฉ๋๋ค. logs/[์๋ฒ๋ช
]/http_access.log ํ์ผ์ด ์์ฑ๋๋์ง ํ์ธํ์ญ์์ค.