logstash 使用总结
1.下载与安装
1.1 下载
1、链接: logstash 下载地址.
2、mysql5.7的驱动
1.2 安装
创建目录
mkdir -p /home/logstash
上传文件logstash和mysql驱动至此目录
tar –zxvf /hsa/logstash-7.6.1.tar.gz
2.配置
2.1 配置文件总入口
vim /home/logstash/logstash-7.6.1/config/pipelines.yml
输入以下内容
- pipeline.id: index_first
path.config: "/home/logstash/conf/index_first/index_first.conf"
#- pipeline.id: index_two
# path.config: "/home/logstash/conf/index_two/index_two.conf"
2.2 配置文件
mkdir -p /home/logstash/conf/index_first
vim /home/logstash/conf/index_first/index_first.conf
输入以下内容:
input {
jdbc {
#mysql 数据库链接,dianpingdb为数据库名
jdbc_connection_string => "jdbc:mysql://ip:port/db?useSSL=false"
#用户名和密码
jdbc_user => "username"
jdbc_password => "password"
#驱动
jdbc_driver_library => "/home/logstash/jdbc/mysql-connector-java-5.1.48.jar"
#驱动类名
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_paging_enabled => "true"
jdbc_page_size => "50000"
#执行的sql 文件路径+名称
statement_filepath => "/home/logstash/conf/index_first/index_first.sql"
#设置监听间隔 各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新
schedule => "* * * * *"
#是否转小写
lowercase_column_names => false
#时区设置
jdbc_default_timezone => "Asia/Shanghai"
#自动更新的字段
tracking_column => "UPDT_TIME"
#tracking_column_type => "timestamp"
#时间设置
last_run_metadata_path => "/home/logstash/conf/index_first/sql_last_value.txt"
#last_run_metadata_path => "sql_last_value.txt"
#默认生成的路径
# win C:\${用户名}\CHUAN\.logstash_jdbc_last_run
# linux C:\${用户名}\CHUAN\.logstash_jdbc_last_run
#是否清除 last_run_metadata_path 的记录,true那么每次都相当于从头开始查询所有的数据库记录
#clean_run => false
#默认保存最后运行时间
#record_last_run => false
#是否清除 last_run_metadata_path 的记录,true那么每次都相当于从头开始查询所有的数据库记录
clean_run => false
}
}
output {
elasticsearch {
#ES的IP地址及端口
hosts => ["ip:port"]
#索引名称
index => "index_first"
#需要关联的数据库中有一个id字段,对应索引的id号
document_id => "%{psnNo}"
}
stdout {
#JSON格式输出
codec => json_lines
}
}
2.3 配置查询语句
vim /home/logstash/conf/index_first/index_first.sql
输入以下内容:
SELECT
psn_no AS psnNo,
psn_name AS psnName,
cert_no AS certNo,
DATE_FORMAT(UPDT_TIME, '%Y-%m-%d %T') as updtTime
FROM
psn_info
where UPDT_TIME > :sql_last_value
ORDER BY UPDT_TIME ASC
3.启动
前台启动
/home/logstash/logstash-7.6.1/bin/logstash
后台启动
nohup /home/logstash/logstash-7.6.1/bin/logstash &