logstash를 통해 수집된 데이터를 elasticsearch에 쌓고 있다. 수집된 데이터를 elasticsearch에 넣지 않고 로그파일로 저장할 필요가 생겼다. lnav 같은 쉘용 로그분석툴을 사용하기 위해서.
output {
file {
path => "/data/log/%{+YYYY_MM_dd}.log"
message_format => "%{message}"
}
}
위와 같이 설정했을 때 2015_10_13.log 파일명으로 로그를 쌓는다. 그런데 한가지 문제가 있다. logstash 시간은 UTC기준이라서, 우리나라 시간 AM 9시 이전은 2015_10_12.log 파일명에 쌓고, 9시 이후는 2015_10_13.log 파일명에 쌓는다.
다음과 같이 설명하면 서버의 timezone 기준(KST)으로 날짜 파일명에 로그를 쌓을 수 있다.
filter {
ruby {
code => "event['date_index'] = event.timestamp.time.localtime.strftime('%Y_%m_%d')"
}
}
output {
file {
path => "/data/log/%{date_index}.log"
message_format => "%{message}"
}
}
'시스템이야기' 카테고리의 다른 글
FreeBSD에서 Leap Second(윤초)는? 문제 없다. (0) | 2015.06.29 |
---|---|
zabbix 셋팅값만 백업 후 DB 새로 구축하기 (0) | 2015.06.19 |
텔레그램(Telegram)으로 서버 모니터링하기 (16) | 2014.10.15 |
OpenSSL 1.0.1 Heartbleed 취약점 (2) | 2014.04.09 |
root권한 획득하는 리눅스 커널 취약점 (2) | 2013.05.20 |