???: 서버 오류 로그 확인 부탁드려요~

아연·2025년 8월 4일
0

project

목록 보기
10/10
post-thumbnail

API 에러 응답 메시지가 모호하면 . . .

docker logs --tail 500 brake-app

.
.
.


Grafana로 로그 조금 더 쉽게 보기

현재 메트릭 시각화를 Grafana로 하고 있기에, 로그 시각화도 Grafana를 사용할 것이다. Grafana를 사용하는 유명한 스택은 PLG(Promtail, Loki, Grafana)가 있다.

PLG와 ELK를 잘 비교한 글이 있으니 추가적인 설명은 따로 하지 않겠다

그런데 Promtail이 곧 지원 종료된다는 소식에 Alloy를 대신 사용했다


어디에 뭘 설치해야하지?

로그 수집 과정은 아래와 같이 구성했다

로그 데이터를 loki에 한 번 더 저장하게 되면서, logback의 보관기간이 길어야 할 필요가 있을까? 생각이 들었다.
그래서 logback은 30일, loki는 90일로 설정했다

명확한 기준이 있는 것은 아니고, 중복 데이터를 90일 동안 저장할 필요는 없다고 느껴 loki 보관기간을 더 길게 설정했을 뿐이다. 추후 운영을 하면서 기간도 조정할 계획이다


보기 좋은 떡이 먹기도 좋다

드디어 로그를 grafana에서 볼 수 있게 되었다
그런데.. 하나의 로그지만 여러 줄에 걸쳐있는 로그가 따로따로 보여진다

이래선. . . 다를 게 없잖아


Grafana에 이를 해결하는 multiline 설정이 있다

우리 팀도 예시처럼 타임스탬프를 기준으로 로그를 구분했다

stage.multiline {
    firstline     = "^\\[\\d{4}-\\d{2}-\\d{2} \\d{1,2}:\\d{2}:\\d{2}\\]"
    max_wait_time = "10s"
}


음 쾌적해


운영 환경에서는 빠른 장애 대응이 중요한데, 개발 단계에서도 협업을 위해 빠른 대응이 필요하다.

이번 태스크로 두 가지 목표를 달성했다

  1. 서버팀이 오류를 빠르게 파악할 수 있고,
  2. 다른 개발팀과 서버팀의 비동기 작업을 쉽게 할 수 있다 (최소한 서버 오류인지, 클라이언트 오류인지 파악하기 쉽다)

아직까지는 로그가 많이 찍히지 않아서 괜찮아 보이지만, 로그가 초당 NN 개씩 쌓이면 어떻게 파악할 수 있을까에 대한 고민이 있다 🤔

0개의 댓글