2020년 2월 28일 금요일

Logstash codec 플러그인 multiline

Logstash 필터 elapsed 플러그인을 이용하면 완료된 트랜잭션의 실행 시간을 구할 수 있다. 이때 정확한 시간을 계산하기 위해서는 발생 순서대로 로그를 처리하는 것이 필수.

그런데 멀티 코어 환경에서는 그게 잘 안 된다. 트랜잭션 시작 시점을 기준으로 종료 시점을 기다려야 하는데 종료 시점이 먼저 처리될 수도 있기 때문. 그렇다고 싱글 코어를 쓰자니 로그양이 너무 많고(..) 이럴 땐 어떻게 해야 할까?
[08:00:37.410] SendJob(jobID:75343414529)
[08:00:39.235] SendReport(jobID:75343414529)

2020년 2월 24일 월요일

Logstash 필터 ruby - 4th

ruby 필터는 데이터 필터링 과정에서 ruby 언어의 다양한 기능을 사용할 수 있게 해준다. 엘라스틱의 사용 편의성을 크게 높일 수 있다는 얘기. 다음은 간단한 테스트를 위한 설정.
input {
 stdin {}
}

output {
 stdout {}
}

2020년 2월 19일 수요일

마케팅이다

저자 세스 고딘. 마케팅 업계에서 유명한 사람인 모양. '개사료의 고객은 반려견이 아니라 반려견 주인(80페이지)'이란 문장에 무릎을 탁 치고 구매.

몇 번을 곱씹어봐도 명문이다. 아무렴 그렇지. 돈 내고 사료를 사는 건 사료를 먹는 개가 절대 아니라 그 개의 주인이지.

반려견 주인의 지갑을 쉽게 여는 방법은 무엇일까? 사랑하는 자신의 반려견에게 최선을 다 하고 있다는 느낌을 갖게 하는 것 아닐까?

누가 이런 말을 했다고 한다.

"사람들은 0.25인치 드릴(수단)을 원하는 게 아니라 0.25인치 구멍(목적)을 원한다 (44페이지)

좋은 통찰이지만 '주위에 자랑할만한 멋진 드릴을 원할 수도 있잖아?'라는 생각을 하면서 보는데 저자의 해석이 남다르다.

2020년 2월 11일 화요일

Logstash 필터 elapsed

특정 작업의 생성부터 소멸까지, 하나의 트랜잭션을 jobID라는 식별자로 구분하는 로그가 있다. 하나의 작업에 소요된 시간을 구해보자. 작업이 완료된 시간에서 시작된 시간을 빼면 된다.
[08:00:37.410] SendJob(jobID:75343414529)
[08:00:39.235] SendReport(jobID:75343414529)

근데 어떻게 하지? 가장 간단한 방법은 서로 다른 시점에 발생한 두 로그 간의 시간차를 계산해주는 로그스태시 필터 elapsed를 사용하는 것.

다음은 파이프라인 설정. 작업을 시작할 때는 send_begin, 작업이 끝날 때는 send_end 태그를 추가했으며, elapsed 플러그인은 해당 태그를 이용해서 계산이 필요한 시간대의 시작과 끝을 결정한다.

2020년 2월 2일 일요일

Winlogbeat의 파일 연동

winlogbeat가 스리슬쩍 이벤트 로그 파일 연동을 지원하고 있더라. 다음은 파일 연동 설정. 필드가 너무 많아서 event_id 필드만 남겼다.


크리에이티브 커먼즈 라이선스