日志存储系统常用技术方案介绍

日志存储系统常用技术方案有两种:一是log4j/logback+mongodb的方式,一种是基于ELK的日志存储系统。

日志一般存储在数据库和文件系统中。日志数据要和生产正式库分开存储,否则会影响正式库的运行,带来隐患。另外,为了防止日志存储性能问题,后期可以考虑采用异步的消息队列形式进行存储。

下面详细讲解。

  1.便捷的日志存储方式log4j+mongodb

  1)安装和配置简介

  需要引入的jar包有:Mongo Java driver、Log4J(1.2.16以上版本)、log4mongo-java,通过log4j.properties属性文件配置,整合log4j和mongodb。log4j可直接写数据到mongodb中。

  2)日志分析和查看

  可通过mongovision这个web客户端进行日志的查看和分析。mongovision,使用extjs作为前端,体验较好,需要java7及以上版本。

  2.基于ELK的日志系统

  ELK=ElasticSearch+LogStash+Kibana

  日志数据流如下:应用将日志落地在本地文件,部署在每台服务器上的FileBeat负责收集日志,然后将日志发送给LogStash;LogStash对日志进行处理解析等操作;然后将处理后的Json对象传递给ElasticSearch,进行落地并进行索引处理;最后通过Kibana来提供web界面,来查看日志等。

  对于日志数据流特别大的情况,LogStash会造成拥堵,这个时候可以使用消息队列来进行缓冲,比如kafka。新的流程如下:

--------------------------------------------------------------------

PS: 欢迎关注公众号"Devin说",会不定期更新Java相关技术知识。

--------------------------------------------------------------------

时间: 2024-10-20 16:24:11

日志存储系统常用技术方案介绍的相关文章

分布式锁1 Java常用技术方案

前言:       由于在平时的工作中,线上服务器是分布式多台部署的,经常会面临解决分布式场景下数据一致性的问题,那么就要利用分布式锁来解决这些问题.所以自己结合实际工作中的一些经验和网上看到的一些资料,做一个讲解和总结.希望这篇文章可以方便自己以后查阅,同时要是能帮助到他人那也是很好的. ===============================================================长长的分割线===================================

分布式锁-常用技术方案

分布式锁的解决方式 1.是否可以考虑采用ReentrantLock来实现,但是实际上去实现的时候是有问题的,ReentrantLock的lock和unlock要求必须是在同一线程进行,而分布式应用中,lock和unlock是两次不相关的请求,因此肯定不是同一线程,因此导致无法使用ReentrantLock. 2.基于数据库表做乐观锁,用于分布式锁. 3.使用memcached的add()方法,用于分布式锁. 4.使用memcached的cas()方法,用于分布式锁.(不常用) 5.使用redis

分布式锁1 Java常用技术方案(转)

转:http://www.cnblogs.com/PurpleDream/p/5559352.html#3450419 前言:       由于在平时的工作中,线上服务器是分布式多台部署的,经常会面临解决分布式场景下数据一致性的问题,那么就要利用分布式锁来解决这些问题.所以自己结合实际工作中的一些经验和网上看到的一些资料,做一个讲解和总结.希望这篇文章可以方便自己以后查阅,同时要是能帮助到他人那也是很好的. ============================================

日志分析常用指令简单介绍

大型分布式网站架构设计与实践的第四章的简单回顾 日志分析常用的指令: 查看文件的内容:cat,(适合日志文件比较大)cat –n install.log (-n表示显示行号) 分页显示文件:more,(cat缺少交互,只能用来查看,more可以更好的用来分页显示文件,Enter显示下一行,空格键显示下一页,按F键显示下一屏,B返回上一屏内容)  less是more更强大的交互工具 显示文件尾:tail,    tail  -n install.log (-n表示显示最后的行数) (-f 表示ta

分布式锁2 Java非常用技术方案探讨之ZooKeeper

前言:       由于在平时的工作中,线上服务器是分布式多台部署的,经常会面临解决分布式场景下数据一致性的问题,那么就要利用分布式锁来解决这些问题.以自己结合实际工作中的一些经验和网上看到的一些资料,做一个讲解和总结.之前我已经写了一篇关于分布式锁的文章: 分布式锁1 Java常用技术方案 .上一篇文章中主要写的是在日常项目中,较为常见的几种实现分布式锁的方法.通过这些方法,基本上可以解决我们日常工作中大部分场景下使用分布式锁的问题.       本篇文章主要是在上一篇文章的基础上,介绍一些虽

常用音频协议介绍&&有关音频编码的知识与技术参数

(转载)常用音频协议介绍 会议电视常用音频协议介绍及对比白皮书 一.数字化音频原理:声音其实是一种能量波,因此也有频率和振幅的特征,频率对应于时间轴线,振幅对应于电平轴线.通常人耳可以听到的频率在20Hz到20KHz的声波称为为可听声,低于20Hz的成为次声,高于20KHz的为超声,多媒体技术中只研究可听声部分. 可听声中,话音信号的频段在80Hz到3400Hz之间,音乐信号的频段在20Hz-20kHz之间,语音(话音)和音乐是多媒体技术重点处理的对象. 由于模拟声音在时间上是连续的,麦克风采集

液晶常用接口“LVDS、TTL、RSDS、TMDS”技术原理介绍

液晶常用接口“LVDS.TTL.RSDS.TMDS”技术原理介绍 1:Lvds Low-Voltage Differential Signaling 低压差分信号 1994年由美国国家半导体公司提出之一种信号传输模式,它是一种标准 它在提供高数据传输率之同时会有很低之功耗,另外它还有许多其他之优势: 1.低电压电源之兼容性 2.低噪声 3.高噪声抑制能力 4.可靠之信号传输 5.能够集成到系统级IC内 使用LVDS技术之之产品数据速率可以从几百Mbps到2Gbps. 它是电流驱动之,通过在接收端

大型网站技术架构介绍--squid

一.大型网站技术架构介绍 1.pv高  ip高 并发量 2.大型网站架构重点 1. 高性能:响应时间,TPS,系统性能计数器.缓存,消息队列等. 高可用性High Availability   99.99% 7*24 2.衡量标准:假设环境中一台或者多台服务器宕机,服务是否依然可用.解决关键办法:冗余.资源定位,健康检查.负载均衡,关键服务器冗余:web DB ,及时有效的监控和报警 3.高伸缩性[高可维护性] 是否可以用多台服务器构建集群,是否容易向集群添加新的服务器,新服务是否可提供相同的服

Android无线开发的几种常用技术(阿里巴巴资深工程师原创分享)

本文由阿里巴巴移动安全客户端.YunOS资深工程师Hao(嵌入式企鹅圈原创团队成员)撰写,是Hao在嵌入式企鹅圈发表的第一篇原创文章,对Android无线开发的几种常用技术进行综述. 嵌入式企鹅圈现拥有七个专栏(Linux内核驱动情景分析.资源紧缺型SOC嵌入式架构设计.嵌入式交叉工具链及其应用.嵌入式设计和编程.微信硬件平台和物联网解决方案.Android开发.开发资源共享).更多Android.Linux.嵌入式和物联网原创技术分享敬请关注微信公众号:嵌入式企鹅圈.我们百分百原创,资深工程师