개발자로서 살아남기/ELK Stack 적용하기

ELK - 로그 발생 시간을 기준으로 Kibana 사용하기

코드 살인마 2022. 3. 18. 17:39
728x90

🔍개요

ELK를 서버 로그를 분석하기 위해 구축한 이후에 Kibana 시간과 로그 발생 시간이 달라, 보기 불편한 점이 있었다.

왼쪽이 kibana 시간, 오른쪽이 로그 발생시간

이후, 문제를 해결하려 했으나, 여러 프로젝트를 진행 한 탓에 미루고 또 미뤘었다.

프로젝트가 끝나고, ELK 업무를 마무리 짓기 위해 새로운 서버 2대를 ES 클러스터에 추가하는 작업과, 로그 발생 시간에 대한 이슈를 처리하는 작업을 진행하였다.

로그 발생 시간을 Kibana @timestamp로 사용하기

로그 메시지에서 로그 발생 시간 파싱하기 (logstash 설정 변경)

서버팀에서 사용하고 있는 로그 메시지 시간 type은 ISO8601인데, grok패턴에서 TIMESTAMP_ISO8601 사용하면 쉽게 파싱할 수 있다.


## 원하는 filter가 있으면 설정한다.

filter{

        grok {

                match => {
                        "message" => "%{TIMESTAMP_ISO8601:timestamp}\]\s\[%{LOGLEVEL:logLevel}"
                }
        }

        date {
                match => ["timestamp","ISO8601"]
                target => "timestamp"
             }

        mutate {
                remove_field => [beat,input,offset,prospector,tags,source]
        }
}

로그 발생 시간을 kibana @timestamp로 설정하기

참조

1. D.O의 IT 프록시서버와 사용목적

2. 위키백과 - 프록시서버

3. System Administrator 포워ㅗ드 프록시 리버스 프록시의 차이