From c4efa9c1b89e79a3cd2981fd18160b0bf0f29a7e Mon Sep 17 00:00:00 2001 From: kimjb Date: Sun, 24 May 2026 15:10:52 +0900 Subject: [PATCH 1/2] =?UTF-8?q?Fix:=20kafka=20=EB=B0=B1=EA=B7=B8=EB=9D=BC?= =?UTF-8?q?=EC=9A=B4=EB=93=9C=20=ED=8A=B8=EB=A0=88=EC=9D=B4=EC=8A=A4=20?= =?UTF-8?q?=ED=95=84=ED=84=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose.prod.yml | 2 +- monitoring/otel-collector-config.yml | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index 1924d02..e535b37 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -174,7 +174,7 @@ services: deploy: resources: limits: - memory: 250M + memory: 400M restart: unless-stopped networks: - catchtable-net diff --git a/monitoring/otel-collector-config.yml b/monitoring/otel-collector-config.yml index 5538a54..bc09ce5 100644 --- a/monitoring/otel-collector-config.yml +++ b/monitoring/otel-collector-config.yml @@ -11,9 +11,13 @@ processors: error_mode: ignore traces: span: + # HTTP 노이즈: 헬스체크, favicon, API 외 404 (봇 스캔 등) - 'IsMatch(attributes["url.path"], "^/actuator.*")' - 'IsMatch(attributes["url.path"], "^/favicon.*")' - 'attributes["http.response.status_code"] == 404 and not IsMatch(attributes["url.path"], "^/(api|swagger-ui|api-docs).*")' + # Kafka 백그라운드 프로토콜 trace 차단 (consumer poll/heartbeat/rebalance 등). + # Producer.send와 @KafkaListener의 실제 메시지 처리 trace는 그대로 보존 — 부하 테스트 분석에 필요. + - 'name == "Heartbeat" or name == "OffsetCommit" or name == "JoinGroup" or name == "SyncGroup" or name == "FindCoordinator" or name == "Coordinator Discover" or name == "Fetch"' batch: timeout: 5s From 4fa6a9582a743db69833b00e2670021912c44737 Mon Sep 17 00:00:00 2001 From: kimjb Date: Sun, 24 May 2026 15:18:19 +0900 Subject: [PATCH 2/2] =?UTF-8?q?Refactor:=20Kafka=20filter=EB=A5=BC=20IsMat?= =?UTF-8?q?ch=20regex=EB=A1=9C=20=EB=8B=A8=EC=88=9C=ED=99=94=20+=20LeaveGr?= =?UTF-8?q?oup=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- monitoring/otel-collector-config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/monitoring/otel-collector-config.yml b/monitoring/otel-collector-config.yml index bc09ce5..ba3d44f 100644 --- a/monitoring/otel-collector-config.yml +++ b/monitoring/otel-collector-config.yml @@ -15,9 +15,9 @@ processors: - 'IsMatch(attributes["url.path"], "^/actuator.*")' - 'IsMatch(attributes["url.path"], "^/favicon.*")' - 'attributes["http.response.status_code"] == 404 and not IsMatch(attributes["url.path"], "^/(api|swagger-ui|api-docs).*")' - # Kafka 백그라운드 프로토콜 trace 차단 (consumer poll/heartbeat/rebalance 등). + # Kafka 백그라운드 프로토콜 trace 차단 (consumer poll/heartbeat/rebalance/leave 등). # Producer.send와 @KafkaListener의 실제 메시지 처리 trace는 그대로 보존 — 부하 테스트 분석에 필요. - - 'name == "Heartbeat" or name == "OffsetCommit" or name == "JoinGroup" or name == "SyncGroup" or name == "FindCoordinator" or name == "Coordinator Discover" or name == "Fetch"' + - 'IsMatch(name, "^(Heartbeat|OffsetCommit|JoinGroup|SyncGroup|LeaveGroup|FindCoordinator|Coordinator Discover|Fetch)$")' batch: timeout: 5s