{"id":"IL-0042","org":"UK Ministry of Justice","date":"2024-07-25","docs":[],"title":{"en":"Application logs stopped reaching Elasticsearch and OpenSearch for hours and were lost when OpenSearch ran out of disk space","ko":"OpenSearch 디스크가 가득 찬 동안 fluent-bit 가 로그를 처리하지 못해 Elasticsearch 와 OpenSearch 에 애플리케이션 로그가 들어오지 않았다."},"domain":["kubernetes","observability"],"impact":{"scope":"Elasticsearch and OpenSearch received no application logs during the incident; those logs were not recovered","users":"unknown","region":"unknown"},"review":{"written_by":"session","reviewed_at":null,"reviewed_by":null},"lessons":null,"related":[],"sources":[{"url":"https://runbooks.cloud-platform.service.justice.gov.uk/incidents/2024-07-25-elasticsearch-logging.html","kind":"runbook","license":"unknown","archived":null}],"summary":{"en":"The Ministry of Justice Cloud Platform ships application logs from its live cluster with fluent-bit to Elasticsearch and OpenSearch, and users read them in Kibana. On 2024-07-25 neither store received logs for several hours, and the logs from that period were lost for good.\n\nThe ClusterIndexWritesBlocked alert for cp-live-app-logs fired on and off from 12:10, and Kibana stopped receiving logs entirely at 13:45. The team learned of it from a user at 14:27, started a call at 14:42 and declared the incident at 14:54. fluent-bit was failing with \"could not enqueue into the ring buffer\", and restarting it helped only for a few minutes. At 15:18 the team found OpenSearch out of disk space and raised it from 8000 to 12000; once that finished at 15:58, fluent-bit began processing logs again. As a temporary measure fluent-bit was also set to stop sending logs to OpenSearch while the root cause was investigated.\n\nThe report gives time to repair as 3h 8m and time to resolve as 4h 9m.","ko":"2024-07-25 에 영국 법무부 Cloud Platform 팀의 로깅 시스템에서 Elasticsearch 와 OpenSearch 가 애플리케이션 로그를 받지 못했다. 12:10 부터 cp-live-app-logs 에서 ClusterIndexWritesBlocked 경보가 시작과 회복을 되풀이했고, 13:45 부터는 Kibana 에 로그가 전혀 들어오지 않았다. 팀은 14:27 에 사용자 제보로 이를 알았고 14:54 에 장애를 선언했다.\n\nfluent-bit 컨테이너 로그에는 “could not enqueue into the ring buffer” 오류가 찍혀 있었다. 팀은 fluent-bit 컨테이너를 모두 다시 시작했지만 몇 분 만에 같은 오류가 다시 났다. 15:18 에 OpenSearch 디스크가 가득 찬 것을 알아채고 디스크를 8000 에서 12000 으로 늘렸다. 15:58 에 증설이 끝나자 fluent-bit 가 다시 로그를 처리하기 시작했다. 근본 원인을 조사하는 동안에는 fluent-bit 가 OpenSearch 로 로그를 보내지 않도록 임시로 설정을 바꿨고, 16:19 에 해결을 선언했다.\n\n복구까지 3시간 8분, 해결까지 4시간 9분이 걸렸다. 장애 기간의 사용자 로그는 잃었고 되찾지 못했다."},"trigger":{"en":"OpenSearch ran out of disk space and index writes were blocked.","ko":"OpenSearch 의 디스크 공간이 바닥나 인덱스 쓰기가 막혔다."},"severity":"unknown","symptoms":["monitoring-down"],"timeline":{"detected_after":null,"resolved_after":"4h 9m"},"date_kind":"incident","detection":{"en":"A user reported in #ask-cloud-platform at 14:27 that Kibana had received no logs since 13:45. The report records 12:10, when the ClusterIndexWritesBlocked alert first fired, as the first detection.","ko":"원문은 처음 감지된 시각을 12:10 으로 적었다. 이때 cp-live-app-logs 에서 ClusterIndexWritesBlocked 경보가 시작됐다. 팀이 실제로 문제를 알게 된 것은 14:27 에 사용자가 #ask-cloud-platform 채널로 Kibana 에 13:45 부터 로그가 들어오지 않는다고 알려 왔을 때였다."},"components":["telemetry-agent","elasticsearch-opensearch"],"root_cause":"capacity","remediation":[{"text":{"en":"restarted all fluent-bit containers (logs flowed for a few minutes, then the error came back)","ko":"14:59 에 fluent-bit 컨테이너를 모두 rollout restart 했다. 로그가 잠깐 일부 흘렀지만 같은 오류가 다시 났다."}},{"text":{"en":"increased OpenSearch disk space from 8000 to 12000","ko":"OpenSearch 디스크 공간을 8000 에서 12000 으로 늘렸다."}},{"text":{"en":"configured fluent-bit to stop sending logs to OpenSearch while the root cause was investigated","ko":"근본 원인을 조사하는 동안 임시 조치로 fluent-bit 가 OpenSearch 로 로그를 보내지 않게 설정했다."}}],"action_items":[{"text":{"en":"Look into index dating issues in OpenSearch and Elasticsearch","ko":"OpenSearch 와 Elasticsearch 의 인덱스 날짜 문제를 살핀다."}},{"text":{"en":"Add high-priority alerts for Elasticsearch and OpenSearch","ko":"Elasticsearch 와 OpenSearch 에 우선순위 높은 경보를 만든다."}},{"text":{"en":"Re-introduce OpenSearch into live logging","ko":"OpenSearch 를 live 로깅에 다시 넣는다."}},{"text":{"en":"Investigate the fluent-bit \"failed to flush chunk\" error","ko":"fluent-bit 의 “failed to flush chunk” 오류를 조사한다."}}],"contributing":["no-alert-on-limit"],"recurrence_of":null,"symptoms_text":{"en":"Kibana stopped showing new application logs at 13:45. At 14:27 a user told the Cloud Platform team in the #ask-cloud-platform channel that Kibana had received no logs since then.\n\nEarlier signs had been there since 12:10, when the cp-live-app-logs alert ClusterIndexWritesBlocked first fired. Between 12:10 and 13:40 it started and recovered several times.\n\nThe first check, at 14:32, found no problems in the live monitoring namespace. At 14:55 the fluent-bit container logs showed \"could not enqueue into the ring buffer\". A rollout restart of all fluent-bit containers at 14:59 got some logs flowing again, but within a few minutes the same error returned. At 15:18 the team noticed that OpenSearch was out of disk space.","ko":"14:27 에 사용자가 #ask-cloud-platform 채널로 Kibana 에 13:45 부터 로그가 들어오지 않는다고 알려 왔다.\n\n그보다 앞선 12:10 에 cp-live-app-logs 에서 ClusterIndexWritesBlocked 경보가 시작됐다. 이 경보는 13:40 까지 시작과 회복을 여러 번 되풀이했다. 13:45 부터는 Kibana 에 로그가 전혀 들어오지 않았다.\n\n14:32 에 처음 살펴봤을 때 live 모니터링 네임스페이스에서는 문제가 보이지 않았다. 14:55 에 fluent-bit 컨테이너 로그에서 “could not enqueue into the ring buffer” 오류가 나왔다.\n\n14:59 에 fluent-bit 컨테이너를 모두 rollout restart 했다. 로그가 일부 흐르기 시작했지만 몇 분 뒤 같은 오류가 다시 나왔다. 15:18 에야 OpenSearch 의 디스크 공간이 바닥난 것을 알아챘다."},"updated_at":"2026-11-10T00:00:38.420633Z","url":"https://benchlet.com/incidentlib/app/cases/IL-0042","org_slug":"uk-ministry-of-justice"}