cd /usr/local

  

下载logstash 6.4.3版本

wget https://artifacts.elastic.co/downloads/logstash/logstash-6.4.3.tar.gz

  

解压

tar -zxvf  logstash-6.4.3.tar.gz

  

下载input和output插件

cd logstash-6.4.3

bin/logstash-plugin install logstash-input-jdbc

bin/logstash-plugin install logstash-output-elasticsearch

  

新建logstash.conf

vi /usr/local/logstash-6.4.3/config/logstash.conf

  

内容输入案例

input {
jdbc {
jdbc_driver_library => "/usr/local/sql/mysql-connector-java-5.1.46.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_connection_string => "jdbc:mysql://localhost:3306/test"
jdbc_user => "root"
jdbc_password => "root"
schedule => "* * * * *"
statement => "SELECT * FROM user WHERE update_time >= :sql_last_value"
use_column_value => true
tracking_column_type => "timestamp"
tracking_column => "update_time"
last_run_metadata_path => "syncpoint_user"
}
} output {
elasticsearch {
# ES的IP地址及端口
hosts => ["172.31.73.140:9200","172.31.73.140:9201"]
# 索引名称 可自定义
index => "user"
# 需要关联的数据库中有有一个id字段,对应类型中的id
document_id => "%{user_id}"
document_type => "user"
}
stdout {
# JSON格式输出
codec => json_lines
}
}

  

注意:这里边需要先安装下mysql-connector-java-5.1.46.jar包,存放到以上指定位置

配置pipelines.yml

vi /usr/local/logstash-6.4.3/config/pipelines.yml

  

在文件底部添加

- pipeline.id: user
path.config: "/usr/local/logstash-6.4.3/config/logstash.conf"

  

启动logstash

cd /usr/local/logstash-6.4.3

./bin/logstash -f

  

  

命令行启动(-e的意思允许命令行启动)

bin/logstash -e 'input { stdin {} } output { stdout {} }'

  

启动后输入hello world

logstash 默认读取文件位置为

/usr/local/logstash-6.4.3/config/pipelines.yml

  

当然,你也可以新建文件 启动时候指定一下

./bin/logstash -f filename

  

命令行参数解释

-e 执行一段字符串脚本
-f 或–config 指定配置, logstash -f /etc/logstash.d/会自动读取该目录下所有文件文本,拼接成完整的大配置,各小配置会以字母排序加载,因此最后以数字编号方式命令配置文件
-t 测试配置文件是否能正常解析
-l或–log ,logstash默认输出日志到标准错误。该选项可指定日志输出位置,如 bin/logstash -l logs/logstash.log
–pipeline-workers或-w, 运行filter和output的pipline线程数量,默认是cpu核数
–pipeline-batch-size或-b, 每个logstash pipline线程,在执行具体filter和output函数之前,最多能累积的日志条数,默认125条,越大性能越好,消耗jvm内存也越大
–pipline-batch-delay或-u, 每个线程在打包批量日志的时候,最多等到几毫秒,默认5ms
–pluginpath或-P, bin/logstash –pluginpath /path/to/own/plugins加载插件
–verbose, 输出一定调试日志
–debug输出更多调试日志

  

启动自动配置加载

bin/logstash -f first-pipeline.conf --config.reload.automatic

 --config.reload.automatic选项的意思是启用自动配置加载,以至于每次你修改完配置文件以后无需停止然后重启Logstash

&符号 保证关闭当前窗口程序依旧运行

bin/logstash  &

  

