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 &