分布式环境日志收集
林小应
1. 问题描述
现在应用程序的日志都是error级别,如果想收集某接口日志只能入库。
如果选择性的根据工号打开debug日志,也会散落在应用集群中的各台主机上。查看起来十分不方便。
2. 期望
可以选择性的将有用日志,通过tcp的方式送到日志处理主机。集中处理,处理方式由客户端定义。不能因为发送日志而影响应用程序的性能。
3. 设计原理
思路:采用异步的nio的方式将日志送出,集中处理。满足网络震荡重连(无条件重连、触发式重连)。
方案:采用异步缓冲区+Netty来完成日志推送。
4.用法示例
//建立连接(只需要一个连接):
NettyLogClient client = new NettyLogClient("132.228.103.3", 9999);
//推送日志:
NettyLogUtil.sendMsg(msg);
//这样日志就送到了132.228.103.3主机,处理方式由对端决定。传送速度非常快,理论上只需要一个tcp连接。
日志主机上的日志:
如:业务规则执行时各模块花费时间的日志
/132.228.138.123:47182 Begin
DealLogInfo [
olId:100008211189
totalTime:1312ms,
soMsg:SoDataDealSMOImpl-139次——440.642ms,
specMsg:SpecDataDealSMOImpl-577次——37.992ms,
instMsg:InstDataDealSMOImpl-72次——176.104ms,
instDBMsg:INST_DB-26次——101.709ms,
soGenSeqMsg(T):GEN_SEQ-136次——3.348ms,
soGenSeqDBMsg(S):no result
soCacheMsg:SO_CACHE-130次——404.198ms,
instCacheMsg:INST_CACHE-25次——14.097ms,
specCacheMsg:no result
inst2byteMsg:INST_2_BYTE-2次——0.658ms,
byte2instMsg:BYTE_2_INST-5次——3.283ms,
nettyLogMsg:no result
]
/132.228.138.123:47182 End!
这是从132.228.138.123主机47182端口发送过来的。可以清晰的看到各模块所耗费的时间。
qq:346420558
分享到:
相关推荐
基于机器学习的分布式故障检测是一个结合了分布式计算和机器学习技术的领域,旨在通过分布式系统来收集数据并利用机器学习算法来自动检测和诊断故障。...在分布式环境中,可以使用分布式机器学习框架(如Tens
I/O代价+CPU代价+通信代价 在分布式环境下,查询可分为 、 和 三种类型。 局部查询 远程查询 全局查询 分布式查询处理可以分为 、 、 和 四层。 查询分解 数据本地化 全局优化 局部优化一个分布式事务通常是由 和 ...
ELK,也就是Elasticsearch、Logstash、Kibana三者的结合,是一套开源的分布式日志管理方案. Elasticsearch:负责日志存储、检索和分析 LogStash:负责日志的收集、处理 Kibana:负责日志的可视化 方案: 2. 环境搭建...
实现功能 1.可视化展示日志 2.根据日记等级,日志内容,时间匹配日志 ...3.最后kibana将elasticsearch收集的日志进行展示 下面详细讲解搭建过程,分成部分 一.环境准备 二 .SpringBoot+logback配置 三.ELK环境搭建 四.
分布式系统中日志收集系统的架构。 如何通过Storm进行实时的流式数据分析。 如何通过Hadoop进行离线数据分析,通过Hive建立数据仓库。 如何将关系型数据库中存储的数据导入HDFS,以及从HDFS中将数据导入关系...
本文来自于cnblogs,文章主要讲解了Fluem的一些简单介绍,架构分布式环境部署,高级动态配置等。Flume是一个分布式、可靠、和高可用的海量日志聚合的系统,支持在系统中定制各类数据发送方,用于收集数据;同时,...
详细介绍了Docker、ELK、Docker Swarm和Etcd的功能及原理,最后通过使用容器编排工具docker-compose,一键式构建基于Docker容器的ELK日志收集系统的实验环境,证明了本系统收集Docker容器日志的实时性、稳定性和高...
第3章 分布式日志收集框架Flume 第4章 分布式发布订阅消息系统Kafka 第5章 实战环境搭建工欲善其事必先利其器 第6章 Spark Streaming入门 第7章 Spark Streaming核心概念与编程 第8章 Spark Streaming进阶与案例实战...
Logstash,Filebeat,Fluentd ,rsyslog 几种常见的框架,我们挑应用较广泛的前两者介绍下: 1.1 Flume 和 Logstash Flume 是一款由 Cloudera 开发的实时采集日志引擎,主打高并发,高速度,分布式海量日志采集。...
跨平台:使用 Java 环境可异地、分布式多平台部署; 自主可控:私有云、公有云、边缘部署; 完善性:设备快速接入、注册、权限校验; 安全:数据加密传输; 多租户:命名空间,多租户化; 云原生:Kubernetes; ...
performance_schema:自MySQL 5.5版本引入,用于收集服务器性能数据,帮助诊断和优化系统性能。 test(非必要):默认提供的测试数据库,通常用于学习和实验,生产环境中可考虑删除。 sys(自MySQL 5.7版本):...
2.使用kafka集群做缓存层,而不是直接将filebeat收集到的日志信息写入logstash,让整体结构更健壮,减少网络环境,导致数据丢失。filebeat负责将收集到的数据写入kafka,logstash取出数据并处理。
一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。 Kibana:Web前端,可以将ElasticSearch检索后的日志转化为各种...
基于java tcp socket通信的拆包和装包源码 日志采集工具(logpipe) 1. 概述 在集群化环境里,日志采集是重要基础...logpipe是一个分布式、高可用的用于采集、传输、对接落地的日志工具,采用了插件风格的框架结构设计
LogDNA代理LogDNA代理是一种快速,资源高效的日志收集客户端,可将日志转发到 。 该版本的代理程序用编写,以确保最佳性能,并且与LogDNA的Web应用程序结合使用时,可为分布式系统(包括集群)提供强大的日志管理...
第1章 课程介绍 第2章 初识实时流处理 第3章 分布式日志收集框架Flume 第4章 分布式发布订阅消息系统Kafka 第5章 实战环境搭建 第6章 Spark Streaming入门 第7章 Spark Streaming核心概念与编程 第8章 Spark ...
日志收集系统Flume的基本架构、关键组件,以及分层日志收集架构的设计与实践;分布式消息队列Kafka的基本架构和集群搭建过程,以及使用Java语言实现客户端API的详细过程。 第三部分(第8~9章):详细讲解了企业大...
正在开发中的用于托管分布式网络平台的服务器的太阳能网络的存储库。 Tega Brain,Alex Nathanson和Benedetta Piantella的项目。 在Eyebeam快速响应的支持下获得更好的数字未来奖学金。 安装 API文档 硬件安装说明 ...