【最新】 ELK之 logstash 同步数据库数据到Elasticsearch的更多相关文章

  1. 【记录】ELK之logstash同步mysql数据到Elasticsearch ,配置文件详解

    本文出处:https://my.oschina.net/xiaowangqiongyou/blog/1812708#comments 截取部分内容以便学习 input { jdbc { # mysql ...

  2. centos7配置Logstash同步Mysql数据到Elasticsearch

    Logstash 是开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中.个人认为这款插件是比较稳定,容易配置的使用Logstash之前,我们得明确 ...

  3. Centos8 部署 ElasticSearch 集群并搭建 ELK,基于Logstash同步MySQL数据到ElasticSearch

    Centos8安装Docker 1.更新一下yum [root@VM-24-9-centos ~]# yum -y update 2.安装containerd.io # centos8默认使用podm ...

  4. Logstash同步Oracle数据到ElasticSearch

    最近在项目上应用到了ElasticSearch和Logstash,在此主要记录了Logstash-input-jdbc同步Oracle数据库到ElasticSearch的主要步骤,本文是对环境进行简单 ...

  5. 实战ELK(6)使用logstash同步mysql数据到ElasticSearch

    一.准备 1.mysql 我这里准备了个数据库mysqlEs,表User 结构如下 添加几条记录 2.创建elasticsearch索引 curl -XPUT 'localhost:9200/user ...

  6. 使用logstash同步mysql数据到elasticsearch

    下载 logstash tar -zxvf https://artifacts.elastic.co/downloads/logstash/logstash-6.3.2.tar.gz .tar.gz ...

  7. logstash同步mongodb数据到elasticsearch

    一.安装logstash 二.安装mongodb插件 cd D:\Software\ELK5.5.0\logstash-5.5.0\bin logstash-plugin install logsta ...

  8. 使用logstash同步MySQL数据到ES

    使用logstash同步MySQL数据到ES 版权声明:[分享也是一种提高]个人转载请在正文开头明显位置注明出处,未经作者同意禁止企业/组织转载,禁止私自更改原文,禁止用于商业目的. https:// ...

  9. Logstash学习之路(四)使用Logstash将mysql数据导入elasticsearch(单表同步、多表同步、全量同步、增量同步)

    一.使用Logstash将mysql数据导入elasticsearch 1.在mysql中准备数据: mysql> show tables; +----------------+ | Table ...

随机推荐

  1. django报错

    报错: SyntaxError Generator expression must be parenthesized 问题原因: 由于django 1.11版本和python3.7版本不兼容, 2.0 ...

  2. openssl版本升级

    1.查看openssl版本 [root@node2 openssh-8.0p1]# openssl version OpenSSL 1.0.1e-fips 11 Feb 2013 2.下载指定版本的o ...

  3. Center OS 7

    1:关闭防火墙 systemctl stop iptables.service 2:禁止开启启动 systemctl disable firewalld.service 3:查看防火墙 firewal ...

  4. Java Web入门二

    Web应用服务器 供向外发布web资源的服务器软件. Web资源 存在于Web服务器可供外界访问的资源就是web资源.例如:存在于web服务器内部的Html.CSS.js.图片.视频等. 静态资源 w ...

  5. MySQL查看表索引

    mysql> show index from tblname; mysql> show keys from tblname; · Table 表的名称. · Non_unique 如果索引 ...

  6. moment.js时间格式化库

    网址:momentjs.cn 主要用来操作时间的格式化.通过发送API请求获取到的数据中:例如[新闻]中的 发布时间,有的时候.请求到的时间,后台没处理过,那么只能前端来操作数据了. moment.j ...

  7. python每日练习

    """ 习题 1:一个列表,排重,不能用 set,也不能用字典 """ #方法一1:循环.遍历 l = [1,1,1,2,2,3,4,4,6 ...

  8. Maven开始

    1:加入Maven插件: 这句话的意思是: 从本地仓库找到相应的jar包 <localRepository>F:\RepMaven</localRepository 2:创建一个Ma ...

  9. mock.js模拟生成假数据

    mock使用方法很简单, 下面是简单的用法, 详细的用法可以看官方文档, 写的很清楚, 下面的代码直接拷贝到本地html文件, 双击打开即可生成你想要的数据 <!DOCTYPE html> ...

  10. CF 39E. What Has Dirichlet Got to Do with That?(记忆化搜索+博弈论)

    传送门 解题思路 首先很好写出一个\(O(ab)\)的记搜,但发现这样无法处理\(a=1\)和\(b=1\)的情况,这两种情况需要特判.首先\(a=1\)的情况,就是如果当前选手让\(a+1\)必胜, ...