๋ค์ ๋ก๊ทธ ํ์ผ์ /obs/diagnostic/
๋๋ ํฐ๋ฆฌ์ ์์ต๋๋ค.
postgresql.audit
: ์ด ๋ก๊ทธ ํ์ผ์ ์ธ์ ๋ฐ ๊ฐ์ฒด ์ก์ธ์ค ๊ฐ์ฌ ๋ก๊ทธ๋ฅผ ์์งํฉ๋๋ค. ๊ฐ์ฌ ๋ก๊ทธ๋ฅผ ์์งํ๋ ค๋ฉด ๊ฐ์ฌ ๋ก๊ทธ๋ฅผ ์ฌ์ฉ ์ค์ ํด์ผ ํฉ๋๋ค.postgresql.log
: ์ด ๋ก๊ทธ ํ์ผ์ PostgreSQL ์๋ฒ ๋ก๊ทธ๋ฅผ ์์งํฉ๋๋ค. ์ด๋ฌํ ๋ก๊ทธ๋ ํญ์ ์์ง๋๋ฉฐ ์ฌ์ฉ ์ค์ ํ ํ์๊ฐ ์์ต๋๋ค.
๋ก๊ทธ ํ์ผ์ด ์ํ๋๋ฉด ๋ค์๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ ๋ฐ์ํฉ๋๋ค.
๋ก๊ทธ ํ์ผ์ด
/obs/diagnostic/archive/
๋๋ ํฐ๋ฆฌ๋ก ๋ณต์ฌ๋ฉ๋๋ค. ๊ฐ์ ์ด๋ฆ์ ๋ก๊ทธ ํ์ผ์ด ํด๋น ๋๋ ํฐ๋ฆฌ์ ์์ผ๋ฉด ๋ฎ์ด์๋๋ค.์ํ๋ ๋ก๊ทธ ํ์ผ ์๋ณธ์ ์ฝํ ์ธ ๊ฐ ์ญ์ ๋์ด ํ์ผ์ด ๋น๊ฒ ๋ฉ๋๋ค.
๋ก๊ทธ ์ ๋ณด๊ฐ ์ฆ์ ๋น ์ํ ๋ก๊ทธ ํ์ผ์ ๊ธฐ๋ก๋๊ธฐ ์์ํฉ๋๋ค. ํ์ผ์ด ํฌ๊ธฐ ๋๋ ๊ธฐ๊ฐ ๊ธฐ์ค์ ๋๋ฌํ ๋๊น์ง ๋ก๊ทธ ์ ๋ณด๊ฐ ๋ก๊ทธ ํ์ผ์ ๊ธฐ๋ก๋๋ฉฐ, ์ด ์์ ์์ ๋ค์ ์ํ๋ฉ๋๋ค. ๋ก๊ทธ๊ฐ ๋๋ฌด ์ปค์ง์ง ์๋๋ก ์ํ๋ฉ๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ์ํ ์ค์ ์ ํฌ๊ธฐ๊ฐ 200MB์ ๋๋ฌํ๋ฉด ๊ฐ ๋ก๊ทธ ํ์ผ์ด ์ํ๋๋๋ก ์ค์ ๋์ด ์์ต๋๋ค. ๊ธฐ๋ณธ ์ํ์๋ ๊ธฐ๊ฐ ์ค์ ์ด ํฌํจ๋์ง ์์ต๋๋ค.
๋ณด๊ด์ฒ๋ฆฌ๋ ๊ฐ ํ์ผ์ Gzip(.gz
) ํ์ผ ํ์์ ์ฌ์ฉํ์ฌ ๊ฐ๋ณ์ ์ผ๋ก ์์ถ๋ฉ๋๋ค.
๋ณด๊ด์ฒ๋ฆฌ๋ ํ์ผ์ 7์ผ ๋์ ๋ณด๊ด๋ฉ๋๋ค. 7์ผ์ด ์ง๋ ๋ณด๊ด์ฒ๋ฆฌ๋ ํ์ผ์ ์ด์ ์ํ ์ค์ ๋ณด๊ด์ฒ๋ฆฌ๋ ํ์ผ์ ์ ์ธํ๊ณ ์๋์ผ๋ก ์ญ์ ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด log_rotation_age
๊ฐ 7์ผ๋ณด๋ค ์ค๋๋ ๊ฒฝ์ฐ, ํ์ฌ ํ์ผ์ด ์ํ๋๊ธฐ ์ ์ ๋ณด๊ด์ฒ๋ฆฌ๋ ํ์ผ์ด 7์ผ ๊ธฐ์ค์ ์ ๋๋ฌํฉ๋๋ค. ์ด ๊ฒฝ์ฐ ๋ค์ ์ํ์์ ๋ณด๊ด์ฒ๋ฆฌ๋ ์ ํ์ผ์ด ์์ฑ๋ ๋๊น์ง ์ด ๋ณด๊ด์ฒ๋ฆฌ๋ ํ์ผ์ด ์ญ์ ๋์ง ์์ต๋๋ค.
๋ณด๊ด์ฒ๋ฆฌ๋ ๊ฐ ๋ก๊ทธ ํ์ผ ์ด๋ฆ์ postgresql-%Y-%m-%d_%H%M%S.log.gz
ํ์์ ๋ฐ๋ฆ
๋๋ค.
ํ์์คํฌํ๋ ๋ก๊ทธ ์ํ ์์ ๊ฒฐ์ ๋๋ฉฐ ํ์ ์ธ๊ณ์(UTC)๋ก ํ์๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด 2024๋
12์ 20์ผ 13์ 1๋ถ 2์ด(UTC)์ ๋ก๊ทธ๊ฐ ์ํ๋๋ฉด ๋ณด๊ด์ฒ๋ฆฌ๋ ํ์ผ ์ด๋ฆ์ postgresql-2024-12-20_130102.log.gz
์
๋๋ค.
๋ณด๊ด์ฒ๋ฆฌ๋ ํ์ผ์ ์๊ตฌ์ ์ผ๋ก ์ ์ฅํ๋ ค๋ฉด kubectl cp
๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ปจํ
์ด๋์์ ๋ก์ปฌ ๋๋ ํฐ๋ฆฌ๋ก ๋ณต์ฌํ๋ฉด ๋ฉ๋๋ค.
๊ฐ์ฌ ๋ก๊ทธ ์ฌ์ฉ ์ค์
์ธ์
๋ฐ ๊ฐ์ฒด ์ก์ธ์ค ๋ก๊ทธ๊ฐ postgresql.audit
ํ์ผ์ ์์ง๋๋ ค๋ฉด pgaudit
๋ฐ์ดํฐ๋ฒ ์ด์ค ํ๋ผ๋ฏธํฐ๋ฅผ ์ฌ์ฉ ์ค์ ํด์ผ ํฉ๋๋ค. pgaudit
์ ์ฌ์ฉ ์ค์ ํ๋ ค๋ฉด Secret
์๋์ v1_dbcluster_parameters.yaml
ํ์ผ์ parameters
์น์
์ ๋ค์ ์ค์ ์ถ๊ฐํฉ๋๋ค.
alloydb.enable_pgaudit: "on"
์ด์ ๋ํ ์์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
apiVersion: v1
kind: Secret
...
apiVersion: alloydbomni.dbadmin.goog/v1
kind: DBCluster
metadata:
name: DB_CLUSTER_NAME
spec:
databaseVersion: "15.7.0"
primarySpec:
...
parameters:
...
alloydb.enable_pgaudit: "on"
์์ธํ ๋ด์ฉ์ ์ง์๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ์ฅ ํ๋ก๊ทธ๋จ์ pgaudit
๋ฐ PostgreSQL ๊ฐ์ฌ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ฐธ์กฐํ์ธ์.
PostgreSQL ์๋ฒ ๋ก๊ทธ๋ ํญ์ postgresql.log
ํ์ผ์ ์์ง๋๋ฉฐ pgaudit
์ ์ฌ์ฉ ์ค์ ํ์ง ์์๋ ๋ฉ๋๋ค.
๋ก๊ทธ ์ํ ๊ตฌ์ฑ
๋ก๊ทธ ์ํ ์์ ์ ๋ ์ธ๋ฐํ๊ฒ ์ ์ดํ๋ ค๋ฉด ์ต๋ ํ์ผ ํฌ๊ธฐ, ๋ก๊ทธ ์ํ ๊ฐ ๊ธฐ๊ฐ ๋๋ ๋ ๋ค๋ฅผ ๊ตฌ์ฑํ์ธ์. ๋ก๊ทธ ์ํ ๊ฐ์ ๊ธฐ๊ฐ์ ๋ก๊ทธ์ ์๋ช ์ด๋ผ๊ณ ๋ ํฉ๋๋ค. ๋ ์ค์ ์ ๋ชจ๋ ์ฌ์ฉํ๋ฉด ๊ฐ ๋ก๊ทธ๊ฐ ๊ธฐ์ค์ ์ค ํ๋์ ๋๋ฌํ ๋๋ง๋ค ์ํ๋ฉ๋๋ค.
๋ก๊ทธ ์ํ์ ๊ตฌ์ฑํ๋ ค๋ฉด DBCluster
๋งค๋ํ์คํธ์ parameters
์น์
์์ ๋ค์ ํ๋ผ๋ฏธํฐ ์ค ํ๋ ๋๋ ๋ ๋ค๋ฅผ ์ค์ ํฉ๋๋ค.
log_rotation_size
: 'SIZE_IN_KB'log_rotation_age
: 'AGE_IN_MINUTES'
๋ก๊ทธ ์ํ ์ค์ ์ค ํ๋๋ฅผ ์ฌ์ฉ ์ค์งํ๋ ค๋ฉด 0("0"
)์ผ๋ก ์ค์ ํ์ธ์. ํ์ผ ํฌ๊ธฐ๊ฐ 200MB์ ๋๋ฌํ ๋ ๋ก๊ทธ๋ฅผ ์ํํ๋ ๊ธฐ๋ณธ ์ค์ ์ ์ ์งํ๋ ค๋ฉด ๋ ํ๋ผ๋ฏธํฐ ๋ชจ๋ ์ค์ ํ์ง ๋ง์ธ์.
๋ก๊ทธ ์ํ ์ต๋ ๋ก๊ทธ ํฌ๊ธฐ ๋ฐ ๊ธฐ๊ฐ ์์
๋ค์ ์ํ์ ํ์ผ ํฌ๊ธฐ๊ฐ 400MB์ ๋๋ฌํ๊ฑฐ๋ ๋ก๊ทธ ์ํ ๊ฐ ์๊ฐ์ด 1์ผ์ ๋๋ฌํ ๋ ๋ก๊ทธ๋ฅผ ์ํํ๋๋ก ์ค์ ํฉ๋๋ค.
apiVersion: alloydbomni.dbadmin.goog/v1
kind: DBCluster
metadata:
name: DB_CLUSTER_NAME
spec:
...
primarySpec:
...
parameters:
log_rotation_size: "400000" # 400 MB
log_rotation_age: "1440" # 24 hours * 60 minutes = 1 day
๋ก๊ทธ ์ํ ์ต๋ ๋ก๊ทธ ํฌ๊ธฐ ์์
๋ค์ ์ํ์ ํ์ผ ํฌ๊ธฐ๊ฐ 400MB์ ๋๋ฌํ๋ฉด ๋ก๊ทธ๊ฐ ์ํ๋๋๋ก ์ค์ ํฉ๋๋ค.
apiVersion: alloydbomni.dbadmin.goog/v1
kind: DBCluster
metadata:
name: DB_CLUSTER_NAME
spec:
...
primarySpec:
...
parameters:
log_rotation_size: "400000" # 400 MB
log_rotation_age: "0" # Set to 0 to disable
๋ก๊ทธ ์ํ ๊ธฐ๊ฐ ์์
๋ค์ ์ํ์ 24์๊ฐ๋ง๋ค ๋ก๊ทธ๊ฐ ์ํ๋๋๋ก ์ค์ ํฉ๋๋ค.
apiVersion: alloydbomni.dbadmin.goog/v1
kind: DBCluster
metadata:
name: DB_CLUSTER_NAME
spec:
...
primarySpec:
...
parameters:
log_rotation_size: "0" # Set to 0 to disable
log_rotation_age: "1440" # 24 hours * 60 minutes = 1 day
๋ค์ ๋จ๊ณ
- AlloyDB Omni ๊ด๋ฆฌ ๋ฐ ๋ชจ๋ํฐ๋ง
- AlloyDB Omni ๋คํ ํ์ผ ์์ฑ ๋ฐ ์ง๋จ
- ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์ ๋ํด ์์๋ณด๊ธฐ