ELK logstash基本配置

一、说明

自定义一个配置文件

  • 匹配内容
[2020-09-26 13:07:54] GET http://www.test.com/index/index/test 0.118220
  • 配置文件
# 从日志写入信息
input {
    
    
    file {
    
    
        # path:输入的文件的路径 string or array
        # 读取一个类型文件:path => "路径"
        # 读取多个类型文件:path => [ "路径1", "路径2", "...", "路径n" ]
        path => "E:/test/log/*/*.log"
	    start_position => "beginning" #从什么位置开始读取文件 "beginning","end"
        stat_interval => 3 # 我们统计文件的频率(以秒为单位),以查看它们是否已被修改。number或者string_duration("1 second")
  }
}
# 处理从日志读取到的日志
filter {
    
      
    # 使用grok正则匹配
    grok {
    
    
        match => {
    
    
            # 默认每一行为一条es记录,这一行的内容为es记录的message字段。
            # message配置单个规则: "message" => "规则1"
            # message配置多个规则: "message" => ["规则1", "规则2", ..., "规则n"]
            "message" => [
                "\[%{TIMESTAMP_ISO8601:timestamp}\] %{USERNAME:method}[T ]%{URL:url} %{NUMBER:exec_time}"
            ]
        }
    }
    # 把我们的字段timestamp替换掉系统默认的字段@timestamp
    date {
    
    
        match => ["timestamp", "ISO8601"]
        target => "@timestamp"
    }
    mutate{
    
    
        # 删除我们的字段timestamp。不删除的话es:如果正则匹配成功,一条记录就会有2个字段;timestamp,@timestamp
        remove_field => ["timestamp"]
    }
} 
# 输出信息到 es
output {
    
    
    elasticsearch {
    
     
    	# host(同message配置):string or array
	    hosts => ["localhost:9200"] #配置Es地址
	    index => "info-%{+YYYY.MM.dd}" #配置es索引(表名)
	}
}

二、windows启动logstash

cd D:\ProgramFiles\ELK\logstash-7.2.0\bin
logstash.bat -f ../logstash_test.conf
  • 配置文件 logstash_test.conf写哪都可以,只要你能够正确指定。我的配置文件写在logstash-7.2.0 根目录,也是bin 的同级目录

三、相关文章

猜你喜欢

转载自blog.csdn.net/qq_36025814/article/details/108832918
今日推荐