当前位置: 首页 > news >正文

windows环境下安装logstash同步数据,注册系统服务

windows环境下安装logstash同步数据,注册系统服务

此方法适用于Windows环境,同一个配置文件配置多个管道,并且配置系统服务,防止程序被杀进程

一、安装logstash

(1)下载压缩包,解压后修改config文件夹中的logstash-sample.conf文件

# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.input {
# 日志列表
jdbc {jdbc_driver_library => "D:\logstash-7.2.0\logstash-7.2.0\lib\ojdbc8-19.3.0.0.jar"jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver"jdbc_connection_string => "jdbc:oracle:thin:@127.0.0.1:1521:orcl"jdbc_user => "admin"jdbc_password => "123456"# statement => "SELECT * FROM tb_hotel"statement_filepath => "D:\logstash-7.2.0\logstash-7.2.0\sql\admin_gatelog.sql"jdbc_paging_enabled => truejdbc_page_size => 10000jdbc_default_timezone => "Asia/Shanghai"schedule => "* * * * *"# 是否开启记录上次追踪的结果,也就是上次更新的时间,这个会记录到 last_run_metadata_path 的文件record_last_run => true# 需要记录查询结果某字段的值时,此字段为true,否则默认tracking_column为timestamp的值use_column_value => true# 记录上一次追踪的结果值last_run_metadata_path => "D:\logstash-7.2.0\logstash-7.2.0\sync\last_run_gatelog.yml"# 如果 use_column_value 为true, 配置本参数,追踪的 column 名,可以是自增id或者时间tracking_column => "crtTime"# tracking_column 对应字段的类型tracking_column_type => "timestamp"# 是否清除 last_run_metadata_path 的记录,true则每次都从头开始查询所有的数据库记录clean_run => false}
# 文件管理
jdbc {jdbc_driver_library => "D:\logstash-7.2.0\logstash-7.2.0\lib\ojdbc8-19.3.0.0.jar"jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver"jdbc_connection_string => "jdbc:oracle:thin:@127.0.0.1:1521:orcl"jdbc_user => "mbbb"jdbc_password => "123456"# statement => "SELECT * FROM tb_hotel"statement_filepath => "D:\logstash-7.2.0\logstash-7.2.0\sql\admin_fileManage.sql"jdbc_paging_enabled => truejdbc_page_size => 10000jdbc_default_timezone => "Asia/Shanghai"schedule => "* * * * *"# 是否开启记录上次追踪的结果,也就是上次更新的时间,这个会记录到 last_run_metadata_path 的文件record_last_run => true# 需要记录查询结果某字段的值时,此字段为true,否则默认tracking_column为timestamp的值use_column_value => true# 记录上一次追踪的结果值last_run_metadata_path => "D:\logstash-7.2.0\logstash-7.2.0\sync\last_run_file_manage.yml"# 如果 use_column_value 为true, 配置本参数,追踪的 column 名,可以是自增id或者时间tracking_column => "create_time"# tracking_column 对应字段的类型tracking_column_type => "timestamp"# 是否清除 last_run_metadata_path 的记录,true则每次都从头开始查询所有的数据库记录clean_run => false
}
# 消息审计
jdbc {jdbc_driver_library => "D:\logstash-7.2.0\logstash-7.2.0\lib\ojdbc8-19.3.0.0.jar"jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver"jdbc_connection_string => "jdbc:oracle:thin:@127.0.0.1:1521:orcl"jdbc_user => "admin"jdbc_password => "123456"# statement => "SELECT * FROM tb_hotel"statement_filepath => "D:\logstash-7.2.0\logstash-7.2.0\sql\admin_messageLog.sql"jdbc_paging_enabled => truejdbc_page_size => 10000jdbc_default_timezone => "Asia/Shanghai"schedule => "* * * * *"# 是否开启记录上次追踪的结果,也就是上次更新的时间,这个会记录到 last_run_metadata_path 的文件record_last_run => true# 需要记录查询结果某字段的值时,此字段为true,否则默认tracking_column为timestamp的值use_column_value => true# 记录上一次追踪的结果值last_run_metadata_path => "D:\logstash-7.2.0\logstash-7.2.0\sync\last_run_message_log.yml"# 如果 use_column_value 为true, 配置本参数,追踪的 column 名,可以是自增id或者时间tracking_column => "createtime"# tracking_column 对应字段的类型tracking_column_type => "timestamp"# 是否清除 last_run_metadata_path 的记录,true则每次都从头开始查询所有的数据库记录clean_run => false
}beats {port => 5044}stdin{}
}filter {}output {elasticsearch {hosts => ["http://127.0.0.1:9201","http://127.0.0.1:9202","http://127.0.0.1:9203"]# index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"index => "%{es_index}_index"document_type => "doc"document_id => "%{id}"user => "elastic"password => "elastic"}stdout{}
}

(2)在sql文件夹中创建admin_gatelog.sql文件

select 'gate_log'                                 as es_index,  # 必须ROWNUM,   # 必须ID,   # 必须MENU,OPT,URI,to_char(CRT_TIME, 'YYYY-MM-DD HH24:MI:SS') as crtTime, # 必须  和tracking_column对应,任何时间字段都可CRT_USER                                   as crtUser,CRT_NAME                                   as crtName,CRT_HOST                                   as crtHost,IS_SUCCESS                                 as isSuccess,P_ID                                       as pId,OPT_INFO                                   as optInfo,ORG_NAME                                   as orgName,ORG_CODE                                   as orgCode,PATH_CODE                                  as pathCode,PATH_NAME                                  as pathName
from TABLE
where to_timestamp(to_char(CRT_TIME, 'YYYY-MM-DD HH24:MI:SS'), 'YYYY-MM-DD HH24:MI:SS') > :sql_last_value

(3)在symc文件夹中创建 某某.yml文件用来记录数据中最后同步的日期

(4)修改jvm.options的

-Xms5g
-Xmx5g

(5)查看lib 、sql、sync文件夹的配置(没有这些文件夹的请创建),其中:

lib里面放着oracle数据库连接的驱动。(mysql也可以)

sql里面放着配置的要执行的sql文件。

sync里面放着每条sql查询数据全部同步完成后的最新数据的的日期(指定字段的最新日期)

(6)进入到bin目录启动logstash

D:\logstash-7.2.0\logstash-7.2.0\bin>logstash -f D:\logstash-7.2.0\logstash-7.2.0\config\logstash-sample.conf

(7)windows环境下配置系统服务

详细配置请查看附属文档nssm将logstash注册系统服务.pdf

二、附加

影响插入性能的主要因素如下:

一. 服务端

1、磁盘写入速度:越快越好,最好是SSD以上。
2、CPU运算性能:越快越好,多核心可能有益处。
3、内存用量:内存用量大,分配更大容量较好。
4、分片数:与节点数相关,默认5个分片较好。尽量不要让主分片分布在低速节点上。若集群中节点是高低性能搭配的情况,则只分配1个主分片到高速节点上较好,低速节点可用于添加副本。初始导入大量数据前设置索引的副本数为0,导入完成后再开启期望副本数,副本的存在对导入效率的影响成倍提高。
二. 客户端

客户端提交数据采用bulk方式效率高,transport-client略快于rest-client。异步提交比同步提交更能压榨服务器性能。综合比较建议采用bulk+rest+async组合。
bulk批次大小,一般单笔1000条以上或传输数据量在5M-15M左右。实测当中,主要观察服务器处理能力,若服务器处理时间较长导致异步提交响应超时,则要降低单笔传送数据量。

关于分片和副本
1、若索引的分片数(shards)大于1,则索引数据将自动分布在多个分片上,若每个分片分布在不同的实体节点上,则大批量提交数据时可将写入操作分布到不同节点并发进行,从而会提高写入速度。分片数这个参数在创建索引时就固化下来,以后难以更改。
2、副本(replica)是分片的数据备份,同时也提供查询功能。若设置副本数为1,则每个分片都会有1个副本。大批量提交数据时,副本的存在会使得写入数据时间加倍。所幸副本数这个参数可以随时调整,在大批量导入操作开始时将其设置为0,待导入数据完成再修改为1即可,ES引擎会自动处理副本数据。

三、解决elasticsearch限制:

logstash.outputs.elasticsearch] retrying failed action with response code: 429 ({"type"=>"circuit_breaking_exception", "reason"=>"[parent] Data too large, data for [<transport_request>] would be [255226018/243.4mb], which is larger than the limit of [246546432/235.1mb], real usage: [255206808/243.3mb], new bytes reserved: [19210/18.7kb]", "bytes_wanted"=>255226018, "bytes_limit"=>246546432, "durability"=>"PERMANENT"})

