docker-logstash7.x(增量更新)

流程:爬一些豆瓣读书的数据到 mysql 中,再使用 logstash 传输到 elasticsearch 中

爬虫代码:https://blog.csdn.net/W_Meng_H/article/details/111408984

es安装:https://blog.csdn.net/W_Meng_H/article/details/105200771

kibana安装:https://blog.csdn.net/W_Meng_H/article/details/111414096

PS:统一 es 、kibana 和 logstash 的版本

 

一、获取 logstash 镜像

docker run -d --name=logstash logstash:7.6.2

 

二、拷贝 logstash 配置文件

docker cp logstash:/usr/share/logstash/config/ /tools/dockerdata/logstash/
docker cp logstash:/usr/share/logstash/pipeline/ /tools/dockerdata/logstash/
docker cp logstash:/usr/share/logstash/logstash-core/lib/jars/ /tools/dockerdata/logstash/

 

三、把 mysql-connector-java-5.1.47.jar 拷贝

/tools/dockerdata/logstash/jars

 

四、修改 pipeline 文件夹里的 logstash.conf 文件

vim /tools/dockerdata/logstash/pipeline/logstash.conf
input {
 jdbc {
    # jdbc驱动包位置
    jdbc_driver_library => "/usr/share/logstash/logstash-core/lib/jars/mysql-connector-java-5.1.47.jar"
    # 要使用的驱动包类,不同数据库调用的类不同
    jdbc_driver_class => "com.mysql.jdbc.Driver"
    # mysql数据库连接信息
    jdbc_connection_string => "jdbc:mysql://ip:3306/douban?useSSL=false&characterEncoding=UTF-8&serverTimezone=GMT%2b8"
    # mysql用户名
    jdbc_user => "root"
    # mysql密码
    jdbc_password => "root"
    # 启用分页
    jdbc_paging_enabled => "true"
    # 每页数量
    jdbc_page_size => "50"
    # 用于输入数据的编解码器
    codec => plain { charset => "UTF-8"}
    #是否需要记录某个column 的值,如果 record_last_run 为真,可以自定义我们需要表的字段名称,
    #此时该参数就要为 true. 否则默认 track 的是 timestamp 的值.
    use_column_value => true
    #是否清除 last_run_metadata_path 的记录,如果为真那么每次都相当于从头开始查询所有的数据库记录
    clean_run => false
    #定时任务,默认一分钟
    schedule => "*/10 * * * * *"
    # 你要执行的语句
    statement => "SELECT * FROM books WHERE inputtime > :sql_last_value AND inputtime < NOW() ORDER BY inputtime DESC;"
  }
}
filter {
  mutate {
    # 删除无用字段
    remove_field => ["@timestamp", "@version"]
  }
}
output {
  elasticsearch {
    # es ip:port
    hosts => "ip:9200"
    # 索引
    index => "books"
    # _id
    document_id => "%{id}" 
  }
}

 

五、启动 logstash 镜像

PS:记得开启 es 服务

修改文件权限:

chmod -R 775 /tools/dockerdata/logstash/

启动 logstash:

docker run -d \
-e TZ=Asia/Shanghai --privileged=true --network=host \
-m=1G --memory-swap=1G \
-v /tools/dockerdata/logstash/config/:/usr/share/logstash/config/ \
-v /tools/dockerdata/logstash/pipeline/:/usr/share/logstash/pipeline/ \
-v /tools/dockerdata/logstash/jars/:/usr/share/logstash/logstash-core/lib/jars/ \
--name=logstash \
logstash:7.6.2

 

六、查看数据是否导入

访问 kibana 查看效果:

logstash日志:

 

 

 

Kibana使用手册之Index Pattern:https://blog.csdn.net/tian_111222333/article/details/102917631

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值