{"id":"IL-0142","org":"Google Cloud","date":"2023-07-06","docs":[],"title":{"en":"GKE clusters on 1.24 and later wrote unexpected fluentbit error entries such as \"Failed to get record: decoder: failed to decode payload: EOF\" that used up the Logging API write quota for some customers","ko":"GKE 1.24 이상 클러스터에서 로그를 처리하는 구성 요소의 새 버전이 불필요한 오류 로그를 쏟아내 일부 고객의 Logging API 쓰기 할당량이 바닥났다"},"domain":["kubernetes","gcp","observability"],"impact":{"scope":"Logging for GKE Standard and Autopilot clusters at 1.24.x and later; a subset of customers exhausted their Logging API write quota; workloads not affected","users":"a subset of customers, mainly very large workloads with thousands of nodes per project","region":"global"},"review":{"written_by":"session","reviewed_at":null,"reviewed_by":null},"lessons":{"en":"Log messages written by a managed logging agent count against the customer's own Logging API write quota and logging bill, so a faulty agent release can drop a customer's other logs. A log exclusion on the agent's container name and the message patterns keeps the noise out of storage until a fix arrives.","ko":"관리형 로그 에이전트의 업데이트 하나로도 프로젝트의 Logging API 쓰기 할당량이 바닥날 수 있다. 할당량을 넘기면 정작 필요한 다른 로그가 버려진다. Google 은 프로젝트당 노드가 수천 개인 매우 큰 워크로드에서 이 로그가 할당량을 넘길 수 있다고 안내했다. 플랫폼이 고칠 때까지는 메시지 내용을 기준으로 한 로그 제외 규칙으로 저장과 요금 증가를 막을 수 있었다."},"related":[],"sources":[{"url":"https://status.cloud.google.com/incidents/y5XvpyBXFhsphSt4DfiE","kind":"official-status","license":"unknown","archived":null}],"summary":{"en":"For twelve days GKE clusters at version 1.24 and later wrote log messages that GKE should never have added. According to the preliminary analysis in Google's mini incident report, the cause was the rollout of a new version of the component responsible for processing logs. The extra messages counted against the customer's Logging API write quota, and some customers hit that quota, which can cause other log messages to be dropped.\n\nWhile the fix was prepared, customers were told the messages could be ignored and offered two workarounds: request a higher Logging API quota, or add a log exclusion so the messages are not stored and billed. The exclusion matched resource.labels.container_name = \"fluentbit-gke\" or LOG_ID(\"fluentbit\") together with the three message patterns. Google identified and tested a fix and rolled it out gradually to the affected clusters from 10 July; the incident ended at 07:27 US/Pacific on 18 July 2023.","ko":"2023년 7월 6일부터 18일까지 12일 14분 동안 GKE 클러스터 로그에 GKE 가 넣지 말았어야 할 메시지가 추가로 기록됐다. 이 메시지가 Logging API 쓰기 할당량을 더 써서 일부 고객은 할당량이 바닥났다. 영향 범위는 GKE 1.24.x 이상 버전의 Standard 클러스터와 Autopilot 클러스터였고, Google 은 영향 지역을 Global 로 표시했다. 예비 분석에 따르면 근본 원인은 로그를 처리하는 구성 요소의 새 버전 배포였다.\n\nGoogle 은 장애 첫날부터 이 메시지는 무시해도 된다고 안내하고 우회 방법 두 가지를 제시했다. 할당량에 걸리지 않으려면 Logging API 할당량 증설을 요청하고, 추가 메시지를 저장하지 않으려면 로그 제외 규칙을 적용하라는 것이었다. Google 은 7월 6일 오후에 수정본을 찾았고, 시험을 거쳐 7월 10일부터 영향받은 클러스터에 점진적으로 배포했다. 7월 10일 공지에서 할당량에 다가가던 대형 워크로드 문제는 이미 완화됐다고 밝혔고, 7월 18일 07시 27분 영향받은 모든 사용자의 문제가 해결됐다."},"trigger":{"en":"Google rolled out a new version of the GKE component that processes logs (preliminary analysis).","ko":"로그 처리를 맡은 GKE 구성 요소의 새 버전이 배포됐다. Google 은 예비 분석에서 이것을 근본 원인으로 꼽았다."},"severity":"unknown","symptoms":["log-flood"],"timeline":{"detected_after":null,"resolved_after":"12d 14m"},"date_kind":"incident","detection":null,"components":["telemetry-agent"],"root_cause":"deploy-rollout","remediation":[{"text":{"en":"gave customers a workaround: request a Logging API quota increase, or apply a log exclusion for the fluentbit-gke messages","ko":"우회 방법으로, 고객에게 Logging API 할당량 증설을 요청하거나 `fluentbit-gke` 컨테이너와 `fluentbit` 로그의 해당 메시지를 걸러 내는 로그 제외 규칙을 적용하라고 안내했다."}},{"text":{"en":"rolled out a fix gradually to the affected clusters between 10 and 18 July 2023","ko":"수정본을 시험한 뒤 2023년 7월 10일부터 영향받은 클러스터에 점진적으로 배포했고, 7월 18일 배포가 끝나 장애가 해소됐다."}}],"action_items":[],"contributing":[],"recurrence_of":null,"symptoms_text":{"en":"From 07:13 US/Pacific on 6 July 2023, GKE customers saw unexpected additional error and warning entries in their cluster logs, written to the Cloud Logging project that holds the clusters. Standard and Autopilot clusters at GKE 1.24.x and later were affected.\n\nThe extra entries read \"Failed to get record: decoder: failed to decode payload: EOF\", \"cannot parse '0609 05:31:59.491654' after %L\" and \"invalid time format %m%d %H:%M:%S.%L%z for '0609 05:31:59.490647'\". Google's log exclusion query matched them on the fluentbit-gke container or the fluentbit log ID, and the last one also on the parser:glog plugin.\n\nThe entries consumed Logging API write quota and added to logging costs. For very large workloads, with thousands of nodes per project, they could exceed the quota, and other log messages could then be dropped; a subset of customers ran into quota exhaustion. The workloads running on the clusters were not affected.","ko":"2023년 7월 6일 07시 13분 US/Pacific 부터 GKE 1.24 이상 클러스터의 로그에 예상하지 못한 메시지가 추가로 찍히기 시작했다. Standard 클러스터와 Autopilot 클러스터 모두 해당됐다.\n\n추가된 메시지는 다음과 같은 오류와 경고 로그였다. \"Failed to get record: decoder: failed to decode payload: EOF\", \"cannot parse '0609 05:31:59.491654' after %L\", \"invalid time format %m%d %H:%M:%S.%L%z for '0609 05:31:59.490647'\". Google 이 안내한 로그 제외 쿼리는 `fluentbit-gke` 컨테이너와 `fluentbit` 로그 ID 를 대상으로 했다.\n\n추가 메시지는 Logging API 쓰기 할당량을 더 소비했다. 프로젝트당 노드가 수천 개인 매우 큰 워크로드에서는 할당량을 넘겨 다른 로그 메시지가 버려질 수 있었다. 저장되는 로그가 늘어 로깅 요금에도 영향이 있었다. 클러스터에서 도는 워크로드 자체는 영향을 받지 않았다."},"updated_at":"2026-11-09T11:55:51.031083Z","url":"https://benchlet.com/incidentlib/app/cases/IL-0142","org_slug":"google-cloud"}