`
luoshi0801
  • 浏览: 147274 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

日志agent解决方案

 
阅读更多

        logagent是部署在每台服务器上的一个deamon进程,起着日志数据的传输通道。对外提供http服务拉取日志,结构如下:

 其中,

  •  filter:请求过滤器,负责访问源解析统计,权限认证等
  • container:包含了正在访问的文件句柄集合,当日志滚动文件名变更发生时可以防止错误定位
  • handler:获取日志数据的处理器,采用偏移量随机读取的方式
  • storer:保存用户成功获取的文件位点信息

 

1.长链接 vs 短链接

      http1.1默认支持长链接,避免重复建立连接带来的性能消耗。但长链接会占用系统资源,在大量请求时存在隐患,故选择短链接方式,即关闭http中的keep-alive

 

2.请求规范

      http://127.0.0.1:8080/get?file=/home/admin/tomcat/logs/catalina.log&user=test&pwd=123456

   其中,

             get:指明是获取日志数据的请求

             file:日志文件的全路径,支持通配符*指定某目录下所有的日志文件

             user:请求用户

             pwd:请求用户的授权密钥,md5加密

3.稳定性

      logagent是业务部署在一起的,考虑稳定性做如下限制

  •  一台线上实体机同时允许的单用户最大访问文件数100
  • 一台线上实体机同时允许的最大链接数200
  •   一台线上实体机允许单用户单次拉取日志的最大大小为20M

   拉取日志的速度赶不上打日志速度时,须提高限制大小或并发度

   如果logagent意外down掉,支持恢复后从上次位点继续获取数据

 

4.性能方案

    因为agnt是java编写的,主要考虑满负荷运行下进程gc对宿主业务系统带来的各指标影响,具体以测试为准

 

5.安全策略

  • 访问文件的权限
  • 请求中验证用户和授权密码
  • 连接agent的收集机器白名单授权

6.日志模块设计

  • 编码:统一采用utf-8
  • 内容截取

     普通的日志文件是一条条的纪录,以换行符进行分隔,在进行截取时应获取一条完整的日志,即

     当前位点+ 单次最大支持传递量= 换行符,按正常截取

     当前位点 + 单次最大支持传递量!= 换行符,往前找最近一个换行符截取

     当前位点 + 单次最大支持传递量> 文件end,直接截取到文件end

     扩展考虑支持用户指定分隔符进行切割

 

  • 位点存取

        按用户存储文件的位点信息,一个文件可以支持多个用户同时拉取数据,即该文件会分别保留这些用户的位点信息,保留路径由logagent默认指定,采用拉取成功后异步更新的策略

 

  • 支持日志滚动

        支持当日志文件发生滚动时,可以定位到未拉取完的旧文件。保留文件的句柄(inode),在每次拉取数据时获取当前文件大小,直到该句柄文件内容被拉取完成

 

7.运维支持

  • 权限:包括机器、文件、白名单
  • 提供获取某应用的所有ip地址等基础服务
  • 装机部署&远程控制 

 附件focus.zip为提供的logagent源码,供参考~

 
  • 大小: 75.7 KB
  • focus.zip (206 KB)
  • 描述: logagent源码
  • 下载次数: 62
1
1
分享到:
评论
2 楼 luoshi0801 2015-10-28  
嗯,netty也是基于nio的,出于简单原则没有考虑过多依赖,使用者直接可以通过http访问数据也方便排查。当然nio的性能和扩展都很好,所以后续会完善的,3ks~
1 楼 cssuger 2015-10-28  
建议使用NIO吧如果没有用过nio,使用netty网络通信组件吧

相关推荐

    Linux系统Nginx日志解决方案.docx

    Linux 系统 Nginx 日志解决方案 本文将详细介绍如何使用 Nginx、Promtail、Loki 和 Grafana 实现一个简单的 Nginx 日志展示解决方案。该解决方案旨在满足客户的需求,查看网站的访问情况,并且不依赖于 Google 或...

    Logstash收集Tomcat集群日志的解决方案.txt

    ### Logstash收集Tomcat集群日志的解决方案 #### 背景介绍 随着企业规模的不断扩大,业务系统逐渐复杂化,对于系统运维人员而言,如何有效地监控和管理大量的日志数据变得至关重要。尤其是在Web应用程序中,例如...

    基于ELK的nginx-qps监控解决方案.docx

    ELK(Elasticsearch、Logstash、Kibana) stack是当前最流行的日志分析解决方案之一。今天,我们将讨论基于ELK的nginx-qps监控解决方案。 为什么要监控nginx-qps? 在高并发的Web应用程序中,nginx的性能监控是...

    TKE集群日志解决方案之日志采集.docx

    ### TKE集群日志解决方案之日志采集 #### 引言与背景 随着云计算和容器化技术的发展,尤其是Kubernetes的普及,企业越来越多地选择基于云原生的应用部署模式。这种转变不仅带来了业务敏捷性和成本效益的优势,还...

    智慧银行安全运维大数据一体化解决方案.pptx

    智慧银行安全运维大数据一体化解决方案 该解决方案旨在为银行业提供一个大数据一体化的安全运维解决方案,旨在解决银行业在 IT 业务和产品服务多样化带来的数据急剧增长和安全设施增加的问题。该解决方案基于大数据...

    自动化SQL Server错误日志检查 针对混合环境的一个定制解决方案.pdf

    本文介绍了一种针对SQL Server错误日志自动化的定制解决方案,特别适用于混合环境中大量SQL Server 2005和SQL Server 2000共存的场景。该方案旨在通过自动化的方式,高效准确地对错误日志进行搜索和报告,从而减轻...

    Zabbix运维监控平台项目解决方案.doc

    Zabbix 运维监控平台项目解决方案 一、背景 在企业级别的IT基础设施中,服务器、网络设备、数据库等硬件和软件的稳定运行是至关重要的。然而,随着企业的规模和复杂度的增加,IT基础设施的监控和管理变得越来越复杂...

    ServerAgent-2.2.1.zip 下载

    总之,ServerAgent作为一款强大的服务器监控工具,配合JMeter可以提供全方位的性能测试解决方案,帮助企业确保服务器在高并发、大流量情况下的稳定性和效率。正确安装和配置ServerAgent,结合详细的性能数据,将对...

    Web服务器日志统计分析完全解决方案[定义].pdf

    【Web服务器日志统计分析完全解决方案】 Web服务器日志统计分析是互联网服务提供商(ICP)和网站管理员不可或缺的一项工作,旨在了解网站的运行状态、访问量和用户行为。通过对Web服务器日志文件的深入分析,可以...

    Kubernetes日志采集与分析的最佳实践

    针对这些痛点,可以采用一些解决方案,如Logtail这样的日志采集工具。Logtail可以实现一键安装,支持容器stdout、容器日志文件、宿主机文件等数据的采集,并能自动发现容器的创建与删除,支持自动打标,具有低资源...

    ServerAgent-2.2.3.zip

    ServerAgent-2.2.3.zip 是一个包含Server...总的来说,ServerAgent-2.2.3是一款强大的服务器监控解决方案,通过全面的测试和优化,它能够为IT管理员提供可靠的服务器性能监控和管理能力,提升运维效率和系统的稳定性。

    ISA日志统计的整体方案及实施过程

    ### ISA日志统计的整体方案及实施过程 #### 一、旧方案的实施过程 ...综上所述,新方案通过结合SQL和ISA内置报告功能,不仅解决了旧方案中存在的问题,还提高了统计报告的准确性和效率,使得数据分析更加高效便捷。

    ServerAgent-2.2.3

    综上所述,ServerAgent-2.2.3是一个与JMeter配合使用的服务器监控解决方案,它帮助我们更好地理解服务器在压力下的表现,从而提高系统的稳定性和效率。在实际操作中,了解并掌握这些知识点对于高效管理和维护服务器...

    zabbix6.0.6 Linux agent

    Zabbix是一款开源的企业级监控解决方案,它能够监控各种网络参数以及服务器健康状态,为系统管理员提供强大的数据收集、报警、报告等功能。在Zabbix 6.0.6版本中,Linux agent扮演着至关重要的角色,它是Zabbix监控...

    falcon-log-agent-master.zip

    本文将深入探讨Falcon-Log-Agent的核心特性和应用场景,以期为读者提供实用的日志管理解决方案。 一、框架概述 "Falcon-Log-Agent-master.zip"是一个压缩包,其中包含了Falcon-Log-Agent的源代码和相关配置文件。...

    基于Flume的美团日志收集系统方案.doc

    《基于Flume的美团日志收集系统》是一个深入解析美团如何利用Apache Flume构建高效、稳定、可扩展的日志收集解决方案的文档。日志收集在大数据领域扮演着至关重要的角色,因为它为离线分析和实时处理提供了基础数据...

    自动部署zabbix-agent.rar

    "自动部署zabbix-agent.rar"这个压缩包文件提供了在多台服务器上自动化部署Zabbix Agent的解决方案,这对于大规模环境下的系统监控至关重要。下面我们将详细探讨其中涉及的关键知识点。 首先,"服务器免密登录"是...

    50 让日志无处可逃:容器日志收集与管理.pdf

    在现代互联网企业中,容器化技术如Docker和Kubernetes已经成为部署应用程序的主流方式。而随着容器技术的普及,容器日志管理...随着容器技术的持续发展,日志管理解决方案也在不断进步,提供了更多的灵活性和可靠性。

Global site tag (gtag.js) - Google Analytics