ELK测试:logstash解析nginx时间字段

参考:https://blog.csdn.net/jianblog/article/details/54585043

input {
  
  # 多张表的同步只需要设置多个jdbc的模块就行了
  jdbc {
      # mysql 数据库链接,shop为数据库名
      jdbc_connection_string => "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC"
      # 用户名和密码
      jdbc_user => "root"
      jdbc_password => "root"

      # 驱动
      jdbc_driver_library => "D:/logstash-6.1.2/mysql-connector-java-5.1.46.jar"

      # 驱动类名
      jdbc_driver_class => "com.mysql.jdbc.Driver"

      #是否分页
      jdbc_paging_enabled => "true"
      jdbc_page_size => "50000"

      #直接执行sql语句
      statement =>"select * from access_log"
      # 执行的sql 文件路径+名称
      # statement_filepath => "/hw/elasticsearch/logstash-6.2.4/bin/test.sql"

      #设置监听间隔  各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新
      schedule => "* * * * *"

      # 索引类型
      #type => "jdbc"
    }

}

filter{
	date {
		match=>["addtime","dd/MMM/yyyy:HH:mm:ss Z"]
	}
}

output {
  elasticsearch {
        #es的ip和端口
        hosts => ["http://127.0.0.1:9200"]
        #ES索引名称(自己定义的)
        index => "access_log"
        #文档类型
        document_type => "log"
        #设置数据的id为数据库中的字段
        #document_id => "%{itemid}"
    }
    stdout {
        codec => json_lines
    }

}

  

posted @ 2022-02-08 16:33  飞鹰之歌  阅读(163)  评论(0)    收藏  举报