ELK简介

news2024/10/6 14:25:17

什么是ELK

E: Elasticsearch全文搜索引擎

L: logstash日志采集工具

K: kibana ES的可视化工具

ELK是当今业界非常流行的日志采集保存和查询的系统

我们编写的程序,会有很多日志信息,但是日志信息的保存和查询是一个问题

IDEA控制台是一个临时显示的位置,我们可以将它保存在文件中

但是即使保存在文件中,海量日志信息想要查询需要的条目也是问题

所以我们使用ELK来保存

为什么需要ELK

保存并能够快速便捷的查询查看日志信息就是新出现的需求了

ELK这个组合可以完成这个任务

ES负责将日志信息保存,查询时可以按关键字快速查询

利用logstash这个软件可以监听一个文件,将这个文件中出现的内容经过处理发送到指定端口

我们就可以监听我们程序输出的日志文件,然后将新增的日志信息保存到ES中

Kibana来负责进行查询和查看结果

与ELK有类似效果的日志管理工具还有一套叫链路追踪

Logstash

什么是Logstash

Logstash是一款开源的日志采集,处理,输出的软件,每秒可以处理数以万计条数据,可以同时从多个来源采集数据,转换数据,然后将数据输出至自己喜欢的存储库中(官方推荐的存储库为ES)

上面图片的数据源可以是任何产生数据的介质: 数据库,Redis,Java的日志文件均可

输出目标一般也是能够保存数据的媒体: 数据库,Redis,ES等

Logstash内部有3个处理数据的步骤:

  1. input将数据源的数据采集到Logstash

  1. filter(非必要)如果需要可以对采集到的数据进行处理

  1. output将处理好的数据保存到目标(一般就是ES)

其中采集数据的方法比较多样,还支持各种插件

Logstash实现数据库和ES数据的同步

实现原理

我们可以配置logstash监听数据库中的某个表

一般设计为监听表中数据的变化,在规范的数据表中,logstash可能监听gmt_modified列

只要gmt_modified列有变化,就收集变化的数据行,将这行数据的信息更新到ES

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/179659.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Jetpack架构组件库:Room

Room Room是一款轻量级orm数据库,本质上是一个基于SQLite之上的抽象层。它通过注解的方式提供相关功能,编译时自动生成实现Impl,相比纯 SQLite 的API使用方式更加简单。另外一个相比于SQLite API的优势是:它会在编译时检查 SQL 语…

SpringBoot+Vue项目在线视频教育平台

文末获取源码 开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9 浏…

网络原理之HTTP/HTTPS、TCP、IP四层协议栈

文章目录一、应用层(一)xml协议(二)json协议(三)protobuffer协议(四)HTTP协议1. 抓包工具,fiddler2. HTTP报文格式3. HTTP请求(Request)(1)URL基本…

【VisualBasicApplication】Excel编程

VBAExcel的宏与VBA宏的录制宏的启动运行快捷键运行宏:使用Excel对象运行宏*VBA的数据类型字符串(String)整形(Integer)和长整形(Long)单精度浮点型(Single)和双精度浮点型…

3.mysql查询必备sql语句

