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

ELK框架Logstash配合Filebeats和kafka使用

ELK框架Logstash配合Filebeats和kafka使用

本文目录

    • ELK框架Logstash配合Filebeats和kafka使用
      • 配置文件结构
      • input为标准输入,output为标准输出
      • input为log文件
        • output为标准输出
        • output为es
      • input为tcp
        • springboot配置
        • logstash配置
      • input为filebeats
        • filebeats配置
        • logstash配置
      • input为kafka
        • filebeats设置
        • logstash配置

配置文件结构

配置文件为:logstash.yml

需要自己新建conf文件,设置inputfilteroutput,文件结构如下,自带的logstash-sample.conf内容如下

input { }
filter {}
output {}

启动命令

bin/logstash -f config/logstash.conf

https://www.elastic.co/guide/en/logstash/current/input-plugins.html

input为标准输入,output为标准输出

input { stdin { } 
}
output {elasticsearch { hosts => ["localhost:9200"] }stdout { }
}

input为log文件

output为标准输出

input {# 从文件读取日志信息file {path => "/xxx/demolog/logs/myapp-info.log"type => "ghn"start_position => "beginning"}}output {stdout { codec => rubydebug }
}

output为es

input {# 从文件读取日志信息file {path => "/xxx/demolog/log/demolog-*.log"type => "ghn"start_position => "beginning"}}output {# 输出到 elasticsearchelasticsearch {hosts => ["localhost:9200"] user => "elastic"password => "xxxxxx"ssl => "true"cacert => "/xxx/elk/logstash-8.9.1/config/certs/http_ca.crt"index => "ghn-%{+YYYY.MM.dd}"}stdout {  }
}

input为tcp

配合springboot/springcloud使用

springboot配置

官方github:https://github.com/logfellow/logstash-logback-encoder
在pom.xml添加依赖

        <dependency><groupId>net.logstash.logback</groupId><artifactId>logstash-logback-encoder</artifactId><version>7.4</version></dependency>

在logback-spring.xml添加配置

    <appender name="stash" class="net.logstash.logback.appender.LogstashTcpSocketAppender"><destination>127.0.0.1:4560</destination><!-- encoder is required --><encoder class="net.logstash.logback.encoder.LogstashEncoder" /></appender><root level="info"><appender-ref ref="CONSOLE"/><appender-ref ref="stash" /></root>

logstash配置

input {# 从文件读取日志信息tcp {host => "0.0.0.0"mode => "server"port => 4560codec => json_lines}}output {# 输出到 elasticsearchelasticsearch {hosts => ["localhost:9200"] user => "elastic"password => "xxxxxx"ssl => "true"cacert => "xxx/logstash-8.9.1/config/certs/http_ca.crt"index => "ghn-%{+YYYY.MM.dd}"}stdout { }# stdout { codec => rubydebug }
}
  • logstash终端查看

  • kibana查看

input为filebeats

filebeats配置

  • 配置文件位置:filebeat-8.9.1-darwin-aarch64/filebeat.yml,修改如下部分,指定log位置为springboot的目录