添加或修改相关配置项:在 elasticsearch.yml 文件中,你可以添加或修改与数据大小限制有关的配置项。以下是一些常用的配置项:

  • indices.breaker.total.limit:这个配置项用于设置整个索引的数据大小限制。你可以将其设置为你希望的限制值。例如,将限制设置为 1GB:

    indices.breaker.total.limit: 1gb
    
  • indices.breaker.total.use_real_memory:默认情况下,Elasticsearch 使用 Java 运行时环境的堆内存大小来计算数据大小限制。你可以将此配置项设置为 false,以使用 Elasticsearch 自己的内存计算,这有助于更精确地控制限制。例如:

    indices.breaker.total.use_real_memory: false
    

相关文章:

windows环境下安装logstash同步数据,注册系统服务

windows环境下安装logstash同步数据&#xff0c;注册系统服务 此方法适用于Windows环境&#xff0c;同一个配置文件配置多个管道&#xff0c;并且配置系统服务&#xff0c;防止程序被杀进程 一、安装logstash &#xff08;1&#xff09;下载压缩包&#xff0c;解压后修改con…...

java服务内存说明及配置详解

java进程内存 JVM内存分布图: 【java进程内存】【堆外内存】 【jvm堆内存】 【堆外内存】 【Metaspace】 【Direct Memory】【JNI Memory】【code_cache】 … 堆外内存泄漏的排查在于【本地内存&#xff08;Native Memory&#xff09;】【Direct Memory】【JNI Memory】 一般…...

