Skip to content

Latest commit

 

History

History
50 lines (43 loc) · 1.87 KB

007.Create_ES_index_as_KST_in_Logstash.md

File metadata and controls

50 lines (43 loc) · 1.87 KB

007. Logstash에서 Elasticsearch 인덱스를 KST로 생성하기

Logstash에서 수집한 데이터를 Elasticsearch에 저장할 때, KST를 인덱스명에 사용하고 싶다면 아래와 같이 ruby 코드를 활용해 날짜를 선언하여 사용해야 합니다. ruby 코드를 통해 field를 선언하고, 해당 필드를 output에서 사용하는 방식을 통해 원하는 날짜를 설정할 수 있습니다. 만약, 설정하지 않은 채 날짜를 입력하면 UTC를 기준으로 생성됩니다.

input {
	beats {
		port => 5044
	}
}

filter {
    ruby {
      code => "event.set('index_day', event.get('@timestamp').time.localtime('+09:00').strftime('%Y%m%d-%H%M'))"
    }
}

output {
    elasticsearch {
        hosts => ["localhost:9200"]
        index => "practice-%{index_day}"
    }
}

strftime에서 날짜를 지정할 때 사용하는 형식은 다음과 같습니다.

Format Description Example
%b Shortened month name "Jan"
%B Full month name "January"
%m Numbered month of the year (01..12) "01"
%d Day of the month (01..31) "15"
%j Day of the year (001..366) "123"
%a Shortened weekday name "Mon"
%A Full weekday name "Monday"
%w The numeric day of the week (0..6) "1"
%U Numeric week number in the year (0..53) [starting with the first Sunday] "22"
%W Numeric week number in the year (0..53) [starting with the first Monday] "22"
%y Two-digit year (00..99) "99"
%Y Four-digit year "2022"
%H Hour of the day (military time) (00..23) "18"
%I Hour of the day (12-hour clock) (01..12) "08"
%M Minute of the hour (0..59) "15"
%S Second of the minute (0..59) "30"
%p AM or PM "PM"
%Z Time zone name "Central Time (US & Canada)"