【工具安装】logstash的安装

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: Logstash 它是 ES 下的一款开源软件,它能够同时从多个来源采集数据、转换数据,然后将数据发送到 Eleasticsearch 中创建索引。 我们在项目中通常使用 Logstash 将数据库(如 MySQL)中的数据采用到ES索引中。也就是Logstash的工作是从MySQL中读取数据,向ES中创建索引,这里需要提前创建mapping的模板文件以便logstash使用。

一、Logstash的介绍

Logstash 它是 ES 下的一款开源软件,它能够同时从多个来源采集数据、转换数据,然后将数据发送到 Eleasticsearch 中创建索引。

我们在项目中通常使用 Logstash 将数据库(如 MySQL)中的数据采用到ES索引中。也就是Logstash的工作是从MySQL中读取数据,向ES中创建索引,这里需要提前创建mapping的模板文件以便logstash使用。

二、下载Logstash

官网下载地址:https://www.elastic.co/cn/downloads/logstash

1.png

解压:

2.png

这是解压后的目录结构。

三、安装logstash-input-jdbc


为什么要安装logstash-input-jdbc呢?


因为版本不同,自身所带的插件也不同,本文所说的是6.x的版本。而6.x版本本身不带logstash-input-jdbc插件,需要手动安装。Logstash5.x以上版本本身自带有logstash-input-jdbc

3.png

logstash-input-jdbc 是ruby开发的,先下载ruby并安装


下载地址: https://rubyinstaller.org/downloads/


下载2.5版本即可。


安装完成查看是否安装成功

4.png

安装成功后我们可以在logstash根目录下的以下目录查看对应的插件版本:

5.png

如果想省事的话,可以下载解压本文提供的logstash-6.2.1.zip,此logstash中已集成了logstash-input-jdbc插件。

四、配置mysql.conf

logstashconfig目录下配置mysql.conf文件供logstash使用,logstash会根据mysql.conf文件的配置的地址从MySQL中读取数据向ES中写入索引。(本文讲的数据库是MySQL)

参考 https://www.elastic.co/guide/en/logstash/current/plugins-inputs-jdbc.html

配置输入数据源和输出数据源。


input {
stdin {
  }
jdbc {
jdbc_connection_string=>"jdbc:mysql://localhost:3306/jy_brand?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC"# the user we wish to excute our statement asjdbc_user=>"root"jdbc_password=>123456# the path to our downloaded jdbc driver  jdbc_driver_library=>"F:/develop/maven/repository3/mysql/mysql-connector-java/5.1.41/mysql-connector-java-5.1.41.jar"# the name of the driver class for mysqljdbc_driver_class=>"com.mysql.jdbc.Driver"jdbc_paging_enabled=>"true"jdbc_page_size=>"50000"#要执行的sql文件#statement_filepath => "/conf/course.sql"statement=>"select * from course_pub where timestamp > date_add(:sql_last_value,INTERVAL 8 HOUR)"#定时配置schedule=>"* * * * *"record_last_run=>truelast_run_metadata_path=>"D:/ElasticSearch/logstash-6.2.1/config/logstash_metadata"  }
}
output {
elasticsearch {
#ES的ip地址和端口hosts=>"localhost:6200"#hosts => ["localhost:6200","localhost:6202","localhost:6203"]#ES索引库名称index=>"jy_brand"document_id=>"%{id}"document_type=>"doc"template=>"D:/ElasticSearch/logstash-6.2.1/config/jy_brand_template.json"template_name=>"jy_brand"template_overwrite=>"true"  }
stdout {
#日志输出codec=>json_lines  }
}

特别说明:

1、ES采用UTC时区问题


ES采用UTC 时区,比北京时间早8小时,所以ES读取数据时让最后更新时间加8小时

wheretimestamp> date_add(:sql_last_value,INTERVAL 8 HOUR)


2、增量同步数据


logstash每个执行完成会在D:/ElasticSearch/logstash-6.2.1/config/logstash_metadata记录执行时间下次以此时间为基准进行增量同步数据到索引库。



完结!

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
gitlab迁移后报错OpenL::cipher::CipherError
gitlab迁移后报错OpenL::cipher::CipherError
366 0
|
域名解析 缓存 网络协议
|
JavaScript Windows
Win7内网安装高版本的Node方法,亲测有效node-v16.16.0
Win7内网安装高版本的Node方法,亲测有效node-v16.16.0
2192 1
|
7月前
|
开发框架 人工智能 API
《鸿蒙开发工具链深度洞察:优缺剖析与提效指南》
鸿蒙系统作为创新型操作系统,其应用开发工具链具备显著优势:统一开发框架支持多设备适配,丰富易用的API简化功能实现,DevEco Studio提供强大开发支持,实时预览与热更新提升效率。然而,生态成熟度、多端深度优化及部分高级功能仍有不足。开发者可通过深入学习工具、利用开源资源、优化流程和提前规划适配来提高效率。随着工具链不断完善,开发者将助力鸿蒙生态繁荣发展。
348 0
|
Kubernetes API 调度
在K8S中,创建pod过程?
在K8S中,创建pod过程?
|
Linux Apache
Linux【环境部署 02】yum源镜像下载+挂载镜像+本地yum源配置+局域网yum源服务搭建+局域网yum源使用(一篇学会离线yum源配置)
Linux【环境部署 02】yum源镜像下载+挂载镜像+本地yum源配置+局域网yum源服务搭建+局域网yum源使用(一篇学会离线yum源配置)
6188 0
|
10月前
|
消息中间件 存储 缓存
一文带你秒懂 Kafka工作原理!
Apache Kafka 是一个高吞吐量、低延迟的分布式消息系统,广泛应用于实时数据处理、日志收集和消息队列等领域。它最初由LinkedIn开发,2011年成为Apache项目。Kafka支持消息的发布与订阅,具备高效的消息持久化能力,适用于TB级数据的处理。
|
8月前
|
Ubuntu Linux Docker
如何在Ubuntu 20.04系统中安装Docker
安装 Docker 引擎的步骤如下:首先更新系统包索引 (`sudo apt update`),安装必要依赖包 (`apt-transport-https` 等),添加 Docker 官方 GPG 密钥及 APT 仓库。接着再次更新包索引并安装 Docker 引擎及相关工具 (`docker-ce` 等)。最后启动 Docker 服务并设置开机自启,通过 `docker --version` 和运行测试容器 (`sudo docker run hello-world`) 验证安装是否成功。
2622 0
|
12月前
|
Prometheus Kubernetes 监控
告警规则设置方法
告警规则设置方法
394 3
|
12月前
|
Prometheus Kubernetes Cloud Native
Prometheus的告警配置
【10月更文挑战第31天】Prometheus的告警配置
647 1