Mybatis-MyBatis的缓存

Mybatis-MyBatis的缓存 一、MyBatis的一级缓存二、MyBatis的二级缓存二级缓存的相关配置 三、MyBatis缓存查询的顺序 一、MyBatis的一级缓存 一级缓存是SqlSession级别的&#xff0c;通过同一个SqlSession查询的数据会被缓存&#xff0c;下次查询相同的数据&#xff0c;就 会从…...

计算机组成原理之硬件的基本组成,深入介绍两大计算机结构体系,从底层出发认识计算机。

大家好&#xff0c;欢迎阅读《计算机组成原理》的系列文章&#xff0c;本系列文章主要的内容是从零学习计算机组成原理&#xff0c;内容通俗易懂&#xff0c;大家好好学习吧&#xff01;&#xff01;&#xff01; 更多的优质内容&#xff0c;请点击以下链接查看哦~~ ↓ ↓ ↓ …...

二十五、MySQL事务的四大特性和常见的并发事务问题

1、事务的四大特性 2、常见的并发事务问题 &#xff08;1&#xff09;并发事务问题分类&#xff1a; &#xff08;2&#xff09;脏读&#xff1a; 一个事务正在对一条记录做修改&#xff0c;在这个事务完成并提交前&#xff0c;这条记录的数据就处于不一致的状态&#xff1b;…...

辨析常见的医学数据分析(相关性分析回归分析)

目录 1 常见的三种分类结果&#xff1f; 2 什么是相关性分析&#xff1f; 相关性分析的结果怎么看&#xff1f; 3 什么是回归分析&#xff1f; 1&#xff09;前提 2&#xff09;常见的回归模型 4 对于存在对照组实验的医学病例如何分析&#xff1f; 1&#xff09;卡方检验…...

SpringBoot项目中只执行一次的任务写法

SpringBoot项目中只执行一次的任务写法 有时候我们需要进行初始化工作&#xff0c;就说明只要进行一次的工作&#xff0c;那么&#xff0c;在Springboot项目中如何做到任务只进行一次呢 利用定时任务 在Spring Boot项目中&#xff0c;你可以使用Spring框架提供的Scheduled注解…...

