logstash-output-jdbc插件的在线安装and离线安装

应用场景:
利用logstash-output-jdbc插件,将logstash中的数据吸入mysql数据库。

logstash版本: logstash-6.8.0

一、在线安装 logstash-output-jdbc
进入 logstash安装目录

cd /opt/logstash-6.8.0 
bin/logstash-plugin install --no-verify logstash-output-jdbc

安装报错:

[root@pc1 logstash-6.8.0]# bin/logstash-plugin install --no-verify logstash-output-jdbc
Installing logstash-output-jdbc
Error Bundler::HTTPError, retrying 1/10
Could not fetch specs from https://rubygems.org/
Error Bundler::HTTPError, retrying 2/10
Could not fetch specs from https://rubygems.org/
...

原因: https://rubygems.org/ 源被墙了

切换源: https://gems.ruby-china.com/

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

查看当前源:

gem sources -l

如切换成功,可以看到 只有 https://gems.ruby-china.com
安装命令:

bin/logstash-plugin install --no-verify logstash-output-jdbc

将mysql-connector-jar对应版本的jar包放入logstash-core/lib/jars目录下,完成。

二、离线安装: logstash-output-jdbc

下载离线安装包:https://github.com/theangryangel/logstash-output-jdbc,上传到服务器并解压
1、Gemfile文件添加 gem “logstash-jdbc-output”, :path => “你的插件zip解压后的全路径” 。
2、执行 bin/logstash-plugin install --no-verify ,如果你的源不正确仍然会报错。但不用在意,往下执行。
3、bin/logstash-plugin list查看是否安装成功
在这里插入图片描述
4、将mysql-connector-jar对应版本的jar包放入logstash-core/lib/jars目录下,完成。

三、“移植”安装

解决生产环境部署时,无网络状态下的logstash-output-jdbc插件安装

1、找一个安装好logstash-output-jdbc的logstash环境,然后在安装好的环境上执行打包插件命令
bin/logstash-plugin prepare-offline-pack logstash-output-jdbc
2、然后将打包好的这个zip包(logstash-offline-plugins-6.8.0.zip)上传到 无网络的linux主机
3、执行bin/logstash-plugin install file:///opt/logstash/logstash-6.8.0/logstash-offline-plugins-6.8.0.zip
4、将mysql-connector-jar对应版本的jar包放入logstash-core/lib/jars目录下,完成

使用示例:
logstash.conf

stdout {codec => rubydebug}
    jdbc{
      #由于我将mysql-connector-java-8.0.15.jar放置在 logstash-core/lib/jars目录下了,所以 driver_jar_path 这个参数可以省略不写
      #driver_jar_path => "/usr/local/logstash-6.8.0/vendor/jar/jdbc/mysql-connector-java-8.0.15.jar"
      driver_class => "com.mysql.cj.jdbc.Driver"
      connection_string => "jdbc:mysql://yourMySqlIp:3306/edr_end?characterEncoding=utf8&useSSL=false&user=root&password=123456"
      #我这里用 ON DUPLICATE KEY UPDATE 做了 添加或更新 操作,需要在 mysql表中做 设置唯一主键,主键不存在 则 新增;主键存在 则 更新 
      statement =>["insert into t_host_info(host_id,date,system,cpu,host,memory,disk,display_card) values(?,?,?,?,?,?,?,?) ON DUPLICATE KEY UPDATE date=values(date),system=values(system),cpu=values(CPU),host=values(host),memory=values(memory),disk=values(disk),display_card=values(display_card)","[hostId]","[now()]","[system]","[CPU]","[host]","[memory]","[disk]","[displayCard]"]
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值