文章目录1.条件查询 where2. 通配符与模糊查询3. 映射4. 排序 order_by5. 取部分 limit 和offset6. 分组 group by7.左右连表 left outer join ... on8. 联合查询 union1.条件查询 where 表内容: import pymysqlconn pymysql.connect(host127.0.0.1,port3306,u…

向QAbstractItemView子类如:QTreeView、QTableView等子项单元格插入窗体小部件的功能实现(第2种方法)

1.前言工作中经常会遇到这样的需求:向QAbstractItemView子类如QTreeView、QTableView单元格插入窗体小部件,如:进度条、按钮、单行编辑框等。下面链接的系列博文就是讲解如何实现该功能的。《向QAbstractItemView子类如:QTreeView、QTableVie…

LeetCode 2500. 删除每行中的最大值

给你一个 m x n 大小的矩阵 grid ,由若干正整数组成。 执行下述操作,直到 grid 变为空矩阵: 从每一行删除值最大的元素。如果存在多个这样的值,删除其中任何一个。 将删除元素中的最大值与答案相加。 注意 每执行一次操作&#…

行为型模式-状态模式

1.概述 【例】通过按钮来控制一个电梯的状态,一个电梯有开门状态,关门状态,停止状态,运行状态。每一种状态改变,都有可能要根据其他状态来更新处理。例如,如果电梯门现在处于运行时状态,就不能…

时序数据处理中的拟合问题

对于深度学习或机器学习模型而言,我们不仅要求它对训练数据集有很好的拟合(训练误差),同时也希望它可以对未知数据集(测试集)有很好的拟合结果(泛化能力),所产生的测试误差被称为泛化误差。度量泛化能力的好坏,最直观的表现就是模型的过拟合(overfitting)和欠拟合(…

一起Talk Android吧(第四百七十五回:渐变类视图动画)

文章目录使用方法属性介绍示例代码共用属性各位看官们大家好,上一回中咱们说的例子是"如何使用视图动画",这一回中咱们说的例子是"渐变类视图动画"。闲话休提,言归正转,让我们一起Talk Android吧! 看官们&am…

移动web动画

移动web动画动画动画属性鼠标经过暂停动画多组动画鼠标经过暂停动画多组动画动画 动画最大的特点可以不用鼠标触发,自动的,反复的执行某些动画。 动画使用分为定义和调用: 定义: /* 1. 定义的动画 */ keyframes dance {from {tr…

恶意代码分析实战 12 对抗反汇编

12.1 Lab15-01 问题 这个二进制程序中使用了何种对抗反汇编技术? 首先,使用IDA载入该文件。 我们可以看到这个程序在地址0040100E处存在一个对抗反汇编技术的痕迹。 eax总是被置为零,jz跳转总是被执行。所以我们认为这一行是假冒的call指…

Docker的架构设计

前面我们研究了Docker容器的本质是一个特殊的进程,那么这个特殊进程是如何创建、如何终止的那?也就是说是谁来管理这个容器进程的生命周期的那?在mac操作系统中我们可以通过活动监视器来观察操作系统里面有哪些进程,以及通过活动监…

推荐算法:序列召回

目录 序列召回(一) 序列召回(二) 序列召回(三) 序列召回(四) 序列召回(一) 源自论文:http://arxiv.org/abs/1511.06939 基于GRU的序列召回中通过…

青训营项目实战1

项目实战 实现掘金青训营报名页码的后端部分 需求描述 展示话题(标题、文字描述)和回帖列表 不考虑前端页面实现,仅实现一个本地web服务 话题和回帖数据用文件存储 附加要求: 支持发布帖子 本地id生成要保证不重复 append文件 更…

【ONE·C || 指针】

总言 C语言:指针的使用介绍。 文章目录总言1、指针初阶1.1、是什么1.2、指针和指针类型1.2.1、指针类型介绍1.2.2、作用一:指针解引用1.2.3、作用二:指针整数1.3、野指针1.3.1、野指针是什么1.3.2、为什么存在野指针1.3.3、如何避免野指针1.4…

ReentrantLock从入门到踢门

1. ReentrantLock是什么Lock提供了比synchronized方法和语句更广泛的锁定操作。 更灵活的结构化,并且支持多个相关联的对象Condition。它实现了Lock、Serializable序列化接口。图1 ReentrantLock实现接口图1.1 Lock1.1.1 lock// 获取锁 void lock();1.1.2 lockInter…

SpringMVC -->ant风格的路径 -->占位符 -->获取请求参数 -->@RequestParam

文章目录SpringMVC支持ant风格的路径SpringMVC支持路径中的占位符SpringMVC获取请求参数通过servletAPI获取通过控制器方法的形参获取请求参数RequestParam注解处理请求参数和控制器方法的形参的映射关系代码样例SpringMVC支持ant风格的路径 ?:表示任意的…

爆火微信公众号自定义早安推送,爱她就给她推送

为女朋友打造专属早安推送先上截图电脑端看的效果手机端看的效果一、申请微信公众号测试号二、让他/她扫码关注测试公众号三、新增模板消息四、天气API五、使用 leancloud 部署云函数六、源代码先上截图 电脑端看的效果 手机端看的效果 一、申请微信公众号测试号 https://mp.w…

Kettle(7):插入/更新组件

1 组件介绍 插入/更新组件能够将Kettle抽取的数据,与某个表的数据进行对比,如果数据存在就更新,不存在就插入。 2 需求 修改 t_user中的张三这一行数据,修改age为80 同时,我们想要使用Kettle将 t_user1 中的张三这一…