分布式环境日志收集
林小应
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
分享到:
相关推荐
在分布式环境中,由于系统由多个节点组成,日志的管理和处理变得复杂,因此,分布式日志系统应运而生。本压缩包"java分布式日志系统.zip"可能包含了一系列关于如何构建和使用Java实现的分布式日志系统的资料。 1. *...
分布式日志系统是指在一个分布式的环境中,通过网络连接各个节点,收集、存储和分析各个节点产生的日志信息。这种系统通常具有高可用性、可扩展性和实时性等特点,能够满足大规模、复杂应用的需求。 Socket是网络...
文章可能会对分布式I/O日志收集系统的实际应用效果进行评估,并展望该系统未来的发展方向,比如在更广泛的分布式存储环境中推广使用,或者向智能化日志分析和处理方向发展。 以上内容涵盖了分布式I/O日志收集系统...
因此,构建一个适用于分布式环境下的I/O日志收集系统成为了当前研究的一个热点。 #### 二、系统结构设计 ##### 2.1 总体架构 分布式I/O日志收集系统基于C/S(Client/Server)架构,分为控制端(总控制台)和...
Flume是一个分布式、可靠且可用的系统,用于有效地收集、聚合和移动大量日志数据。其主要特点在于简单性、可扩展性和容错性。基于Flume的流式数据采集技术可以提高数据采集的可靠性和有效性,为后续的数据处理提供...
分布式日志收集是指将不同服务器或设备上产生的日志数据集中收集到一个或多个中心服务器中进行统一管理。这种方式能够简化数据存储、备份和恢复的过程,同时提高数据检索的效率。 在Splunk中,分布式搜索是指在多个...
Java整合ChickHouse的分布式日志收集与检索系统是一套基于Java开发的高效、可靠的解决方案,用于处理大规模分布式环境下的日志数据。这套系统的核心目标是实现日志的实时收集、传输、存储以及检索,帮助开发者更好地...
《基于Flume、Spark与Flask的分布式实时日志分析与入侵检测系统详解》 在当前大数据时代,日志分析和入侵检测系统扮演着至关重要的角色。本项目“基于Spark开发的完整项目算法源码”旨在提供一个实用的分布式实时...
通过收集、整合这些日志,我们可以获取到整个系统的运行全景。 其次,异常检测方法主要依赖于数据分析和模式识别。在通信网络信息系统中,异常可能表现为流量异常、响应时间过长、错误率增加等。通过对日志数据的...
ELK是Elasticsearch、Logstash和Kibana三个开源软件的缩写,它们与Beats工具配合使用,共同构成了ElasticStack,提供了一整套日志收集、分析和可视化解决方案。Elasticsearch是一个分布式搜索引擎,用于搜集、分析、...
1. **日志收集**:在分布式环境中,日志可能分散在多台服务器上,日志收集器负责从各个节点拉取或接收日志,如Fluentd、Logstash和 Beats(Elasticsearch的一部分)。 2. **日志存储**:日志数据需要被持久化存储,...
- **Logstash**:作为日志收集、分析和过滤工具,Logstash可以从多种数据源接收日志,对其进行处理并转发至Elasticsearch,支持结构化数据的转换。 - **Kibana**:作为可视化界面,Kibana允许用户对Elasticsearch中...
设计分布式日志系统时,首要任务是确定日志收集策略。一种常见的方法是使用“日志代理”模式,其中每个节点都有一个日志代理,负责接收本地日志并将其转发到中央日志服务器。`socket`库可以帮助我们创建这样的网络...
7. **监控与日志**:对于分布式系统,监控和日志是必不可少的,可能讲解Prometheus、Grafana等工具的使用,以及ELK Stack(Elasticsearch, Logstash, Kibana)的日志收集和分析。 8. **容器化与微服务**:可能讨论...
而Kafka则注重速度,采用客户端保存消息状态和拉取模式,适用于对速度要求高的Web2.0网站和日志收集。此外,还有一些方案如使用MongoDB和Redis等NoSQL数据库实现的消息应用,它们在效率和速度上介于ActiveMQ和Kafka...
Scribe 是 Facebook 开源的一个日志收集系统,适用于分布式环境。其设计目标是处理大规模的日志数据,尤其是对于那些需要实时监控和分析的日志数据。Scribe 采用了分布式架构,每个节点都可以独立收集日志,然后将...
1. 性能优化:新版本可能对日志收集和传输过程进行了性能提升,以适应更大规模的系统环境。 2. 用户界面改进:可能会有更友好的用户界面,使得日志查询和分析更加直观和高效。 3. 新增功能:可能引入了新的日志过滤...
在大型分布式环境中,日志管理是一项至关重要的任务,因为它有助于追踪系统行为、定位错误、性能优化以及安全审计。BeanWatch采用了Golang语言进行开发,这得益于Golang在并发处理和网络编程方面的强大能力,使得它...
【描述】"Logstash实践分布式系统的日志监控Java开发Java经验技巧共10页.pdf.zip" 提供了一个详细的指南,涵盖了如何在Java开发环境中利用Logstash进行日志收集、处理和分析的10个关键步骤。这份资料可能包括了配置...