TCK、TMS、TDI、TDO的含义

这四个信号是JTAG&#xff08;Joint Test Action Group&#xff09;界面的一部分。JTAG是一种用于测试和验证集成电路和印刷电路板的技术&#xff0c;也用于进行设备编程和调试。这四个信号分别是&#xff1a; TCK (Test Clock)&#xff1a; 意义&#xff1a;测试时钟&#xff…...

R语言RSTAN MCMC:NUTS采样算法用LASSO 构建贝叶斯线性回归模型分析职业声望数据...

全文链接&#xff1a;http://tecdat.cn/?p24456 如果你正在进行统计分析&#xff1a;想要加一些先验信息&#xff0c;最终你想要的是预测。所以你决定使用贝叶斯&#xff08;点击文末“阅读原文”获取完整代码数据&#xff09;。 相关视频 但是&#xff0c;你没有共轭先验。你…...

【PowerShell】PowerShell的Core版本的额外配置

在PowerShell 7.1 安装完成后,默认情况下打开PowerShell 会直接进入到系统内置的PowerShell,如果希望通过远程连接或者PowerShell Web Access 进入到PowerShell 7环境的界面,就需要进行环境的再配置才能实现PowerShell 7.1 的环境连接。需要为外部的环境提供连接的话需要按照…...

数据结构----链式栈

目录 前言 链式栈 操作方式 1.存储结构 2.初始化 3.创建节点 4.判断是否满栈 5.判断是否空栈 6.入栈 7.出栈 8.获取栈顶元素 9.遍历栈 10.清空栈 完整代码 前言 前面我们学习过了数组栈的相关方法&#xff0c;&#xff08;链接&#xff1a;线性表-----栈&#xff08;栈…...

实在智能携手40+央企,探索财务大模型及数智化实践与应用

“这次培训给我一个最大的感触就是&#xff0c;过去以为AI智能化、大模型技术是很高深的事情。但现在&#xff0c;我们通过RPA等数字化工具&#xff0c;自主根据自己的工作岗位&#xff0c;完成业务自动化流程的开发和设计。AI技术没有想象中的那么难入门。” 这是一位参加了“…...

upload-labs文件上传1-5关

第一关 编写一句话木马1.php&#xff0c;编写完成后将后缀名修改为png 将1.png上传&#xff0c;上传时使用bp抓包 抓包后将后缀名修改为png 连接蚁剑 第二关 上传1.php&#xff0c;显示文件类型不正确 使用bp抓包发送重发器&#xff0c;修改文件后缀名后点击发送&#xff0c;…...

git的基本使用

查看当前分支 git branch //查看本地分支 git branch -a // 查看本地和远程的分支切分支 git checkout -b 分支的名字从当前分支切换到其他分支 拉取远程分支到本地 拉取远程develop分支代码到本地develop分支 git checkout -b develop origin/developgit merge B分支合并…...

Mac台式电脑内存清理方法教程

对于一些小白用户&#xff0c;如果觉得以上的清理方法比较复杂却又想要更好的优化Mac电脑内存&#xff0c;专业的系统清理软件是一个不错的选择。比起花几个小时时间浏览文件夹、删除临时文件、缓存和卸载残留。Cleanmymac X&#xff0c;只需单击几下即可完成所有内存清理工作&…...

FL Studio怎么破解?2023年最新FL Studio 21图文安装激活教程?FL 21中文版下载 v21.1.1.3750 汉化 版

fl studio21中文解锁特别破解版是一款功能强大的编曲软件&#xff0c;也就是众所熟知的水果软件。它可以编曲、剪辑、录音、混音&#xff0c;让您的计算机成为全功能录音室。除此之外&#xff0c;这款软件功能非常强大&#xff0c;为用户提供了许多音频处理工具&#xff0c;包含…...

Zookeeper高级_四字命令

之前使用stat命令来验证ZooKeeper服务器是否启动成功&#xff0c;这里的stat命令就是ZooKeeper 中最为典型的命令之一。ZooKeeper中有很多类似的命令&#xff0c;它们的长度通常都是4个英文字母&#xff0c;因此我们称之为“四字命令”。 添加配置 vim zoo.cfg 4lw.commands…...

