ํ์๋ค์ด ์๋ฒ ๋ก๊ทธ๋ฅผ ํ์ธํ๋ ๋ฐฉ๋ฒ์ ์๋ดํฉ๋๋ค.
๋ก๊ทธ๋ฅผ ํ์ธํ๋ ค๋ฉด ๋ค์ ๊ถํ์ด ํ์ํฉ๋๋ค:
roles/logging.viewer- ๋ก๊ทธ ๋ทฐ์ดroles/monitoring.viewer- ๋ชจ๋ํฐ๋ง ๋ทฐ์ด
๊ถํ์ด ์๋ค๋ฉด ํ๋ก์ ํธ ๊ด๋ฆฌ์์๊ฒ ์์ฒญํ์ธ์.
- Google Cloud Console ์ ์
- Google ๊ณ์ ์ผ๋ก ๋ก๊ทธ์ธ (๊ถํ์ด ๋ถ์ฌ๋ ๊ณ์ )
- ์๋จ์ ํ๋ก์ ํธ ์ ํ ๋๋กญ๋ค์ด์์ Finders ํ๋ก์ ํธ ์ ํ
- ์ข์ธก ๋ฉ๋ด์์ Logging โ ๋ก๊ทธ ํ์๊ธฐ ํด๋ฆญ
- ๋๋ ์ง์ ์ ์: ๋ก๊ทธ ํ์๊ธฐ
- Docker
gcplogs๋๋ผ์ด๋ฒ๋ฅผ ํตํด Cloud Logging์ผ๋ก ์ ์ก (prod ํ๊ฒฝ๋ง ํด๋น) - dev ํ๊ฒฝ์
json-file๋๋ผ์ด๋ฒ๋ฅผ ์ฌ์ฉํ์ฌ ๋ก์ปฌ ์ ์ฅ (Cloud Logging ๋น์ฉ ๋ฐฉ์ง) - logback-spring.xml ์ค์ ๊ธฐ๋ฐ์ผ๋ก ๋ก๊ทธ ๋ ๋ฒจ ์ ์ด
resource.type="gce_instance"
logName="projects/finders-487717/logs/gcplogs"
resource.type="gce_instance"
logName=~"gcplogs"
severity>=ERROR
resource.type="gce_instance"
logName=~"gcplogs"
jsonPayload.logger_name=~"com.finders.api"
- ์ฐ์ธก ์๋จ์ ์๊ฐ ๋ฒ์ ์ ํ๊ธฐ ์ฌ์ฉ
- ๊ธฐ๋ณธ๊ฐ: ์ต๊ทผ 1์๊ฐ
| ์ฉ๋ | ํํฐ |
|---|---|
| ์ ์ฒด ์ฑ ๋ก๊ทธ | logName=~"gcplogs" |
| ERROR ์ด์ | logName=~"gcplogs" severity>=ERROR |
| ํน์ ํค์๋ | logName=~"gcplogs" jsonPayload.message=~"ํค์๋" |
| ํน์ ๋ก๊ฑฐ | logName=~"gcplogs" jsonPayload.logger_name=~"GcsStorageService" |
| Java Level | Cloud Logging Severity |
|---|---|
| TRACE | DEBUG |
| DEBUG | DEBUG |
| INFO | INFO |
| WARN | WARNING |
| ERROR | ERROR |
- ํํฐ ์ ๋ ฅ ํ ์ ์ฅ ๋ฒํผ ํด๋ฆญ
- ์ด๋ฆ ์ ๋ ฅ ํ ์ ์ฅ
- ๋ค์์ ์ ์ฅ๋ ํํฐ ๋ถ๋ฌ์ค๊ธฐ ๊ฐ๋ฅ
- ์ข์ธก ๋ฉ๋ด์์ Monitoring โ ๋์๋ณด๋ ํด๋ฆญ
- ๋๋ ์ง์ ์ ์: ๋ชจ๋ํฐ๋ง ๋์๋ณด๋
- CPU ์ฌ์ฉ๋ฅ
- ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋
- ๋คํธ์ํฌ ํธ๋ํฝ
- ๋์คํฌ I/O
| ํ๊ฒฝ | Docker ๋ก๊ทธ ๋๋ผ์ด๋ฒ | ๋ก๊ทธ ํ์ธ ๋ฐฉ๋ฒ |
|---|---|---|
| Prod | gcplogs โ Cloud Logging |
GCP ๋ก๊ทธ ํ์๊ธฐ (์๋ ํํฐ ์ฌ์ฉ) |
| Dev | json-file (๋ก์ปฌ ์ ์ฅ) |
docker logs -f <์ปจํ
์ด๋> |
| Local | Docker ๊ธฐ๋ณธ (stdout) | ํฐ๋ฏธ๋ ์ฝ์ ์ถ๋ ฅ |
- Prod:
docker logs -f๋ช ๋ น์ด๊ฐ ๋์ํ์ง ์์ต๋๋ค. ๋ฐ๋์ GCP ๋ก๊ทธ ํ์๊ธฐ๋ฅผ ์ด์ฉํด ์ฃผ์ธ์. - Dev: Cloud Logging์ผ๋ก ์ ์ก๋์ง ์์ต๋๋ค. SSH ์ ์ ํ
docker logs -f๋ก ํ์ธํ์ธ์.