filebeat.inputs:
- type: filestreamenabled: truepaths:- /xxx/xxx/*.log
  • 启动
./filebeat -e -c filebeat.yml -d "publish"

与logstash建立了连接,启动成功

logstash配置

input {beats {port => 5044}
}output {elasticsearch {hosts => ["localhost:9200"] user => "elastic"password => "xxxxxx"ssl => "true"cacert => "/xxxx/logstash-8.9.1/config/certs/http_ca.crt"index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"}
}
  • 启动logstash
bin/logstash -f config/logstash-filebeat.conf
  • 获取从filebeats发来的日志

kibana

  • kibana中数据视图已经能够看到

  • 查看详情

input为kafka

官方文档:https://www.elastic.co/guide/en/logstash/current/use-filebeat-modules-kafka.html

filebeats设置

output.kafka:hosts: ["localhost:9092"]topic: "filebeat"codec.json:pretty: false
./filebeat -e -c filebeat.yml -d "publish"

logstash配置

input {kafka {bootstrap_servers => ["localhost:9092"]topics => ["filebeat"]codec => json}}output {# 输出到 elasticsearchelasticsearch {hosts => ["localhost:9200"] user => "elastic"password => "xxxxxx"ssl => "true"cacert => "/xxx/elk/logstash-8.9.1/config/certs/http_ca.crt"index => "ghn-%{+YYYY.MM.dd}"}stdout { }# stdout { codec => rubydebug }
}
  • kafka启动

  • logstash查看

  • kafka关闭

https://www.elastic.co/guide/en/logstash/current/plugins-inputs-kafka.html

相关文章:

ELK框架Logstash配合Filebeats和kafka使用

ELK框架Logstash配合Filebeats和kafka使用 本文目录 ELK框架Logstash配合Filebeats和kafka使用配置文件结构input为标准输入&#xff0c;output为标准输出input为log文件output为标准输出output为es input为tcpspringboot配置logstash配置 input为filebeatsfilebeats配置logsta…...

后端面试话术集锦第 十二 篇:java基础部分面试话术

这是后端面试集锦第十二篇博文——java基础部分面试话术❗❗❗ 1. String类中常用的方法 split():把字符串分割成字符串数组 indexOf():从指定字符提取索引位置 trim():去除字符串两端空格 replace():替换 hashCode():返回此字符串的哈希码 subString():截取字符串 equa…...

【广州华锐互动】电厂三维数字孪生大屏的功能和优势

在工业互联网的背景下&#xff0c;电厂三维数字孪生大屏系统正在逐渐成为电力行业的重要技术。通过创建电厂的虚拟模型&#xff0c;这个数字孪生系统可以实现对实际电厂的实时监控&#xff0c;预测维护需求&#xff0c;优化运营效率&#xff0c;甚至在某些情况下&#xff0c;能…...

es6解构用法

一: 解构数组 二&#xff1a;解构对象 一: 解构数组 原理&#xff1a;模式(结构匹配), 索引值相同的完成赋值 总结&#xff1a;位置对应 二&#xff1a;解构对象 原理&#xff1a;模式(结构匹配), 属性名相同的完成赋值 {}{} 对象结构赋值的应用 常用的就以上两种 &#…...

a_bogus 音 算法还原大赏

a_bogus算法还原大赏 hello&#xff0c;大家好呀&#xff0c;我是你的好兄弟&#xff0c;[星云牛马]&#xff0c;花了几天时间算法还原了这个参数的加密过程&#xff0c;一起看看吧&#xff0c;记得加入我们的学习群&#xff1a;529528142 天才第一步&#xff0c;F12你会不&am…...

【计算机网络】UDP协议详解

目录 前言 端口号的拓展 端口号范围划分 netstat pidof UDP协议 UDP协议端格式 UDP的特点 面向数据报 UDP的缓冲区 UDP使用注意事项 基于UDP的应用层协议 前言 我们前面讲完了http和https协议&#xff0c;它们都属于应用层&#xff0c;按照TCP/IP五层模…...

2023-9-8 满足条件的01序列

题目链接&#xff1a;满足条件的01序列 #include <iostream> #include <algorithm>using namespace std;typedef long long LL;const int mod 1e9 7;int qmi(int a, int k, int p) {int res 1;while(k){if(k & 1) res (LL) res * a % p;a (LL) a * a % p;…...

获取街道、乡镇级的地图geoJson数据,使用echarts绘制地图

在此以泰州靖江市为例为例&#xff0c;记录一下实现过程 1、整体完成后实现的效果如下 2、获取数据 &#xff08;1&#xff09;DataV.GeoAtlas 第一个能想到的获取数据的网站就是它&#xff0c; 是阿里推出的一个用于获取全国、各省、各市以及个县级市详细地图信息的json文…...

DBMS_RESOURCE_MANAGER

参考文档&#xff1a; Database Administrator’s Guide 27 Managing Resources with Oracle Database Resource Manager 27.5.5 Creating a Resource Plan BEGINDBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA();DBMS_RESOURCE_MANAGER.CREATE_PLAN(PLAN > bugdb_plan,…...

通俗讲解傅里叶变换

参考:六一礼物:给孩子解释什么是傅里叶变换 牛!不看任何数学公式来讲解傅里叶变换 如何直观形象、生动有趣地给文科学生介绍傅里叶变换? - 知乎 从基说起…… 从数学的角度,提供一个形象有趣的解释。理解傅里叶变换的钥匙是理解基♂,它能让你重新认识世界。 1. 什么是…...

数据结构——带头双向循环链表

数据结构——带头双向循环链表 一、带头双向循环链表的定义二、带头双向循环链表的实现2.1初始化创建带头双向循环链表的节点2.2申请新节点2.3节点的初始化2.4带头双向循环链表的尾插2.5带头双向循环链表的头插2.6判空函数2.7带头双向循环链表的打印函数2.8带头双向循环链表的尾…...

MySQL大数据量高速迁移,500GB只需1个小时

在上篇「快、准、稳的实现亿级别MySQL大表迁移」的文章中&#xff0c;介绍了NineData在单张大表场景下的迁移性能和优势。但在大部分场景中&#xff0c;可能遇到的是多张表构成的大数据量场景下的数据搬迁问题。因为搬迁数据量较大&#xff0c;迁移的时长、稳定性及准确性都受到…...

kafka复习:(25)kafka stream

一、java代码&#xff1a; package com.cisdi.dsp.modules.metaAnalysis.rest.kafka2023;import org.apache.kafka.common.serialization.Serdes; import org.apache.kafka.streams.KafkaStreams; import org.apache.kafka.streams.StreamsBuilder; import org.apache.kafka.s…...

接口自动化测试总结

一、什么项目适合做自动化测试&#xff1f; 软件需求变动不频繁 测试脚本的稳定性决定了自动化测试的维护成本。如果软件需求变动过于频繁&#xff0c;测试人员需要根据变动的需求来更新测试用例以及相关的测试脚本&#xff0c;而脚本的维护本身就是一个代码开发的过程&#x…...

【Redis】Lua脚本在Redis中的基本使用及其原子性保证原理

文章目录 背景一、Eval二、EvalSHA三、Redis 对 Lua 脚本的管理3.1 script flush3.2 script exists3.3 script load3.4 script kill 四、Lua在Redis中原子性执行的原理 背景 Lua 本身是一种轻量小巧的脚本语言&#xff0c;在Redis2.6版本开始引入了对Lua脚本的支持。通过在服务…...

汇编--int指令

中断信息可以来自CPU的内部和外部&#xff0c; 当CPU的内部有需要处理的事情发生的时候&#xff0c;将产生需要马上处理的中断信息&#xff0c;引发中断过程。在http://t.csdn.cn/jihpG&#xff0c;我们讲解了中断过程和两种内中断的处理。 这一章中&#xff0c; 我们讲解另一种…...

生成式AI的JavScript技术栈

如果不使用新的软件基础设施技术&#xff0c;就很难理解它们。 至少&#xff0c;a16z 基础设施团队发现了这一点&#xff0c;而且因为我们中的许多人都是以程序员的身份开始职业生涯的&#xff0c;所以我们经常通过实践来学习。 尤其是生成式AI浪潮的情况尤其如此&#xff0c;它…...

从零开始学习软件测试-第39天笔记

接口测试 http消息结构 请求报文 请求行 请求方式 url 协议版本请求头空行请求体响应报文 响应行 协议版本 状态码 状态消息响应头空行响应体 请求参数类型 path参数 写在路径中的 https://xxx.xxx.com/参数值query参数 写在url问号后面&#xff0c;以键值对形式存在 h…...

【多思路附源码】2023高教社杯 国赛数学建模C题思路 - 蔬菜类商品的自动定价与补货决策

赛题介绍 在生鲜商超中&#xff0c;一般蔬菜类商品的保鲜期都比较短&#xff0c;且品相随销售时间的增加而变差&#xff0c; 大部分品种如当日未售出&#xff0c;隔日就无法再售。因此&#xff0c; 商超通常会根据各商品的历史销售和需 求情况每天进行补货。 由于商超销售的蔬…...

Vue2+Vue3基础入门到实战项目(六)——课程学习笔记

镇贴&#xff01;&#xff01;&#xff01; day07 vuex的基本认知 使用场景 某个状态 在 很多个组件 来使用 (个人信息) 多个组件 共同维护 一份数据 (购物车) 构建多组件共享的数据环境 1.创建项目 vue create vuex-demo 2.创建三个组件, 目录如下 |-components |--Son1.…...

Super IO插件:Blender一键复制粘贴导入导出终极指南

Super IO插件&#xff1a;Blender一键复制粘贴导入导出终极指南 【免费下载链接】super_io blender addon for copy paste import / export 项目地址: https://gitcode.com/gh_mirrors/su/super_io 想要在Blender中实现一键导入导出模型和图像吗&#xff1f;Super IO插件…...

3分钟掌握智慧职教刷课脚本:全平台自动学习解决方案

3分钟掌握智慧职教刷课脚本&#xff1a;全平台自动学习解决方案 【免费下载链接】auto-play-course 简单好用的刷课脚本[支持平台:职教云,智慧职教,资源库] 项目地址: https://gitcode.com/gh_mirrors/hc/auto-play-course 还在为重复的网课学习任务烦恼吗&#xff1f;智…...

[全网首发]百万短剧CMS系统_支持全网网盘转存拉新

内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示三、学习资料下载一、详细介绍 爱搜索正版管理系统安装教程 --------------------------------- 搭建要求环境如下 --------------------------------- 宝塔 --------------------------------- PHP7.2 Nginx 1.26.3 M…...

C++ `dynamic_cast

1. 基础 C类型转换概览为什么需要dynamic_cast 2. dynamic_cast 的使用 基本语法与其他类型转换&#xff08;如 static_cast、reinterpret_cast 和 const_cast&#xff09;的对比 3. RTTI (运行时类型信息) 什么是RTTI如何在C中启用和禁用RTTI 4. dynamic_cast 与多态 使用dyna…...

QMCDecode:3步解锁QQ音乐加密文件,让你的音乐在任何设备自由播放

QMCDecode&#xff1a;3步解锁QQ音乐加密文件&#xff0c;让你的音乐在任何设备自由播放 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac&#xff0c;qmc0,qmc3转mp3, mflac,mflac0等转flac)&#xff0c;仅支持macOS&#xff0c;可自动识别到QQ音乐下载…...

Beyond Compare 5密钥生成器技术解析与高效配置指南

Beyond Compare 5密钥生成器技术解析与高效配置指南 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen 当Beyond Compare 5的30天评估期结束后&#xff0c;软件会进入受限模式&#xff0c;许多高级…...

RA6M3 HMI开发板SDHI接口与SD卡存储性能深度测评

1. 项目概述&#xff1a;从一块开发板到人机交互界面的探索最近在做一个工业现场数据监控终端的原型&#xff0c;核心需求是在一块屏幕上实时显示传感器数据、设备状态&#xff0c;并且能通过触摸屏进行简单的参数设置。选型的时候&#xff0c;瑞萨电子的RA6M3 HMI Board进入了…...

技术从业者的简历优化:如何写出让HR眼前一亮的简历

一、精准匹配&#xff1a;用关键词敲开面试大门在HR筛选简历的“黄金30秒”里&#xff0c;关键词匹配度是第一门槛。对于软件测试从业者来说&#xff0c;精准对接岗位JD&#xff08;职位描述&#xff09;中的核心关键词&#xff0c;是让简历脱颖而出的第一步。首先&#xff0c;…...

RuoYi-Cloud项目导入避坑指南:从Maven配置到依赖下载的完整流程(附常见错误解决)

RuoYi-Cloud项目导入避坑指南&#xff1a;从Maven配置到依赖下载的完整流程 1. 项目准备与环境检查 在开始导入RuoYi-Cloud项目之前&#xff0c;确保你的开发环境已经准备就绪。这个微服务架构项目基于Spring Cloud Alibaba体系&#xff0c;对开发环境有特定要求&#xff1a; 基…...

如何通过智能包装系统提升全链条的数字化与协同效率?

本段聚焦全链条数字化升级的核心路径&#xff0c;通过 智能包装系统实现 原材料到成品的数据共享与流程对齐。以原材料入库、生产、成品出库为主线&#xff0c;建立统一的数据模型、模块化接口与可追溯闭环&#xff0c;推动 协同优化与成本控制。结合 中科天工智能包装设备与 中…...