본문 바로가기

Monitoring Tools/ELK Stack

6.1 filebeat multiple indexing

반응형

1. 다른 종류의 로그를 각각 다른 index로 파싱 하고자 하는 경우 logstash를 이용해도 되지만 elasticsearch로 바로 쏘는 경우나 수집단계에서 index를 구분 하고 자 하는 경우 filebeat의 설정을 이용하면 됨.

2. filebeat.yml

 - fields - log_topics를 이용하여 구분

# ============================== Filebeat inputs ===============================

filebeat.inputs:

# Each - is an input. Most options can be set at the input level, so
# you can use different inputs for various configurations.
# Below are the input specific configurations.
- type: log
  enabled: true
  paths:
    - {log path}/*.log
  fields:
    log_topics: "{log_topics1}"
  fields_under_root: true

- type: log
  enabled: true
  paths:
    - {log path}/*.log
  fields:
    log_topics: "{log_topics2}"
  fields_under_root: true
...

 

3. logstash 설정

 - output의 분기문을 이용하여 간단히 index를 구분하여줌.

input {
	beats { 
		port => 5044
		host => "0.0.0.0"
	}
}

filter {
	json {
		source => "message"
	}
	mutate { 
		rename => ["host", "server"]
   		convert => {"server" => "string"}  
	} 
}

output {
	if [log_topics] == "{log_topics1}" {
		elasticsearch {
			hosts => "http://localhost:9200"
			index => "{index1}"
		}
	} else if [log_topics] == "{log_topics2}" {
		elasticsearch {
                        hosts => "http://localhost:9200"
                        index => "{index2}"
                }
	}
}

 

반응형

'Monitoring Tools > ELK Stack' 카테고리의 다른 글

7. Elastalert  (0) 2022.04.26
6.2 filebeat offset 초기화  (0) 2022.04.22
6. filebeat agent 설정  (0) 2022.04.22
5.2 grok pattern을 이용한 nginx log 파싱  (0) 2022.04.22
5.1 [logstash filter] 시간대 변경  (0) 2022.04.22