/usr/bin/ld: cannot find -lmysqlcllient

文章目录 1. question: /usr/bin/ld: cannot find -lmysqlcllient2. solution 1. question: /usr/bin/ld: cannot find -lmysqlcllient 2. solution 在 使用编译命令 -lmysqlclient时&#xff0c;如果提示这个信息。 先确认一下 有没有安装mysql-devel 执行如下命令 yum inst…...

折线图geom_line()参数选项

往期折线图教程 图形复现| 使用R语言绘制折线图折线图指定位置标记折线图形状更改 | 绘制动态折线图跟着NC学作图 | 使用python绘制折线图 前言 我们折线的专栏推出一段时间&#xff0c;但是由于个人的原因&#xff0c;一直未进行更新。那么今天&#xff0c;我们也参考《R语…...

百度SEO优化基本原理(掌握SEO基础,提高网站排名)

随着互联网的迅速发展&#xff0c;越来越多的企业开始意识到网站优化的重要性&#xff0c;其中百度SEO优化是企业不可忽视的一项工作。本文将介绍百度SEO优化的基本概念、步骤、原理、解决方法和提升网站标题优化的方法。蘑菇号-www.mooogu.cn 百度SEO优化是指针对百度搜索引擎…...

day52 ResNet18 CBAM

在深度学习的旅程中&#xff0c;我们不断探索如何提升模型的性能。今天&#xff0c;我将分享我在 ResNet18 模型中插入 CBAM&#xff08;Convolutional Block Attention Module&#xff09;模块&#xff0c;并采用分阶段微调策略的实践过程。通过这个过程&#xff0c;我不仅提升…...

3.3.1_1 检错编码(奇偶校验码)

从这节课开始&#xff0c;我们会探讨数据链路层的差错控制功能&#xff0c;差错控制功能的主要目标是要发现并且解决一个帧内部的位错误&#xff0c;我们需要使用特殊的编码技术去发现帧内部的位错误&#xff0c;当我们发现位错误之后&#xff0c;通常来说有两种解决方案。第一…...

基于Flask实现的医疗保险欺诈识别监测模型

基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施&#xff0c;由雇主和个人按一定比例缴纳保险费&#xff0c;建立社会医疗保险基金&#xff0c;支付雇员医疗费用的一种医疗保险制度&#xff0c; 它是促进社会文明和进步的…...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)

🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...

拉力测试cuda pytorch 把 4070显卡拉满

import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试&#xff0c;通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小&#xff0c;增大可提高计算复杂度duration: 测试持续时间&#xff08;秒&…...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中&#xff0c;其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下&#xff1a; 初始判断与哈希计算&#xff1a; 首先&#xff0c;putVal 方法会检查当前的 table&#xff08;也就…...

C语言中提供的第三方库之哈希表实现

一. 简介 前面一篇文章简单学习了C语言中第三方库&#xff08;uthash库&#xff09;提供对哈希表的操作&#xff0c;文章如下&#xff1a; C语言中提供的第三方库uthash常用接口-CSDN博客 本文简单学习一下第三方库 uthash库对哈希表的操作。 二. uthash库哈希表操作示例 u…...

stm32wle5 lpuart DMA数据不接收

配置波特率9600时&#xff0c;需要使用外部低速晶振...

统计学(第8版)——统计抽样学习笔记(考试用)

一、统计抽样的核心内容与问题 研究内容 从总体中科学抽取样本的方法利用样本数据推断总体特征&#xff08;均值、比率、总量&#xff09;控制抽样误差与非抽样误差 解决的核心问题 在成本约束下&#xff0c;用少量样本准确推断总体特征量化估计结果的可靠性&#xff08;置…...

Docker、Wsl 打包迁移环境

电脑需要开启wsl2 可以使用wsl -v 查看当前的版本 wsl -v WSL 版本&#xff1a; 2.2.4.0 内核版本&#xff1a; 5.15.153.1-2 WSLg 版本&#xff1a; 1.0.61 MSRDC 版本&#xff1a; 1.2.5326 Direct3D 版本&#xff1a; 1.611.1-81528511 DXCore 版本&#xff1a; 10.0.2609…...