java环境这里默认安装了 ,一般源码安装,这里就不说了

一、安装logstash

安装logstash可以用yum安装,也可以用源码安装:

yum安装:

1.导入GPG:

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

2.创建repo文件,vim /etc/yum.repos.d/logstash.repo

[logstash-.x]
name=Elastic repository for .x packages
baseurl=https://artifacts.elastic.co/packages/5.x/yum
gpgcheck=
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=
autorefresh=
type=rpm-md

3.安装logstash

yum install logstash

二、源码安装(推荐)

1.官网下载需要的稳定版本

2.解压:

unzip logstash-5.5..zip

3.移到安装目录,创建软链接,我这里安装到/opt/app目录

mv logstash-5.5. /opt/app/
ln -s logstash-5.5./ logstash

4.修改配置文件

vim /opt/app/logstash/config/logstash.yml

path.data: /opt/app/logstash/data/
pipeline.workers:
pipeline.output.workers:
pipeline.batch.size:
path.config: /opt/app/logstash/etc #放配置文件
config.reload.automatic: false #这里yes的话后面会报错,后面有提到这个问题
config.reload.interval:
path.logs: /data/logs/logstash

vim /opt/app/logstash/config/startup.options  修改部分选项如下:

JAVACMD=/opt/app/jdk/bin/java
LS_HOME=/opt/app/logstash
LS_JAVA_OPTS="/opt/app/jdk"
LS_PIDFILE=/opt/app/logstash/run/logstash.pid
LS_USER=logstash
LS_GROUP=logstash
LS_GC_LOG_FILE=/data/logs/logstash/gc.log

5.创建目录和用户

useradd -g  -u  logstash -s /sbin/nologin
mkdir /opt/app/logstash/run -p
mkdir /data/logs/logstash -p
mkdir /opt/app/logstash/data/ -p
mkdir /opt/app/logstash/etc -p
chown logstash:logstash /opt/app/logstash -R
chown logstash:logstash /data/logs/logstash

6.创建启动脚本,通过systemd管理:

vim /etc/systemd/system/logstash.service

[Unit]
Description=logstash [Service]
Type=simple
User=logstash
Group=logstash
EnvironmentFile=-/etc/default/logstash
#ExecStart=/opt/app/logstash/bin/logstash
ExecStart=/opt/app/logstash/bin/logstash --path.settings /opt/app/logstash/config
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=always
WorkingDirectory=/
Nice=
LimitNOFILE= [Install]
WantedBy=multi-user.target

vim /etc/default/logstash

JAVACMD="/opt/app/jdk/bin/java"
LS_HOME="/opt/app/logstash"
LS_SETTINGS_DIR="/opt/app/logstash/config"
LS_PIDFILE="/opt/app/logstash/run/logstash.pid"
LS_USER="logstash"
LS_GROUP="logstash"
LS_GC_LOG_FILE="/data/logs/logstash/gc.log"
LS_OPEN_FILES=""
LS_NICE=""
SERVICE_NAME="logstash"
SERVICE_DESCRIPTION="logstash"

这样logstash就可以启动了

三、实现logstash写入mariadb数据到elasticsearch

1.安装插件:(这是一个基于jdbc的数据导入插件,可以从各种能对接此驱动的数据库导入数据到ES,还可以自行设定导入执行频率,规则等。

cd /opt/app/logstash
bin/logstash-plugin install logstash-input-jdbc

出现success表明安装成功

tips:

安装插件国外源太慢,解决办法:

(1)先安装gem

yum install gem

(2)替换国内的镜像

gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/

(3)验证是否成功

#gem sources -l
***CURRENTSOURCES*** https://gems.ruby-china.org/

(4)修改Gemfile数据源地址

cd /opt/app/logstash
修改Gemfile文件的source的值为:“https://gems.ruby-china.org/”
修改Gemfile.jruby-1.9.lock文件的remote的值为:“https://gems.ruby-china.org/

(5)执行安装插件

bin/logstash-plugin install logstash-input-jdbc

2.安装所需的java驱动包:

下载地址

解压到自定义目录,这个路径会在logstash配置文件中配置使用,我这里是:

/opt/app/logstash/lib/mysql-connector-java-5.1.44

3.生成配置文件,这里有工具可以生成

、、、、、、

tips:

logstash 启动后报错:

Logstash is not able to start since configuration auto reloading was enabled but the configuration contains plugins that don't support it. Quitting... {:pipeline_id=>"main", :plugins=>[LogStash::Inputs::Stdin]}

解决办法:

config.reload.automatic: false #关闭这个选项

最新文章

  1. Dcloud HTML5 监听蓝牙设备 调用 原生安卓实现
  2. 安装完CentOS 7 后必做的七件事
  3. Java server数据之(4):Redis鸟瞰
  4. Android ViewPager轮播图
  5. Log4j2在WEB项目中配置
  6. C 小复习
  7. Windows下移动硬盘无法识别但是Mac下可以识别
  8. Android Studio导入GitHub上的项目常见问题(以图片轮播开源项目为实例)
  9. IOS 特定于设备的开发:处理基本方向
  10. 在uboot里面加入环境变量使用run来运行
  11. C陷阱与缺陷 第一章
  12. 旋转图css3
  13. vim 和grep 正则表达式相似和区别
  14. CodeForces 407C 组合数学(详解)
  15. 2017-12-15python全栈9期第二天第六节之三次登陆机会升级版再试试
  16. WCF传输过大的数据导致失败的解决办法
  17. Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[0]'
  18. linux安装composer及安装yii2
  19. PyQt5系列教程(九)QInputDialog的使用
  20. 批量删除进程清理 minerd

热门文章

  1. 【原创】配置Windows Live Writer,写cnblogs博客
  2. DB2—alter追加/删除/重置column操作
  3. [thinkphp] APP_DEBUG开启之后session不稳定
  4. Codeforces Round #447 (Div. 2) C. Marco and GCD Sequence【构造/GCD】
  5. ECNU 3462 最小 OR 路径 (贪心 + 并查集)
  6. Xamarin.Android真机测试提示[INSTALL_FAILED_UPDATE_INCOMPATIBLE]
  7. POJ 3057 Evacuation(二分图匹配+BFS)
  8. 本地navicatl连接linux
  9. NOI2016 高中OI生涯的最后一站
  10. 数值计算方法 | C语言实现几个数值计算方法(实验报告版)