์ด ๊ฐ์ด๋์์๋ Cloud Storage ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ , Azure Event Hubs ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ , Amazon MSK ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ , Confluent Cloud ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ ๋ฑ ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ ๋ฅผ ์ฌ์ฉํ ๋ ํ๋ซํผ ๋ก๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค. Google Cloud
ํ๋ซํผ ๋ก๊ทธ ์ ๋ณด
์ง์๋๋ Google Cloud ์๋น์ค๋ ํด๋น ์๋น์ค์ ์์ ๊ณผ ๊ด๋ จ๋ ์ด๋ฒคํธ์ ํ๋์ ์บก์ฒํ๋ ์์ฒด ํ๋ซํผ ๋ก๊ทธ ์งํฉ์ ์์ฑํฉ๋๋ค. ์ด๋ฌํ ํ๋ซํผ ๋ก๊ทธ์๋ ์ฑ๊ณต์ ์ธ ์์ , ์ค๋ฅ, ๊ฒฝ๊ณ , ๊ธฐํ ์ฃผ๋ชฉํ ๋งํ ์ด๋ฒคํธ๋ฅผ ๋น๋กฏํด ์๋น์ค ๋ด์์ ๋ฐ์ํ๋ ์ํฉ์ ๊ดํ ์ธ๋ถ์ ๋ณด๊ฐ ํฌํจ๋ฉ๋๋ค.
ํ๋ซํผ ๋ก๊ทธ๋ Cloud Logging์ ์ผ๋ถ์ด๋ฉฐ ๋์ผํ ๊ธฐ๋ฅ์ ๊ณต์ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ํ๋ซํผ ๋ก๊ทธ์ ์ค์ํ ๊ธฐ๋ฅ ๋ชฉ๋ก์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ก๊ทธ๋ ์ผ๋ฐ์ ์ผ๋ก ์ถ๊ฐ ์ฟผ๋ฆฌ ๋ฐ ํํฐ๋ง์ ํ์ฉํ๋ JSON ๊ฐ์ฒด๋ก ๊ตฌ์กฐํ๋ฉ๋๋ค.
์ฝ์์ ๋ก๊น ์ ์ฌ์ฉํ์ฌ ํ๋ซํผ ๋ก๊ทธ๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
ํ๋ซํผ ๋ก๊ทธ๋ฅผ Cloud Monitoring ๋ฐ ๊ธฐํ ๋ชจ๋ํฐ๋ง ๋๊ตฌ์ ํตํฉํ์ฌ ๋์๋ณด๋, ์๋ฆผ, ๊ธฐํ ๋ชจ๋ํฐ๋ง ๋ฉ์ปค๋์ฆ์ ๋ง๋ค ์๋ ์์ต๋๋ค.
๋ก๊ทธ ์คํ ๋ฆฌ์ง๋ ์์ง๋ ๋ณผ๋ฅจ ๋ฐ ๋ณด๊ด ๊ธฐ๊ฐ์ ๋ฐ๋ผ ๋น์ฉ์ด ๋ฐ์ํฉ๋๋ค.
ํ๋ซํผ ๋ก๊ทธ์ ๋ํ ์์ธํ ๋ด์ฉ์ Google Cloud Platform ๋ก๊ทธ๋ฅผ ์ฐธ๊ณ ํ์ธ์.
์์ํ๊ธฐ ์ ์
์ฌ์ฉ ์ค์ธ ์ฃผ์ ๋ฅผ ๋ง๋ค๊ธฐ ์ํ ๊ธฐ๋ณธ ์๊ฑด์ ์๋ฃํ๋์ง ํ์ธํฉ๋๋ค.
- Cloud Storage ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์
- Azure Event Hubs ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์
- Amazon MSK ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์
- Confluent Cloud ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์
ํ์ ์ญํ ๋ฐ ๊ถํ
์์ํ๊ธฐ ์ ์ ๋ก๊น
์ ์ก์ธ์คํ ์ ์๋์ง ํ์ธํฉ๋๋ค.
๋ก๊ทธ ๋ทฐ์ด (roles/logging.viewer)
Identity and Access Management (IAM) ์ญํ ์ด ํ์ํฉ๋๋ค. Logging ์ก์ธ์ค์ ๋ํ ์์ธํ ๋ด์ฉ์ IAM์ผ๋ก ์ก์ธ์ค ์ ์ด๋ฅผ ์ฐธ๊ณ ํ์ธ์.
๋ค์์ IAM ์ก์ธ์ค ๊ถํ์ ํ์ธํ๊ณ ๋ถ์ฌํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ค๋ช ์ ๋๋ค.
ํ์ฌ ์ก์ธ์ค ๊ถํ ๋ณด๊ธฐ๋ฅผ ํตํด ๊ฐ ์ฃผ ๊ตฌ์ฑ์์ ์ก์ธ์ค ๊ถํ์ ํ์ธํฉ๋๋ค.
ํ๋ก์ ํธ์ ๊ด๋ จ ์ฃผ ๊ตฌ์ฑ์์๊ฒ ์ญํ ์ ๋ถ์ฌํฉ๋๋ค.
๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ ์์ง ์คํจ ์ ๋ณด
๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ ์์ ๋ฐ์ดํฐ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์์ง๋์ง ์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
Cloud Storage ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์
Cloud Storage ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ ์์ ๋ฐ์ดํฐ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์์ง๋์ง ์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด Cloud Storage ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ Cloud Storage ๊ฐ์ฒด ๋๋ ๊ฐ์ฒด์ ์ผ๋ถ๋ฅผ ์์งํ๋ ๋ฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
๋ค์ ๋ชฉ๋ก์ ํ๋ซํผ ๋ก๊ทธ๋ฅผ ์์ฑํ๋ Cloud Storage ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ ์์ ์์ง์ด ์คํจํ๋ ์ด์ ๋ฅผ ์ค๋ช ํฉ๋๋ค.
๋ฉ์ผ ํฌ๊ธฐ
๊ฐ๋ณ ๋ฉ์ผ์ 10MB๋ฅผ ์ด๊ณผํ ์ ์์ต๋๋ค. ์ด๋ฌํ ๊ฒฝ์ฐ ์ ์ฒด ๋ฉ์์ง๊ฐ ๊ฑด๋๋๋๋ค.
Avro ๋๋ Pub/Sub Avro ํ์์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ Avro ๋ธ๋ก์ 16MB๋ฅผ ์ด๊ณผํ ์ ์์ต๋๋ค. ๋ ํฐ Avro ๋ธ๋ก์ ๊ฑด๋๋๋๋ค.
๋ฉ์์ง ์์ฑ
๋ฉ์์ง์๋ ์ต๋ 100๊ฐ์ ์์ฑ์ด ์์ ์ ์์ต๋๋ค. ๋ฉ์์ง๊ฐ ์์ง๋๋ฉด ์ถ๊ฐ ์์ฑ์ด ์ญ์ ๋ฉ๋๋ค.
์์ฑ ํค๋ 256๋ฐ์ดํธ๋ฅผ ์ด๊ณผํ ์ ์์ผ๋ฉฐ ๊ฐ์ 1,024๋ฐ์ดํธ๋ฅผ ์ด๊ณผํ ์ ์์ต๋๋ค. ๊ฐ์ด ์ต๋ ํฌ๊ธฐ๋ณด๋ค ํฌ๋ฉด ์์ง ์ ์ ์ฒด ํค-๊ฐ ์์ด ๋ฉ์์ง์์ ์ญ์ ๋ฉ๋๋ค.
๋ฉ์์ง ํค์ ์์ฑ ์ฌ์ฉ์ ๊ดํ ๊ฐ์ด๋๋ผ์ธ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์์ฑ์ ์ฌ์ฉํ์ฌ ๋ฉ์์ง ๊ฒ์๋ฅผ ์ฐธ๊ณ ํ์ธ์.
Avro ํ์
- Avro ๊ฐ์ฒด์ ํ์์ด ์ฌ๋ฐ๋ฅธ์ง ํ์ธํฉ๋๋ค. ํ์์ด ์๋ชป๋๋ฉด ๋ฉ์์ง๊ฐ ์์ง๋์ง ์์ต๋๋ค.
๋ฐ์ดํฐ ํ์
- ์ง์๋๋ Avro ๋ฒ์ ์ ์ฌ์ฉํ๊ณ ์๋์ง ํ์ธํฉ๋๋ค. ์ง์๋์ง ์๋ ํ์์ ์ฒ๋ฆฌ๋์ง ์์ต๋๋ค.
Azure Event Hubs, Amazon MSK, Confluent Cloud ์ฃผ์ ๊ฐ์ ธ์ค๊ธฐ
Azure Event Hubs, Amazon MSK, Confluent Cloud ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ ์์ ๋ฐ์ดํฐ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์์ง๋์ง ์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
๋ค์ ๋ชฉ๋ก์ ํ๋ซํผ ๋ก๊ทธ๋ฅผ ์์ฑํ๋ ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ ์์ ์์ง์ด ์คํจํ๋ ์ด์ ๋ฅผ ์ค๋ช ํฉ๋๋ค.
๋ฉ์ผ ํฌ๊ธฐ
- ๊ฐ๋ณ ๋ฉ์ผ์ 10MB๋ฅผ ์ด๊ณผํ ์ ์์ต๋๋ค. ์ด๋ฌํ ๊ฒฝ์ฐ ์ ์ฒด ๋ฉ์์ง๊ฐ ๊ฑด๋๋๋๋ค.
๋ฉ์์ง ์์ฑ
๋ฉ์์ง์๋ ์ต๋ 100๊ฐ์ ์์ฑ์ด ์์ ์ ์์ต๋๋ค. ๋ฉ์์ง๊ฐ ์์ง๋๋ฉด ์ถ๊ฐ ์์ฑ์ด ์ญ์ ๋ฉ๋๋ค.
์์ฑ ํค๋ 256๋ฐ์ดํธ๋ฅผ ์ด๊ณผํ ์ ์์ผ๋ฉฐ ๊ฐ์ 1,024๋ฐ์ดํธ๋ฅผ ์ด๊ณผํ ์ ์์ต๋๋ค. ๊ฐ์ด ์ต๋ ํฌ๊ธฐ๋ณด๋ค ํฌ๋ฉด ์์ง ์ ์ ์ฒด ํค-๊ฐ ์์ด ๋ฉ์์ง์์ ์ญ์ ๋ฉ๋๋ค.
๋ฉ์์ง ํค์ ์์ฑ ์ฌ์ฉ์ ๊ดํ ๊ฐ์ด๋๋ผ์ธ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์์ฑ์ ์ฌ์ฉํ์ฌ ๋ฉ์์ง ๊ฒ์๋ฅผ ์ฐธ๊ณ ํ์ธ์.
ํ๋ซํผ ๋ก๊ทธ ์ฌ์ฉ ์ค์
ํ๋ซํผ ๋ก๊ทธ๋ ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ ์ ๋ํด ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉ ์ค์ง๋์ด ์์ต๋๋ค. ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ ๋ฅผ ๋ง๋ค๊ฑฐ๋ ์ ๋ฐ์ดํธํ ๋ ํ๋ซํผ ๋ก๊ทธ๋ฅผ ์ฌ์ฉ ์ค์ ํ ์ ์์ต๋๋ค. ํ๋ซํผ ๋ก๊ทธ๋ฅผ ์ฌ์ฉ ์ค์งํ๋ ค๋ฉด ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ ๋ฅผ ์ ๋ฐ์ดํธํ์ธ์.
๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ ๋ฅผ ๋ง๋๋ ๋์ ํ๋ซํผ ๋ก๊ทธ ์ฌ์ฉ ์ค์
๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ ๋ฅผ ๋ง๋ค ๋ ํ๋ซํผ ๋ก๊ทธ๋ฅผ ์ฌ์ฉ ์ค์ ํ๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ธ์.
์ฝ์
-
Google Cloud ์ฝ์์์ ์ฃผ์ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์ฃผ์ ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
์ฃผ์ ์ธ๋ถ์ ๋ณด ํ์ด์ง๊ฐ ์ด๋ฆฝ๋๋ค.
์ฃผ์ ID ํ๋์ ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ ์ ID๋ฅผ ์ ๋ ฅํฉ๋๋ค.
์ฃผ์ ์ด๋ฆ ์ง์ ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ด๋ฆ ์ง์ ๊ฐ์ด๋๋ผ์ธ์ ์ฐธ๊ณ ํ์ธ์.
๊ธฐ๋ณธ ๊ตฌ๋ ์ถ๊ฐ๋ฅผ ์ ํํฉ๋๋ค.
์์ง ์ฌ์ฉ ์ค์ ์ ์ ํํฉ๋๋ค.
- ๋ค๋ฅธ ๊ธฐ๋ณธ ์ค์ ์ ์ ์งํฉ๋๋ค.
- ์ฃผ์ ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
ํ๋ซํผ ๋ก๊ทธ๋ฅผ ์ฌ์ฉ ์ค์ ํ๋ ค๋ฉด
--ingestion-log-severity
ํ๋๊ทธ๊ฐWARNING
๋๋INFO
,DEBUG
์ ๊ฐ์ ๋ฎ์ ์ฌ๊ฐ๋ ์์ค์ผ๋ก ์ค์ ๋์ด ์๋์ง ํ์ธํฉ๋๋ค. ์ฌ์ฉ ์ค์ธ ์ฃผ์ ์ ๋ํดgcloud pubsub topics create
๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.- Cloud Storage ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์
- Azure Event Hubs ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์
- Amazon MSK ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์
- Confluent Cloud ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์
์๋ฅผ ๋ค์ด Cloud Storage ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ ์์ ํ๋ซํผ ๋ก๊ทธ๋ฅผ ์ฌ์ฉ ์ค์ ํ๋ ค๋ฉด
gcloud pubsub topics create
๋ช ๋ น์ด์--ingestion-log-severity=WARNING
ํ๋๊ทธ๋ฅผ ํฌํจํฉ๋๋ค.gcloud pubsub topics create TOPIC_ID \ --cloud-storage-ingestion-bucket=BUCKET_NAME \ --cloud-storage-ingestion-input-format=INPUT_FORMAT \ --ingestion-log-severity=WARNING
๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ ๋ฅผ ์ ๋ฐ์ดํธํ๋ ๋์ ํ๋ซํผ ๋ก๊ทธ ์ฌ์ฉ ์ค์
๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ ๋ฅผ ์ ๋ฐ์ดํธํ ๋ ํ๋ซํผ ๋ก๊ทธ๋ฅผ ์ฌ์ฉ ์ค์ ํ๋ ค๋ฉด ๋ค์์ ์คํํ์ธ์.
์ฝ์
Google Cloud ์ฝ์์์ ์ฃผ์ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์ฌ์ฉ ์ค์ธ ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ (Cloud Storage ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ , Azure Event Hubs ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ , Amazon MSK ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ ๋๋ Confluent Cloud ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ )๋ฅผ ํด๋ฆญํฉ๋๋ค.
์ฃผ์ ์ธ๋ถ์ ๋ณด ํ์ด์ง์์ ์์ ์ ํด๋ฆญํฉ๋๋ค.
- ํ๋ซํผ ๋ก๊ทธ ์ฌ์ฉ ์ค์ ์ ์ ํํฉ๋๋ค.
์ ๋ฐ์ดํธ๋ฅผ ํด๋ฆญํฉ๋๋ค.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
ํ๋ซํผ ๋ก๊ทธ๋ฅผ ์ฌ์ฉ ์ค์ ํ๋ ค๋ฉด ์์ง-๋ก๊ทธ-์ฌ๊ฐ๋๊ฐ
WARNING
๋๋INFO
,DEBUG
์ ๊ฐ์ ๋ ๋ฎ์ ์ฌ๊ฐ๋ ์์ค์ผ๋ก ์ค์ ๋์ด ์๋์ง ํ์ธํฉ๋๋ค. ์ฌ์ฉ ์ค์ธ ์ฃผ์ ์ ์ค์ ์ ์ง์ ํ๋ ๋ชจ๋ ๊ฐ๋ฅํ ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ์ฌgcloud pubsub topics update
๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.- Cloud Storage ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์
- Cloud Storage ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ ์ ์ค์ ์ ์์ง ์์ผ๋ ค๋ฉด ์ฃผ์ ๋ฅผ ์
๋ฐ์ดํธํ ๋๋ง๋ค ์๋
create
๋ช ๋ น์ด์ ์๋ ๋์ผํ ๊ฐ์ ๋ค์ ํฌํจํด์ผ ํฉ๋๋ค. ์ผ๋ถ๋ฅผ ์๋ตํ๋ฉด Pub/Sub์์ ์ค์ ์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ฌ์ค์ ํฉ๋๋ค.
- Cloud Storage ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ ์ ์ค์ ์ ์์ง ์์ผ๋ ค๋ฉด ์ฃผ์ ๋ฅผ ์
๋ฐ์ดํธํ ๋๋ง๋ค ์๋
- Azure Event Hubs ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์
- Amazon MSK ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์
- Confluent Cloud ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์
์๋ฅผ ๋ค์ด ๊ธฐ์กด Cloud Storage ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ ์ ๋ก๊ทธ๋ฅผ ์ ๋ฐ์ดํธํ๋ ค๋ฉด
gcloud pubsub topics create
๋ช ๋ น์ด์--ingestion-log-severity=WARNING
ํ๋๊ทธ๋ฅผ ํฌํจํ๊ณ Cloud Storage ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ ์ ์ค์ ์ ์ง์ ํ๋ ๊ฐ๋ฅํ ๋ชจ๋ ํ๋๊ทธ ๊ฐ์ ํฌํจํฉ๋๋ค.gcloud pubsub topics update TOPIC_ID \ --cloud-storage-ingestion-bucket=BUCKET_NAME \ --cloud-storage-ingestion-input-format=INPUT_FORMAT \ --cloud-storage-ingestion-text-delimiter=TEXT_DELIMITER \ --cloud-storage-ingestion-minimum-object-create-time=MINIMUM_OBJECT_CREATE_TIME \ --cloud-storage-ingestion-match-glob=MATCH_GLOB --ingestion-log-severity=WARNING
- Cloud Storage ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์
ํ๋ซํผ ๋ก๊ทธ ์ฌ์ฉ ์ค์ง
์ฌ์ฉ ์ค์ธ ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ ์ ํ๋ซํผ ๋ก๊ทธ๋ฅผ ์ฌ์ฉ ์ค์งํ๋ ค๋ฉด ๋ค์์ ์ํํ์ธ์.
์ฝ์
Google Cloud ์ฝ์์์ ์ฃผ์ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์ฌ์ฉ ์ค์ธ ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ (Cloud Storage ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ , Azure Event Hubs ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ , Amazon MSK ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ ๋๋ Confluent Cloud ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ )๋ฅผ ํด๋ฆญํฉ๋๋ค.
์ฃผ์ ์ธ๋ถ์ ๋ณด ํ์ด์ง์์ ์์ ์ ํด๋ฆญํฉ๋๋ค.
- ํ๋ซํผ ๋ก๊ทธ ์ฌ์ฉ ์ค์ ์ ์ ํ ํด์ ํฉ๋๋ค.
์ ๋ฐ์ดํธ๋ฅผ ํด๋ฆญํฉ๋๋ค.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
ํ๋ซํผ ๋ก๊ทธ๋ฅผ ์ฌ์ฉ ์ค์งํ๋ ค๋ฉด ์์ง-๋ก๊ทธ-์ฌ๊ฐ๋๊ฐ
DISABLED
๋ก ์ค์ ๋์ด ์๋์ง ํ์ธํฉ๋๋ค. ์ฌ์ฉ ์ค์ธ ์ฃผ์ ์ ์ค์ ์ ์ง์ ํ๋ ๋ชจ๋ ๊ฐ๋ฅํ ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ์ฌgcloud pubsub topics update
๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.- Cloud Storage ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์
- Cloud Storage ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ ์ ์ค์ ์ ์์ง ์์ผ๋ ค๋ฉด ์ฃผ์ ๋ฅผ ์
๋ฐ์ดํธํ ๋๋ง๋ค ์๋
create
๋ช ๋ น์ด์ ์๋ ๋์ผํ ๊ฐ์ ๋ค์ ํฌํจํด์ผ ํฉ๋๋ค. ์ผ๋ถ๋ฅผ ๋๋ฝํ๋ฉด Pub/Sub์์ ์ค์ ์ ์๋ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ฌ์ค์ ํฉ๋๋ค.
- Cloud Storage ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ ์ ์ค์ ์ ์์ง ์์ผ๋ ค๋ฉด ์ฃผ์ ๋ฅผ ์
๋ฐ์ดํธํ ๋๋ง๋ค ์๋
- Azure Event Hubs ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์
- Amazon MSK ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์
- Confluent Cloud ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์
์๋ฅผ ๋ค์ด ๊ธฐ์กด Cloud Storage ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ ์์ ๋ก๊ทธ๋ฅผ ์ฌ์ฉ ์ค์งํ๋ ค๋ฉด
gcloud pubsub topics update
๋ช ๋ น์ด์--ingestion-log-severity=DISABLED
ํ๋๊ทธ๋ฅผ ํฌํจํ๊ณ Cloud Storage ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ ์ ์ค์ ์ ์ง์ ํ๋ ๊ฐ๋ฅํ ๋ชจ๋ ํ๋๊ทธ๋ฅผ ํฌํจํฉ๋๋ค.gcloud pubsub topics update TOPIC_ID \ --cloud-storage-ingestion-bucket=BUCKET_NAME \ --cloud-storage-ingestion-input-format=INPUT_FORMAT \ --cloud-storage-ingestion-text-delimiter=TEXT_DELIMITER \ --cloud-storage-ingestion-minimum-object-create-time=MINIMUM_OBJECT_CREATE_TIME \ --cloud-storage-ingestion-match-glob=MATCH_GLOB --ingestion-log-severity=DISABLED
- Cloud Storage ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์
ํ๋ซํผ ๋ก๊ทธ ๋ณด๊ธฐ
์ฌ์ฉ ์ค์ธ ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ ์ ํ๋ซํผ ๋ก๊ทธ๋ฅผ ๋ณด๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ธ์.
Google Cloud ์ฝ์
Google Cloud ์ฝ์์์ ๋ก๊ทธ ํ์๊ธฐ๋ก ์ด๋ํฉ๋๋ค.
Google Cloud ํ๋ก์ ํธ๋ฅผ ์ ํํฉ๋๋ค.
ํ์ํ ๊ฒฝ์ฐ ์ ๊ทธ๋ ์ด๋ ๋ฉ๋ด์์ ๊ธฐ์กด ๋ก๊ทธ ๋ทฐ์ด๋ฅผ ๋ก๊ทธ ํ์๊ธฐ๋ก ์ ํํฉ๋๋ค.
์ฟผ๋ฆฌ ํ์ ์ ํ์ ํด๋ฆญํฉ๋๋ค.
์ฌ์ฉ ์ค์ธ ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ (Cloud Storage ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ , Azure Event Hubs ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ , Amazon MSK ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ ๋๋ Confluent Cloud ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ )์ ํญ๋ชฉ๋ง ํ์๋๋๋ก ๋ก๊ทธ๋ฅผ ํํฐ๋งํ๋ ค๋ฉด ์ฟผ๋ฆฌ ํ๋์
"resource.type=pubsub_topic AND severity=WARNING"
์ ์ ๋ ฅํ๊ณ ์ฟผ๋ฆฌ ์คํ์ ํด๋ฆญํฉ๋๋ค.์ฟผ๋ฆฌ ๊ฒฐ๊ณผ ์ฐฝ์์ ์๊ฐ ์์ ์ ํด๋ฆญํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ ๊ธฐ๊ฐ์ ๋ณ๊ฒฝํฉ๋๋ค.
๋ก๊ทธ ํ์๊ธฐ ์ฌ์ฉ์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋ก๊ทธ ํ์๊ธฐ ์ฌ์ฉ์ ์ฐธ๊ณ ํ์ธ์.
gcloud CLI
gcloud CLI๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ ์ค์ธ ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ ์ ํ๋ซํผ ๋ก๊ทธ๋ฅผ ๊ฒ์ํ๋ ค๋ฉด gcloud logging read
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ฌ์ฉ ์ค์ธ ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ (Cloud Storage ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ , Azure Event Hubs ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ , Amazon MSK ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ ๋๋ Confluent Cloud ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ )์ ํ๋ซํผ ๋ก๊ทธ๋ก ๊ฒฐ๊ณผ๋ฅผ ์ ํํ๋๋ก ํํฐ๋ฅผ ์ง์ ํฉ๋๋ค.
gcloud logging read "resource.type=pubsub_topic AND severity=WARNING"
Cloud Logging API
entries.list
Cloud Logging API ๋ฉ์๋๋ฅผ ์ฌ์ฉํฉ๋๋ค.
Cloud Storage ๊ฐ์ ธ์ค๊ธฐ ์ฃผ์ ์ ํ๋ซํผ ๋ก๊ทธ๋ง ํฌํจ๋๋๋ก ๊ฒฐ๊ณผ๋ฅผ ํํฐ๋งํ๋ ค๋ฉด filter
ํ๋๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๋ค์์ ์ํ JSON ์์ฒญ ๊ฐ์ฒด์
๋๋ค.
{
"resourceNames":
[
"projects/my-project-name"
],
"orderBy": "timestamp desc",
"filter": "resource.type=\"pubsub_topic\" AND severity=WARNING"
}
ํ๋ซํผ ๋ก๊ทธ ํ์ ๋ณด๊ธฐ ๋ฐ ์ดํด
๋ค์ ์น์ ์๋ ์ํ ํ๋ซํผ ๋ก๊ทธ๊ฐ ํฌํจ๋์ด ์์ผ๋ฉฐ ํ๋ซํผ ๋ก๊ทธ์ ํ๋๋ฅผ ์ค๋ช ํฉ๋๋ค.
๋ชจ๋ ํ๋ซํผ ๋ก๊ทธ ๊ด๋ จ ํ๋๊ฐ jsonPayload
๊ฐ์ฒด ๋ด์ ํฌํจ๋์ด ์์ต๋๋ค.
Cloud Storage
Avro ์คํจ
{
"insertId": "1xnzx8md4768",
"jsonPayload": {
"@type": "type.googleapis.com/google.pubsub.v1.IngestionFailureEvent",
"cloudStorageFailure": {
"objectGeneration": "1661148924738910",
"bucket": "bucket_in_avro_format",
"objectName": "counts/taxi-2022-08-15T06:10:00.000Z-2022-08-15T06:15:00.000Z-pane-0-last-00-of-01",
"avroFailureReason": {}
},
"topic": "projects/my-project/topics/avro_bucket_topic",
"errorMessage": "Unable to parse the header of the object. The object won't be ingested."
},
"resource": {
"type": "pubsub_topic",
"labels": {
"project_id": "my-project",
"topic_id": "avro_bucket_topic"
}
},
"timestamp": "2024-10-07T18:55:45.650103193Z",
"severity": "WARNING",
"logName": "projects/my-project/logs/pubsub.googleapis.com%2Fingestion_failures",
"receiveTimestamp": "2024-10-07T18:55:46.678221398Z"
}
๋ก๊ทธ ํ๋ | ์ค๋ช |
---|---|
insertId |
๋ก๊ทธ ํญ๋ชฉ์ ๊ณ ์ ์๋ณ์์ ๋๋ค. |
jsonPayload.@type |
์ด๋ฒคํธ ์ ํ์ ์๋ณํฉ๋๋ค. ํญ์ type.googleapis.com/google.pubsub.v1.IngestionFailureEvent ์
๋๋ค. |
jsonPayload.cloudStorageFailure.objectGeneration |
Cloud Storage ๊ฐ์ฒด์ ์์ฑ ๋ฒํธ์ ๋๋ค. |
jsonPayload.cloudStorageFailure.bucket |
๊ฐ์ฒด๊ฐ ํฌํจ๋ Cloud Storage ๋ฒํท์ ๋๋ค. |
jsonPayload.cloudStorageFailure.objectName |
Cloud Storage ๊ฐ์ฒด์ ์ด๋ฆ์ ๋๋ค. |
jsonPayload.cloudStorageFailure.avroFailureReason |
๋ ๊ตฌ์ฒด์ ์ธ Avro ํ์ฑ ์ค๋ฅ ์ธ๋ถ์ ๋ณด๋ฅผ ํฌํจํฉ๋๋ค. ์ด ํ๋๋ ๋น์ ๋ก๋๋ค. |
jsonPayload.topic |
๋ฉ์์ง๊ฐ ์ ์ก๋ Pub/Sub ์ฃผ์ ์ ๋๋ค. |
jsonPayload.errorMessage |
์ฌ๋์ด ์ฝ์ ์ ์๋ ์ค๋ฅ ๋ฉ์์ง์ ๋๋ค. |
resource.type |
๋ฆฌ์์ค ์ ํ์
๋๋ค. ํญ์ pubsub_topic ์
๋๋ค. |
resource.labels.project_id |
Google Cloud ํ๋ก์ ํธ ID์ ๋๋ค. |
resource.labels.topic_id |
Pub/Sub ์ฃผ์ ID์ ๋๋ค. |
timestamp |
๋ก๊ทธ ํญ๋ชฉ ์์ฑ ํ์์คํฌํ์ ๋๋ค. |
severity |
์ฌ๊ฐ๋ ์์ค์ด WARNING ์
๋๋ค. |
logName |
๋ก๊ทธ์ ์ด๋ฆ์ ๋๋ค. |
receiveTimestamp |
๋ก๊ทธ ํญ๋ชฉ ์์ ํ์์คํฌํ์ ๋๋ค. |
ํ ์คํธ ์คํจ
{
"insertId": "1kc4puoag",
"jsonPayload": {
"@type": "type.googleapis.com/google.pubsub.v1.IngestionFailureEvent",
"cloudStorageFailure": {
"bucket": "bucket_in_text_format",
"apiViolationReason": {},
"objectName": "counts/taxi-2022-08-15T06:10:00.000Z-2022-08-15T06:15:00.000Z-pane-0-last-00-of-01",
"objectGeneration": "1727990048026758"
},
"topic": "projects/my-project/topics/large_text_bucket_topic",
"errorMessage": "The message has exceeded the maximum allowed size of 10000000 bytes. The message won't be published."
},
"resource": {
"type": "pubsub_topic",
"labels": {
"topic_id": "large_text_bucket_topic",
"project_id": "my-project"
}
},
"timestamp": "2024-10-09T14:09:07.760488386Z",
"severity": "WARNING",
"logName": "projects/my-project/logs/pubsub.googleapis.com%2Fingestion_failures",
"receiveTimestamp": "2024-10-09T14:09:08.483589656Z"
}
๋ก๊ทธ ํ๋ | ์ค๋ช |
---|---|
insertId |
๋ก๊ทธ ํญ๋ชฉ์ ๊ณ ์ ์๋ณ์์ ๋๋ค. |
jsonPayload.@type |
์ด๋ฒคํธ ์ ํ์ ์๋ณํฉ๋๋ค. ํญ์ type.googleapis.com/google.pubsub.v1.IngestionFailureEvent ์
๋๋ค. |
jsonPayload.cloudStorageFailure.objectGeneration |
Cloud Storage ๊ฐ์ฒด์ ์์ฑ ๋ฒํธ์ ๋๋ค. |
jsonPayload.cloudStorageFailure.bucket |
๊ฐ์ฒด๊ฐ ํฌํจ๋ Cloud Storage ๋ฒํท์ ๋๋ค. |
jsonPayload.cloudStorageFailure.objectName |
Cloud Storage ๊ฐ์ฒด์ ์ด๋ฆ์ ๋๋ค. |
jsonPayload.cloudStorageFailure.apiViolationReason |
API ์๋ฐ์ ๊ดํ ์ธ๋ถ์ ๋ณด๋ฅผ ํฌํจํฉ๋๋ค. ์ด ํ๋๋ ๋น์ ๋ก๋๋ค. |
jsonPayload.topic |
Pub/Sub ์ฃผ์ ์ ๋๋ค. |
jsonPayload.errorMessage |
์ฌ๋์ด ์ฝ์ ์ ์๋ ๋ฉ์์ง์ ๋๋ค. |
resource.type |
๋ฆฌ์์ค ์ ํ, ํญ์ pubsub_topic ์
๋๋ค. |
resource.labels.project_id |
Google Cloud ํ๋ก์ ํธ ID์ ๋๋ค. |
resource.labels.topic_id |
Pub/Sub ์ฃผ์ ID์ ๋๋ค. |
timestamp |
๋ก๊ทธ ํญ๋ชฉ ์์ฑ ํ์์คํฌํ์ ๋๋ค. |
severity |
์ฌ๊ฐ๋ ์์ค์ด WARNING ์
๋๋ค. |
logName |
๋ก๊ทธ์ ์ด๋ฆ์ ๋๋ค. |
receiveTimestamp |
Cloud Logging์์ ๋ก๊ทธ ํญ๋ชฉ์ ์์ ํ ์๊ฐ์ ๋๋ค. |
Amazon MSK
API ์๋ฐ
{
"insertId": "k3breb2q",
"jsonPayload": {
"@type": "type.googleapis.com/google.pubsub.v1.IngestionFailureEvent",
"awsMskFailure": {
"apiViolationReason": {},
"clusterArn": "arn:aws:kafka:us-east-1:291552718126:cluster/cluster-ingestion/abb9faea-4070-4eb76-9c21-f98abca92eaf-2",
"kafkaTopic": "msk-topic",
"partitionId": "1",
"offset": "11"
},
"errorMessage": "The value of an attribute in the message exceeded the maximum allowed size of 1024 bytes. Number of bytes in the value: 1025. Key: my header. Value: my very large value โฆ",
"topic": "projects/my-project/topics/msk-import-topic"
},
"resource": {
"type": "pubsub_topic",
"labels": {
"topic_id": "msk-import-topic",
"project_id": "my-project"
}
},
"timestamp": "2025-02-03T16:18:14.693357960Z",
"severity": "WARNING",
"logName": "projects/my-project/logs/pubsub.googleapis.com%2Fingestion_failures",
"receiveTimestamp": "2025-02-03T16:18:16.241643258Z"
}
๋ก๊ทธ ํ๋ | ์ค๋ช |
---|---|
insertId |
๋ก๊ทธ ํญ๋ชฉ์ ๊ณ ์ ์๋ณ์์ ๋๋ค. |
jsonPayload.@type |
์ด๋ฒคํธ ์ ํ์ ์๋ณํฉ๋๋ค. ํญ์ type.googleapis.com/google.pubsub.v1.IngestionFailureEvent ์
๋๋ค. |
jsonPayload.awsMskFailure.clusterArn |
๋ฐ์ดํฐ๋ฅผ ์์งํ๋ ์ฃผ์ ์ ํด๋ฌ์คํฐ ARN์ ๋๋ค. |
jsonPayload.awsMskFailure.kafkaTopic |
๋ฐ์ดํฐ๋ฅผ ์์งํ๋ Kafka ์ฃผ์ ์ ์ด๋ฆ์ ๋๋ค. |
jsonPayload.awsMskFailure.partitionId |
์์ง๋์ง ์์ ๋ฉ์์ง๊ฐ ํฌํจ๋ ํํฐ์ ์ ID์ ๋๋ค. |
jsonPayload.awsMskFailure.offset |
์์ง๋์ง ์์ ๋ฉ์์ง์ ํํฐ์ ๋ด ์คํ์ ์ ๋๋ค. |
jsonPayload.awsMskFailure.apiViolationReason |
API ์๋ฐ์ ๊ดํ ์ธ๋ถ์ ๋ณด๋ฅผ ํฌํจํฉ๋๋ค. ์ด ํ๋๋ ๋น์ ๋ก๋๋ค. |
jsonPayload.topic |
Pub/Sub ์ฃผ์ ์ ๋๋ค. |
jsonPayload.errorMessage |
์ฌ๋์ด ์ฝ์ ์ ์๋ ๋ฉ์์ง์ ๋๋ค. |
resource.type |
๋ฆฌ์์ค ์ ํ, ํญ์ pubsub_topic ์
๋๋ค. |
resource.labels.project_id |
Google Cloud ํ๋ก์ ํธ ID์ ๋๋ค. |
resource.labels.topic_id |
Pub/Sub ์ฃผ์ ID์ ๋๋ค. |
timestamp |
๋ก๊ทธ ํญ๋ชฉ ์์ฑ ํ์์คํฌํ์ ๋๋ค. |
severity |
์ฌ๊ฐ๋ ์์ค์ด WARNING ์
๋๋ค. |
logName |
๋ก๊ทธ์ ์ด๋ฆ์ ๋๋ค. |
receiveTimestamp |
Cloud Logging์์ ๋ก๊ทธ ํญ๋ชฉ์ ์์ ํ ์๊ฐ์ ๋๋ค. |
Azure Event Hubs
API ์๋ฐ
{
"insertId": "i1fbqnb12",
"jsonPayload": {
"@type": "type.googleapis.com/google.pubsub.v1.IngestionFailureEvent",
"azureEventHubsFailure": {
"apiViolationReason": {},
"namespace": "my-namespace",
"eventHub": "my-event-hub",
"partitionId": "1",
"offset": "15"
},
"errorMessage": "The value of an attribute in the message exceeded the maximum allowed size of 1024 bytes. Number of bytes in the value: 1025. Key: my header. Value: my very large value โฆ",
"topic": "projects/my-project/topics/event-hubs-import-topic"
},
"resource": {
"type": "pubsub_topic",
"labels": {
"topic_id": "event-hubs-import-topic",
"project_id": "my-project"
}
},
"timestamp": "2025-02-03T16:18:14.693357960Z",
"severity": "WARNING",
"logName": "projects/my-project/logs/pubsub.googleapis.com%2Fingestion_failures",
"receiveTimestamp": "2025-02-03T14:05:12.338211450Z"
}
๋ก๊ทธ ํ๋ | ์ค๋ช |
---|---|
insertId |
๋ก๊ทธ ํญ๋ชฉ์ ๊ณ ์ ์๋ณ์์ ๋๋ค. |
jsonPayload.@type |
์ด๋ฒคํธ ์ ํ์ ์๋ณํฉ๋๋ค. ํญ์ type.googleapis.com/google.pubsub.v1.IngestionFailureEvent ์
๋๋ค. |
jsonPayload.azureEventHubsFailure.namespace |
๋ฐ์ดํฐ๋ฅผ ์์งํ๋ ์ด๋ฒคํธ ํ๋ธ๊ฐ ํฌํจ๋ ๋ค์์คํ์ด์ค์ ๋๋ค. |
jsonPayload.azureEventHubsFailure.eventHub |
๋ฐ์ดํฐ๋ฅผ ์์งํ๋ ์ด๋ฒคํธ ํ๋ธ์ ์ด๋ฆ์ ๋๋ค. |
jsonPayload.azureEventHubsFailure.partitionId |
์์ง๋์ง ์์ ๋ฉ์์ง๊ฐ ํฌํจ๋ ํํฐ์ ์ ID์ ๋๋ค. |
jsonPayload.azureEventHubsFailure.offset |
์์ง๋์ง ์์ ๋ฉ์์ง์ ํํฐ์ ๋ด ์คํ์ ์ ๋๋ค. |
jsonPayload.azureEventHubsFailure.apiViolationReason |
API ์๋ฐ์ ๊ดํ ์ธ๋ถ์ ๋ณด๋ฅผ ํฌํจํฉ๋๋ค. ์ด ํ๋๋ ๋น์ ๋ก๋๋ค. |
jsonPayload.topic |
Pub/Sub ์ฃผ์ ์ ๋๋ค. |
jsonPayload.errorMessage |
์ฌ๋์ด ์ฝ์ ์ ์๋ ๋ฉ์์ง์ ๋๋ค. |
resource.type |
๋ฆฌ์์ค ์ ํ, ํญ์ pubsub_topic ์
๋๋ค. |
resource.labels.project_id |
Google Cloud ํ๋ก์ ํธ ID์ ๋๋ค. |
resource.labels.topic_id |
Pub/Sub ์ฃผ์ ID์ ๋๋ค. |
timestamp |
๋ก๊ทธ ํญ๋ชฉ ์์ฑ ํ์์คํฌํ์ ๋๋ค. |
severity |
์ฌ๊ฐ๋ ์์ค์ด WARNING ์
๋๋ค. |
logName |
๋ก๊ทธ์ ์ด๋ฆ์ ๋๋ค. |
receiveTimestamp |
Cloud Logging์์ ๋ก๊ทธ ํญ๋ชฉ์ ์์ ํ ์๊ฐ์ ๋๋ค. |
Confluent Cloud
ํ ์คํธ ์คํจ
{
"insertId": "i1fbqnb14",
"jsonPayload": {
"@type": "type.googleapis.com/google.pubsub.v1.IngestionFailureEvent",
"confluentCloudFailure": {
"apiViolationReason": {},
"clusterId": "lma-1x18ae",
"kafkaTopic": "confluent-topic",
"partitionId": "1",
"offset": "19"
},
"errorMessage": "The value of an attribute in the message exceeded the maximum allowed size of 1024 bytes. Number of bytes in the value: 1025. Key: my header. Value: my very large value โฆ",
"topic": "projects/my-project/topics/confluent-import-topic"
},
"resource": {
"type": "pubsub_topic",
"labels": {
"topic_id": "confluent-import-topic",
"project_id": "my-project"
}
},
"timestamp": "2025-02-03T16:18:14.693357960Z",
"severity": "WARNING",
"logName": "projects/my-project/logs/pubsub.googleapis.com%2Fingestion_failures",
"receiveTimestamp": "2025-02-03T17:03:11.428221440Z"
}
๋ก๊ทธ ํ๋ | ์ค๋ช |
---|---|
insertId |
๋ก๊ทธ ํญ๋ชฉ์ ๊ณ ์ ์๋ณ์์ ๋๋ค. |
jsonPayload.@type |
์ด๋ฒคํธ ์ ํ์ ์๋ณํฉ๋๋ค. ํญ์ type.googleapis.com/google.pubsub.v1.IngestionFailureEvent ์
๋๋ค. |
jsonPayload.confluentCloudFailure.clusterId |
์์ง๋๋ ์ฃผ์ ๊ฐ ํฌํจ๋ ํด๋ฌ์คํฐ ID์ ๋๋ค. |
jsonPayload.confluentCloudFailure.kafkaTopic |
๋ฐ์ดํฐ๋ฅผ ์์งํ๋ Kafka ์ฃผ์ ์ ์ด๋ฆ์ ๋๋ค. |
jsonPayload.confluentCloudFailure.partitionId |
์์ง๋์ง ์์ ๋ฉ์์ง๊ฐ ํฌํจ๋ ํํฐ์ ์ ID์ ๋๋ค. |
jsonPayload.confluentCloudFailure.offset |
์์ง๋์ง ์์ ๋ฉ์์ง์ ํํฐ์ ๋ด ์คํ์ ์ ๋๋ค. |
jsonPayload.confluentCloudFailure.apiViolationReason |
API ์๋ฐ์ ๊ดํ ์ธ๋ถ์ ๋ณด๋ฅผ ํฌํจํฉ๋๋ค. ์ด ํ๋๋ ๋น์ ๋ก๋๋ค. |
jsonPayload.topic |
Pub/Sub ์ฃผ์ ์ ๋๋ค. |
jsonPayload.errorMessage |
์ฌ๋์ด ์ฝ์ ์ ์๋ ๋ฉ์์ง์ ๋๋ค. |
resource.type |
๋ฆฌ์์ค ์ ํ, ํญ์ pubsub_topic ์
๋๋ค. |
resource.labels.project_id |
Google Cloud ํ๋ก์ ํธ ID์ ๋๋ค. |
resource.labels.topic_id |
Pub/Sub ์ฃผ์ ID์ ๋๋ค. |
timestamp |
๋ก๊ทธ ํญ๋ชฉ ์์ฑ ํ์์คํฌํ์ ๋๋ค. |
severity |
์ฌ๊ฐ๋ ์์ค์ด WARNING ์
๋๋ค. |
logName |
๋ก๊ทธ์ ์ด๋ฆ์ ๋๋ค. |
receiveTimestamp |
Cloud Logging์์ ๋ก๊ทธ ํญ๋ชฉ์ ์์ ํ ์๊ฐ์ ๋๋ค. |