์ด ํ์ด์ง์์๋ Cloud Logging์ ์ฐพ๊ณ ์ฌ์ฉํ์ฌ Cloud SQL ์ธ์คํด์ค์ ๋ก๊ทธ๋ฅผ ๋ณด๊ณ ์ฟผ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค.
Cloud SQL์ Cloud Logging์ ์ฌ์ฉํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ Cloud Logging ๋ฌธ์๋ฅผ ์ฐธ์กฐํ๊ณ Cloud SQL ์ํ ์ฟผ๋ฆฌ๋ฅผ ๊ฒํ ํ์ธ์.
๋ก๊ทธ ๋ณด๊ธฐ
Cloud SQL ์ธ์คํด์ค ๋ก๊ทธ ํญ๋ชฉ์ ๋ก๊ทธ๋ฅผ ๋ณด๋ ค๋ฉด ๋ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์.
์ฝ์
-
Google Cloud ์ฝ์์์ Cloud Logging ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
- ํ์ด์ง ์๋จ์์ ๊ธฐ์กด Cloud SQL ํ๋ก์ ํธ๋ฅผ ์ ํํฉ๋๋ค.
- ์ฟผ๋ฆฌ ๋น๋์์ ๋ค์์ ์ถ๊ฐํฉ๋๋ค.
- ๋ฆฌ์์ค: Cloud SQL Database๋ฅผ ์ ํํฉ๋๋ค. ๋ํ์์์์ Cloud SQL ์ธ์คํด์ค๋ฅผ ์ ํํฉ๋๋ค.
- ๋ก๊ทธ ์ด๋ฆ: Cloud SQL ์น์
์ผ๋ก ์คํฌ๋กคํ๊ณ ์ธ์คํด์ค์ ์ ํฉํ ๋ก๊ทธ ํ์ผ์ ์ ํํฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- cloudsql.googleapis.com/postgres.log
- ์ฌ๊ฐ๋: ๋ก๊ทธ ์์ค์ ์ ํํฉ๋๋ค.
- ๊ธฐ๊ฐ: ๋ฏธ๋ฆฌ ์ค์ ์ ์ ํํ๊ฑฐ๋ ์ปค์คํ ๋ฒ์๋ฅผ ๋ง๋ญ๋๋ค.
gcloud
gcloud logging
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ก๊ทธ ํญ๋ชฉ์ ๋ณผ ์ ์์ต๋๋ค. ์๋ ์์์์ PROJECT_ID
๋ฅผ ๋ฐ๊ฟ๋๋ค.
limit
ํ๋๊ทธ๋ ๋ฐํํ ์ต๋ ํญ๋ชฉ ์๋ฅผ ๋ํ๋ด๋ ์ ํ์ ๋งค๊ฐ๋ณ์์
๋๋ค.
gcloud logging read "resource.type=cloudsql_database" \ --project=PROJECT-ID \ --limit=10 \ --format=json
์ธ์คํด์ค ์์ ๋ก๊ทธ ๋ณด๊ธฐ
์์ ์ฐฝ์์ ์ธ์คํด์ค์ ๋ํ ๋ก๊ทธ๋ฅผ ๋ณผ ์ ์์ต๋๋ค. ์์ ์ฐฝ์ ์ธ์คํด์ค์ ๋ํด ์ํ๋ ๋ชจ๋ ์์ ๊ณผ ๋ค์ ์ ๋ณด๋ฅผ ๋ก๊น ํฉ๋๋ค.
- ์์ ์ด ์๋ฃ๋ ์๊ฐ(ํ์ง ์๊ฐ๋๋ก ๋ณด๊ณ ๋จ)
- ์์ ์ ์ ํ
- ์์ ์ ์ํ
- ์์ ๊ฒฐ๊ณผ๋ฅผ ์ค๋ช ํ๋ ๋ฉ์์ง
์์ ์ ์คํจํ๋ฉด ์ด ๋ฉ์์ง๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค.
์ธ์คํด์ค ์์ ๋ก๊ทธ๋ฅผ ๋ณด๋ ๋ฐฉ๋ฒ
-
Google Cloud ์ฝ์์์ Cloud SQL ์ธ์คํด์ค ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
- ์ธ์คํด์ค์ ๊ฐ์ ํ์ด์ง๋ฅผ ์ด๋ ค๋ฉด ์ธ์คํด์ค ์ด๋ฆ์ ํด๋ฆญํฉ๋๋ค.
- ์์ ์ ํด๋ฆญํ์ฌ ์์ ๋ก๊ทธ๋ฅผ ํ์ํ๋ ์ฐฝ์ผ๋ก ๋ณ๊ฒฝํฉ๋๋ค.
gcloud
๋ช
๋ น์ค ๋๊ตฌ ๋๋ Cloud SQL Admin API๋ฅผ ์ฌ์ฉํ์ฌ ์ํํ ์ฌ์ฉ์ ๊ด๋ฆฌ ๋ฐ ๋น๋ฐ๋ฒํธ ๋ณ๊ฒฝ ์์
๋ง ์์
๋ก๊ทธ์ ํ์๋ฉ๋๋ค.
์ ํ๋ฆฌ์ผ์ด์ ๋ก๊ทธ ๋ณด๊ธฐ
Cloud SQL์ ์ฐ๊ฒฐ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ก๊ทธ๋ฅผ ๋ค๋ฅธ ์์น์ ์ ์ฅํฉ๋๋ค.
App Engine(๊ฐ๋ณํ ํ๊ฒฝ)
์ปดํจํ > App Engine > ์๋น์ค ์๋:
- ์๋น์ค ๋ชฉ๋ก์์ ์๋น์ค๋ฅผ ์ฐพ์ต๋๋ค.
- ๋๊ตฌ ๋๋กญ๋ค์ด์ ํด๋ฆญํฉ๋๋ค.
- ๋ก๊ทธ ์ ํ
Google Cloud ์ฝ์์ ์์ > ๋ก๊น > ๋ก๊ทธ ํ์๊ธฐ ์น์ ์์ ๋ค์ ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
resource.type="gae_app"
resource.labels.module_id="default"
Cloud Run
Google Cloud ์ฝ์์ Cloud Run ๋ก๊ทธ ํ์๊ธฐ ์น์ ์์ ๋ก๊ทธ๋ฅผ ๋ด ๋๋ค. Cloud Run์ Cloud SQL ์ธ์ฆ ํ๋ก์์ ์ค๋ฅ ๋ฉ์์ง๋ง ๋ณด๊ณ ํฉ๋๋ค. ๋ค์๊ณผ ๊ฐ์ด ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
resource.type="cloud_run_revision"
resource.labels.service_name="$SERVICE_NAME"
resource.labels.revision_name="$REVISION_NAME"
Cloud SQL ์ธ์ฆ ํ๋ก์
์์ > ๋ก๊น > ๋ก๊ทธ ํ์๊ธฐ ์๋์์ ๋ค์ ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
log_id("appengine.googleapis.com/cloud-sql-proxy")
๊ฐ์ฌ ๋ก๊ทธ ๋ณด๊ธฐ
๋ค์๊ณผ ๊ฐ์ ์ ํ์ Cloud SQL ์ธ์คํด์ค์ ๋ํ ๊ฐ์ฌ ๋ก๊ทธ๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
- ๊ด๋ฆฌ์ ํ๋: ๋ฉํ๋ฐ์ดํฐ๋ ๊ตฌ์ฑ ์ ๋ณด๋ฅผ ์์ฑํ๋ ๊ด๋ฆฌ์ ์์ ์ ํฌํจํฉ๋๋ค. ์ด๋ฌํ ๋ก๊ทธ๋ฅผ ๋นํ์ฑํํ ์ ์์ต๋๋ค.
- ๋ฐ์ดํฐ ์ก์ธ์ค: ๋ฉํ๋ฐ์ดํฐ๋ ๊ตฌ์ฑ ์ ๋ณด๋ฅผ ์ฝ๋ ๊ด๋ฆฌ์ ์์ ์ ํฌํจํฉ๋๋ค. ์ด๋ฌํ ๋ก๊ทธ์๋ ์ฌ์ฉ์ ์ ๊ณต ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฑฐ๋ ์ฐ๋ ์์ ๋ ํฌํจ๋ฉ๋๋ค. ๋ฐ์ดํฐ ์ก์ธ์ค ๊ฐ์ฌ ๋ก๊ทธ๋ฅผ ์์ ํ๋ ค๋ฉด ๋ช ์์ ์ผ๋ก ์ฌ์ฉ ์ค์ ํด์ผ ํฉ๋๋ค.
- ์์คํ ์ด๋ฒคํธ: Google Cloud ์์ ๋ฆฌ์์ค ๊ตฌ์ฑ์ ์์ ํ๋ ์๋ํ๋ ์์ ์ ์๋ณํฉ๋๋ค. ์ด๋ฌํ ๋ก๊ทธ๋ฅผ ๋นํ์ฑํํ ์ ์์ต๋๋ค.
๊ด๋ฆฌ์ ํ๋, ๋ฐ์ดํฐ ์ก์ธ์ค, ์์คํ ์ด๋ฒคํธ ๊ฐ์ฌ ๋ก๊ทธ๋ฅผ ๋ณด๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋ก๊ทธ ๋ณด๊ธฐ๋ฅผ ์ฐธ์กฐํ์ธ์.
๊ฐ๊ฒฉ ์ฑ ์
Cloud Logging ๊ฐ๊ฒฉ ์ฑ ์ ์ ๋ํ ์์ธํ ๋ด์ฉ์ Cloud Logging ๊ฐ๊ฒฉ ์ฑ ์ ์์ฝ์ ์ฐธ์กฐํ์ธ์.
๋ฌธ์ ํด๊ฒฐ
๋ฌธ์ | ๋ฌธ์ ํด๊ฒฐ |
---|---|
Logging์ Cloud SQL ์ธ์คํด์ค์์ ๋ง์ CPU์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค. | ๋ก๊น
์ ์กฐ์ ํด์ผ ํฉ๋๋ค.
|
๊ฐ์ฌ ๋ก๊ทธ๋ฅผ ์ฐพ์ ์ ์์ | ๋ฐ์ดํฐ ์ก์ธ์ค ๋ก๊ทธ๋ ์์ ์ด ์ฌ์ฉ์๊ฐ ๋ง๋ ๋ฐ์ดํฐ๋ฅผ ์์ฑ ๋๋ ์์ ํ๊ฑฐ๋ ์ฝ๋ ์ธ์ฆ๋ ์ฌ์ฉ์ ์ฃผ๋ API ํธ์ถ์ธ ๊ฒฝ์ฐ ๋๋ ์์ ์ด ๋ฆฌ์์ค์ ๊ตฌ์ฑ ํ์ผ ๋๋ ๋ฉํ๋ฐ์ดํฐ์ ์ก์ธ์คํ๋ ๊ฒฝ์ฐ์๋ง ์์ฑ๋ฉ๋๋ค. |
๋ก๊ทธ์ ์์ ์ ๋ณด๊ฐ ์์ | ์์
์ ๋ํ ์์ธํ ์ ๋ณด๋ฅผ ์ฐพ์ผ๋ ค ํฉ๋๋ค.
์๋ฅผ ๋ค์ด ์ฌ์ฉ์๊ฐ ์ญ์ ๋์๋๋ฐ ๋๊ฐ ์ญ์ ํ๋์ง ์ ์ ์์ต๋๋ค. ๋ก๊ทธ๋ ์์ ์ด ์์๋์์์ ํ์ํ์ง๋ง ๊ทธ ์ด์์ ์ ๋ณด๋ฅผ ์ ๊ณตํ์ง ์์ต๋๋ค. ์ด์ ๊ฐ์ ์์ธํ ๊ฐ์ธ ์๋ณ ์ ๋ณด(PII)๋ฅผ ๋ก๊น ํ๋ ค๋ฉด ๊ฐ์ฌ ๋ก๊น ์ ์ฌ์ฉ ์ค์ ํด์ผ ํฉ๋๋ค. |
๋ก๊ทธ ํ์ผ์ ์ฝ๊ธฐ ์ด๋ ค์ | ๋ก๊ทธ๋ฅผ json ๋๋ ํ
์คํธ๋ก ๋ณด๋ ๊ฒ์ด ์ข์ต๋๋ค.gcloud logging read ๋ช
๋ น์ด๋ฅผ Linux ํ์ฒ๋ฆฌ ๋ช
๋ น์ด์ ํจ๊ป ์ฌ์ฉํ์ฌ ๋ก๊ทธ๋ฅผ ๋ค์ด๋ก๋ํ ์ ์์ต๋๋ค.
๋ก๊ทธ๋ฅผ JSON์ผ๋ก ๋ค์ด๋ก๋ํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค. gcloud logging read \ "resource.type=cloudsql_database \ AND logName=projects/PROJECT_ID \ /logs/cloudsql.googleapis.com%2FLOG_NAME" \ --format json \ --project=PROJECT_ID \ --freshness="1d" \ > downloaded-log.json ๋ก๊ทธ๋ฅผ TEXT๋ก ๋ค์ด๋ก๋ํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค. gcloud logging read \ "resource.type=cloudsql_database \ AND logName=projects/PROJECT_ID \ /logs/cloudsql.googleapis.com%2FLOG_NAME" \ --format json \ --project=PROJECT_ID \ --freshness="1d"| jq -rnc --stream 'fromstream(1|truncate_stream(inputs)) \ | .textPayload' \ --order=asc > downloaded-log.txt |
PostgreSQL ๋ก๊ทธ์์ ์ฟผ๋ฆฌ ๋ก๊ทธ๋ฅผ ์ฐพ์ ์ ์์ | pgaudit ํ๋๊ทธ๋ฅผ ์ฌ์ฉ ์ค์ ํด์ผ ํฉ๋๋ค.
|