반응형
mongoDB 로그를 filter해서 kibana에서 봐야할 일이 생겼다.
shipper부분에서 filter grok 부분을 작성해줘야되는데, 커스터마이즈가 쉽지 않아서
이리저리 구글링하다가 정상적으로 동작하는 구문을 발견!
대충 아래처럼 적어주고 shipping 하면 redis로 잘 적재되고, elasticsearch가 indexing하는데 문제가 없었다.
mongoDB는 3.0버전을 사용하였고, 2.x버전에서는 잘 안될지도 모르겠다. match 구문에 보면 MONGO3라고 되어있기 때문이지..
[logstash.conf]
input { file { path => "/data/log/mongodb/mongod.log" type => mongodb start_position => "end" # rotate policy 같은건데, 별 차이 없으므로 default인 end로 그냥 놓는다. # 자세한 설명은 공홈에... (https://www.elastic.co/guide/en/logstash/current/plugins-inputs-file.html) } } filter { grok { match => ["message","%{TIMESTAMP_ISO8601:timestamp}\s+%{MONGO3_SEVERITY:severity}\s+%{MONGO3_COMPONENT:component}%{SPACE}(?:\[%{DATA:context}\])?\s+%{GREEDYDATA:body}"] } if [body] =~ "ms$" { grok { match => ["body",".*\}(\s+%{NUMBER:spend_time:int}ms$)?"] } } date { match => [ "timestamp", "ISO8601" ] #remove_field => [ "timestamp" ] } } output { if [type] == "mongodb" { redis { host => "서버 host" port => "포트" data_type => "list" key => "redis에 어떤 key로 넣을 것인지" } } }
반응형
'개발 > Linux, System' 카테고리의 다른 글
[Batch Script] Background로 명령어 실행 (0) | 2016.06.10 |
---|---|
[Batch Script] 입력 파라미터 받아서 변수로 세팅하기 (0) | 2016.06.10 |
[Nginx] elastic search proxy pass (0) | 2016.06.10 |
[Apache2] Root로 들어온 경우 원하는 경로로 Redirect 시키기 (0) | 2016.06.10 |
Volume Mount 하기 (0) | 2016.06.10 |