상황 특정 토픽을 Consume 어플리케이션에서 장애가 난 상황. 이로 인해 Lag이 천정부지로 치솟고 있었다. 또한 이 토픽을 사용하는 kafka to s3 커넥터에서도 장애가 발생하였다. 원인 해당 토픽을 사용하는 어플리케이션들은 해당 토픽의 Value를 Json으로 기대하여 Json 파싱하고 있었다. 그런데 유효하지 않은 데이터가 들어가서, Json Parsing 에러를 발생시킨 것. 해결 방안 우선 장애가 발생한 파티션을 찾아야했다. 장애가 발생한 파티션을 찾기 위해서 쉘 스크립트를 만들어 돌려서, 장애 발생 토픽을 찾아냈다.BROKER="브로커 호스트"GROUP="장애가 발생한 토픽을 사용하는 컨슈머 그룹 명"TOPIC="토픽 명"MAX_MESSAGES=15 (콘솔에서 보여줄 메세지 갯수)/op..
트러블 슈팅/인프라
상황 (Airflow) 배치 날짜값 오차로 인한 통계값 오류가 발생한 이슈 1상황Airflow를 이용해서 low한 통계 데이터를 집계하는 API를 호출하여 daily 과금 금액과 total 과금 금액을 집계한다. 이때 과금 금액을 "사용한 값" 이라고 하자. "사용한 값"은 00시에 0으로 리셋해준wise-dev-seop.tistory.com 위 글에 이어 추가로 과소진이 발생한 이슈. 간단히 설명하자면 통계값을 업데이트 할 때 전날 늦은 시간에 돌았던 select 쿼리가 다음날 완성되면서 하루 전 날 값이 엎어쳐지는 이슈였다. 이를 해결하기 위해서 시간값을 세션 변수에 담아두고 업데이트 시점에 이 날짜가 동일한지(하루 지나지 않았는지) 확인해주는 작업을 해주었었다. 이렇게 잘 해결되었으나 또 추가로 전..
상황Airflow를 이용해서 low한 통계 데이터를 집계하는 API를 호출하여 daily 과금 금액과 total 과금 금액을 집계한다. 이때 과금 금액을 "사용한 값" 이라고 하자. "사용한 값"은 00시에 0으로 리셋해준다. "사용할 값"은 하루에 총 소진되어야 할 시간 * 스케줄(06시 ~ 12시에만 소진되어야 하는 등의 설정이 가능하다) 그런데 리셋을 해주었음에도 불구하고 "사용할 값"이 갑자기 치솟아 과소진 된 이슈가 있었다. 원인쿼리의 구성은 이랬다. - 원시 통계 데이터를 가지고 1차 가공 디비에 업데이트 (따라서 시간이 오래 걸리고, Replace Into와 셀렉트 절을 사용한다)REPLACE INTO 1차 가공 테이블 (date, 통계 데이터) SELECT date, 식별자, 통계에 필요한..
상황헬름으로 띄운 개발계 ELK에서, 특정 이유로 인해 Elastic Search의 인덱스가 모두 날아가는 상황이 생겼다. 개발계이기 때문에 큰 문제는 없었고, 인덱스 패턴을 새로 정의하여 Discovery를 활성하고자 하였다. 그러나 Kibana UI에서 인덱스 패턴 생성을 완료하였음에도 불구하고, 생성되지 않았던 상황. 원인Kibana는 최초 생성 시점에 .kibana_1이라는 인덱스를 생성한다. 이 인덱스는 Kibana 자체 구성 데이터를 저장하는 데 사용되며 대시보드 구성, 시각화, 저장된 검색 및 기타 사용자 정의 설정이 포함되어 있다. 더보기{ ".kibana_1" : { "aliases" : { }, "mappings" : { "properties" : { "application_usage_..