2021년 3월 29일 월요일

엘라스틱 Runtime field

흔히들 엘라스틱은 쓰기, 스플렁크는 읽기 스키마라고 하는데 이제 엘라스틱도 읽기 스키마를 지원한다. 스키마 구조를 디스크에 써야만 읽을 수 있으면 쓰기 스키마(전통적인 RDB 방식), 디스크에 쓰지 않고도 읽을 수 있으면 읽기 스키마. 

스플렁크 문서를 보면 search-time field, index-time field란 용어가 자주 나오는데, srarch-time field에 해당하는 것이 엘라스틱의 런타임 필드. 사례를 보자. 다음은 timestamp만을 추출하는 필터 설정.
filter {
 mutate { remove_field => [ "path", "host", "@timestamp", "@version" ] }
 grok { match => { "message" => "^(?<timestamp>.{15})" } }
 date {
  match => [ "timestamp", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ]
  remove_field => "timestamp"
 }
}

2021년 3월 18일 목요일

Splunk의 Join

스플렁크는 조인 기능을 지원한대서 써보는 중인데 진짜 된다. 일단 Sysmon 이벤트 중 네트워크 연결(eventcode=3) 이벤트 발생 통계.
index=sysmon EventCode=3
| stats count as sysmon_count by img_name
| sort sysmon_count desc

① sysmon 인덱스에서 eventcode=3인 데이터만 불러온 후,
② img_name(프로세스)별로 집계한 다음,
③ 내림차순으로 정렬해주는 SPL(Search Process Language) 쿼리문을 사용했다.

2021년 3월 8일 월요일

카프카와 로그스태시 연동 시 참고

로그스태시 장애 발생 시 데이터 유실을 방지하기 위해 카프카를 많이 쓰는 듯하다. 그런데 카프카는 데이터를 보낼 때 직렬화(?) 과정을 거친다고.

Filebeat > Logstash
input {
 beats {
  port => 5044
 }
}

output {
 stdout {}
}

2021년 3월 4일 목요일

Splunk의 데이터 전처리 자동화

다음은 Filebeat의 아파치 모듈을 이용한 웹로그 연동 결과. URL과 변수가 포함된 URI 필드(url_original)가 보인다.


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