• Java Spring Cloud XXII 之 ELK


    Java Spring Cloud XXII 之 ELK

    ELK

    1.ELK简介

    ELK:

    E:Elasticsearch 全文搜索引擎

    L:logstash 日志采集工具

    K:Kibana ES的可视化工具

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

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

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

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

    所以我们使用ELK来保存

    2.为什么需要ELK

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

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

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

    那么这些日志怎么收集呢?

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

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

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

    日志的管理工具还有一套叫链路追踪

    和ELK有类似的效果,感兴趣的同学可以自己搜索

    Logstash

    1.什么是logstash

    Logstash是一款开源的日志采集,处理,输出的软件,每秒可以处理数以万计条数据,可以同时从多个来源采集数据,转换数据,然后将数据输出至自己喜欢的存储库中(官方推荐的存储库为Elasticsearch)
    请添加图片描述
    上面图片数据源可以是任何产生数据的介质,数据库,redis,java的日志文件均可

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

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

    • input 将数据源的数据采集到Logstash
    • filter (非必要)如果需要可以对采集到的数据进行处理
    • output 将处理好的数据保存到目标(一般就是ES)

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

    2.logstash实现数据库和ES数据的同步

    logstash还有一个非常常用的功能

    就是能够自动完成数据库数据和ES中数据的同步问题

    实现原理

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

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

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

    3.Logstash下ES的运行流程

    安装配置好相关软件后

    logstash会自动监听指定的表(一般指定监听gmt_modified列)

    当gmt_modified列值变化时,logstash就会收集变化的行的信息

    周期性的向ES进行提交

    ES中的数据就会自动和数据库中的变化同步了

    这样,我们再程序中,就无需编写任何同步ES和数据库的代码

    我是将军;我一直都在,。!

  • 相关阅读:
    考研常识 | 专业硕士与学术硕士的11个区别
    数据库原理及应用实验报告-实验5-数据控制
    16.字符连接
    达梦数据库在不修改SQL的情况下为SQL指定HINT
    全流程HEC-RAS 1D/2D水动力与水环境模拟技术案例实践
    【毕业设计】模块介绍:人体红外热释电传感器 -物联网 嵌入式 单片机
    断开自定义模块与自定义库的链接
    改变世界的开发者丨以梦为码,华工小哥的致青春
    C语言 计算∑(k=1—100)k+∑(k=1—50)k²+∑(k=1—10)1/k的值
    Ubuntu18.04使用RPLIDAR A2M12雷达出错的解决办法
  • 原文地址:https://blog.csdn.net/letterljhx/article/details/126987553