logstash实战
创建logstash-test.conf配置文件
input { file { path => "/root/logstash/service-logs/info.log" start_position => "beginning" sincedb_path => "/dev/null" } } filter { grok{ match => { "message" => "(?<log_time>(%{YEAR}-%{MONTHNUM}-%{MONTHDAY})%{SPACE}%{TIME}) %{DATA:log_level} %{DATA:class_name} %{DATA:thread} %{GREEDYDATA:content}" } } } output { stdout { codec => rubydebug } elasticsearch { hosts => ["192.168.21.128:9200"] } }
日志内容切分
只需要在logstash的filter中使用grok语法即可完成日志内容切割。

自定义模板
使用Logstash采集日志的时候,如果没有指定索引库或模板,则会使用ElasticSearch默认自带的名字为”logstash”的模板,默认应用于Logstash写入数据到ElasticSearch使用。但是我们希望使用自定义的索引模板。首先创建一个template_mylog的模板,配置这几个字段:log_time、thread、log_level、class_name、content
PUT _template/template_mylog { "index_patterns" : [ "mylog-*" ], "order" : 10, "settings": { "index.number_of_shards": 3, "number_of_replicas": 1 }, "mappings" : { "properties" : { "log_level" : { "type" : "keyword" }, "thread" : { "type" : "keyword" }, "class_name" : { "type" : "keyword" }, "content" : { "type" : "keyword" }, "log_time" : { "type" : "date","format" : "yyyy-MM-dd HH:mm:ss.SSS"} } } }
一个是index_patterns,该配置表明自动创建的索引开头以mylog-的索引库都会采用该模板;而order表示顺序级别,在有相同的索引模板中,该值越大,优先级越高。只需在output中的添加如下配置
elasticsearch { hosts => ["127.0.0.1:9200"] index => "mylog-%{+YYYY.MM.dd}" }
写入多个索引库
logstash采集日志的时候,有多种不同的日志并且需要采集到不同的索引库中,这时就可以通过标记来进行写入。比如采集/home/logs目录下的日志定义一个标记为tag1,采集/home/logs2目录下的日志定义一个标记为tag2,那么在写入ElasticSearch的时候只需要根据该标记区分写入即可。
file { path => ["/home/logs/mylog-1.log"] type => "tag1" start_position => "beginning" sincedb_path => "/dev/null" } file { path => ["/home/logs2/*.txt"] type => "tag2" start_position => "beginning" sincedb_path => "/dev/null" }
logstash output配置示例
if [type] == "tag"{ elasticsearch { hosts => ["127.0.0.1:9200"] index => "mylog-%{+YYYY.MM.dd}" } } if [type] == "tag2"{ elasticsearch { hosts => ["127.0.0.1:9200"] index => "mylog-%{+YYYY.MM}" } }
多行内容合并
在采集日志的时候,经常会遇到异常日志,并且异常日志并非为一行内容,如果我们按照原有的方式采集,在ElasticSearch中显示的是一行一行的内容。Logstash中支持多行日志合并,使用multiline.pattern、multiline.negate和multiline.what来实现配置实现。
立志如山 静心求实
浙公网安备 33010602011771号