作者:江魂2010_717 | 来源:互联网 | 2023-02-01 11:28
Logstash是一款轻量级的日志搜集处理框架,可以方便的把分散的、多样化的日志搜集起来,并进行自定义的处理,然后传输到指定的位置,比如某个服务器或者文件Windows环境:1
Logstash是一款轻量级的日志搜集处理框架,可以方便的把分散的、多样化的日志搜集起来,并进行自定义的处理,然后传输到指定的位置,比如某个服务器或者文件
Windows环境:
1、下载logstash
地址: https://www.elastic.co/cn/downloads/logstash
2、下载: mysql-connector-java.jar
在logstash目录下创建一个mysql目录,把驱动文件放进去。
2、修改配置文件
在安装目录下,创建新的配置文件,命名为:mysqltoes.conf
这个文件名可以换成其他的,启动时脚本命令改成对应的就可以了。
在文件中加入以下内容:
input {
# 多张表的同步只需要设置多个jdbc的模块就行了
jdbc {
# mysql 数据库链接,shop为数据库名
jdbc_connection_string => "jdbc:mysql://数据库IP地址:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezOne=UTC"
# 用户名和密码
jdbc_user => "root"
jdbc_password => ""
# 驱动
jdbc_driver_library => "E:/DevelopEnvironment/Logstash/logstash-7.2.0/mysql/mysql-connector-java-8.0.16.jar"
# 驱动类名
jdbc_driver_class => "com.mysql.jdbc.Driver"
#是否分页
jdbc_paging_enabled => "true"
jdbc_page_size => "50000"
#直接执行sql语句
statement =>"select * from employee"
# 执行的sql 文件路径+名称
# statement_filepath => "/hw/elasticsearch/logstash-6.2.4/bin/test.sql"
#设置监听间隔 各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新
schedule => "* * * * *"
# 索引类型
#type => "jdbc"
}
}
output {
elasticsearch {
#es的ip和端口
hosts => ["http://ip:9200"]
#ES索引名称(自己定义的)
index => "blog"
#文档类型
document_type => "log"
#设置数据的id为数据库中的字段
document_id => "%{id}"
}
stdout {
codec => json_lines
}
}
需要配置好:
数据库地址、数据库账号密码、数据库驱动路径、查询语句、定时扫描时间
es地址、索引、类型、主键字段
配置好后,打开cmd窗口,敲入启动命令:bin\logstash.bat -f config\mysqltoes.conf 如下图所示:
如果找不到文件,请检查命令路径,以及文件名称。
运行成功: