`
85977328
  • 浏览: 1917570 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

日志架构(六)服务端设计

 
阅读更多
方案图


模块
前端http日志接口
分为single log,array logs;
修改nginx配置,支持超长URL的提交;
日志采用logrotate切割,结合crontab实现分钟切割;

收集器
主要采用flume
与nginx同机器部署agent,收集到collector,最终保存到hadoop1中;
主要采用rsync
在前端nginx服务器上开通rsync服务器端,具体开通办法可以参考:系统技术文档0005:部署rsync服务器,然后在hadoop的集群机器上将日志收集到本地,收集完成后删除前端日志服务器上相应的文件。Rsync收集命令如下:
rsync -azu --remove-sent-files $IP::NGINXLOG/logcenter.$THISHOUR*.log $MYPATH
收集之后把日志上传到hadoop集群。收集器每小时的第5分钟运行,收集上个小时生成的日志。日志上传到hadoop集群后调用解析器,解析日志。
收集器脚本:lcrsync.sh

解析器
均实现map/reduce接口
格式解析器:从hadoop1读取消息,结合配置数据库,将消息解析(csv)并保存到hadoop1;负责拷贝解析后的日志从hadoop1到hadoop2
拷贝有3中方案:
Hadoop distcp <srcurl> <desturl> copy file or directories recursively
flume收取
rsync
Hadoop2的目录/logcenter/dest
内容解析器:将解析后的日志格式(csv),插入到hive中

配置数据库
主要保存日志格式相关信息

集群管理器(待定)
使用zookeeper实现
监控收解析器的工作状态
解析器集群锁

日志中心管理系统
提供配置数据库的UI
结合日志配置提供日志开发文档
监控相关UI

配置数据库设计
具体字段及含义,请直接参照日志中心数据库SQL脚本


log_system:系统表
log_info:日志表
log_parameter:参数表
log_format:格式表
log_record:记录表
具体SQL脚本,请见附件

E-R图,如下所示:


接口设计
single log


array logs


Transfer logs


关于准实时收集方案
Hadoop1为存放原始日志和CSV日志的集群
Hadoop2是用于hive分析的集群(运行hive会启动很多task和job)
对于准实时收集日志的方案。目前经过考虑有以下几种办法:
Flume collector中开发插件,边收集边解析,直接将结果存入到hadoop2中
开发tomcat,直接受理http请求,生成CSV文件,flume agent来收集并放入hadoop2中
开发nginx插件,解析请求生成CSV放入日志文件中,flume agent来收集并放入hadoop2
  • 大小: 258.7 KB
  • 大小: 36.6 KB
  • 大小: 66.1 KB
  • 大小: 71.2 KB
  • 大小: 66.8 KB
分享到:
评论

相关推荐

    毕业设计选题系统的服务端设计.zip

    【标题】"毕业设计选题系统的服务端设计.zip"揭示了这个压缩包包含的是一个用于毕业设计选题的系统的后端部分源代码。这通常涉及到服务器端编程,数据管理,以及与前端交互的功能。 【描述】提到这个系统适用于毕业...

    notepad服务端设计文档1

    《notepad服务端设计文档1》详述了notepad应用的服务器端设计,该设计文档涵盖了从整体架构到模块详细设计等多个方面,旨在为用户提供笔记管理、公共资源管理和用户行为分析等功能。以下是文档的关键知识点: 1. **...

    Socket服务端架构设想

    下面我们将详细探讨Socket服务端架构的设计与实现。 首先,理解Socket的基本概念至关重要。Socket可以看作是两台计算机之间的通信通道,它定义了通信规则,包括数据格式、传输协议等。在服务端,通常会创建一个监听...

    基于Python语言的《口袋仙侠》服务端设计源码

    在实际开发过程中,服务端的代码需要遵循一定的架构模式和设计原则,比如模块化、分层设计等。模块化设计使得各个功能独立成块,便于开发和维护;分层设计则是将系统划分为多个层次,每一层只与它的上层或下层通信,...

    基于Java语言的菜谱服务端设计源码

    它可能是一个独立的服务端应用,也可能是微服务架构中的一个组成部分,通过RESTful API与其他服务进行交互。在技术细节上,该项目的实现可能涉及到了Java的高级特性,如泛型、反射、注解以及并发编程等。 基于Java...

    基于Java及HTML技术的计划填报服务端设计源码

    在文档方面,项目提供了2个Markdown文档,这可能是为了更好地说明项目的使用方法、架构设计或是开发规范等。源码中还包含了一个Git忽略文件,这表明该服务端设计源码在版本控制过程中使用了Git,并通过该文件来规范...

    毕业设计服务端-毕业设计资源

    服务端的开发通常需要涉及到后端架构设计、数据库设计、接口设计、安全性设计以及性能优化等多个方面。对于采用Springboot作为服务端框架的毕业设计来说,其背后依托的是一套完整的Java开发技术栈,这其中包括了...

    基于Java的安卓定制化数字课堂考勤考评系统iClass服务端设计源码

    本篇文章将深入探讨iClass服务端设计的核心内容,剖析其架构、功能以及技术实现方式。 首先,iClass系统服务端源码采用Java语言编写。Java作为一门跨平台的编程语言,具有良好的兼容性和高效的性能,这为iClass系统...

    游戏服务端框架设计方案

    文件`ServerModel.xls`可能包含了服务端架构的详细设计图,`Communicator.zip`可能是一个负责客户端和服务端通信的组件或工具的源代码或配置文件。 在实际开发过程中,还会涉及到性能优化、安全性、容错机制等方面...

    神 皇 MirServer 服务端

    MirServer 的设计和架构通常包括以下几个主要部分: 1. **连接管理**:服务端需要处理来自客户端的连接请求,进行身份验证,并管理玩家的在线状态。这涉及到网络编程,常用协议如TCP/IP,以及负载均衡技术,以应对...

    异构语言高可用性服务端的设计与实现

    综上所述,设计和实现异构语言高可用性服务端需要综合运用各种技术和工具,包括Spring Core作为基础架构,通信模块实现服务间的高效交互,业务层确保功能实现和错误处理,通用工具包提升开发效率,同时结合微服务...

    基于Vert.x框架的JavaScript实现的IM服务端设计源码

    通过深入了解该项目的实现细节,我们可以探究一个现代IM服务端的架构设计与实现技术。 该项目以Vert.x框架为核心,使用JavaScript语言进行开发。Vert.x是一个事件驱动的应用程序框架,它基于Netty,能够支持多种...

    千年服务端

    7. **错误处理与日志记录**:服务端需要记录详细的运行日志,以便于开发者追踪和诊断可能出现的问题。 8. **负载和性能监控**:通过监控工具持续跟踪服务器的资源使用情况,如CPU、内存和网络带宽,以便在出现问题...

    服务端源码修改_梦回大唐服务端源码_源码_服务端源码_

    6. **服务器架构设计**:学习如何优化服务器性能,包括负载均衡、分布式存储、缓存策略等,以应对大量并发用户的需求。 7. **版本控制**:使用Git或其他版本控制系统进行源码管理,理解分支、合并、提交等概念,...

    本科毕业设计“砾风小投票”的服务端.zip

    【砾风小投票的服务端...综上所述,“砾风小投票”的服务端设计涵盖了多个IT领域的知识,包括但不限于架构设计、编程语言选择、数据库管理、网络通信、安全性、并发处理等,是一个全面展示本科毕业生技术实力的项目。

    android客户端+服务端

    在Android应用开发中,"客户端+服务端"的架构模式是常见的设计方式,它涉及到Android客户端与远程服务器之间的数据通信和交互。这种模式允许应用程序在本地执行用户界面操作,同时利用服务器的计算能力和存储资源来...

    基于Java的理先知校园服务(广州理工)服务端设计源码

    而服务端设计作为软件架构中的核心部分,通常需要处理客户端请求、数据库交互、业务逻辑处理等复杂的任务。广州理工大学推出的理先知校园服务项目,正是基于Java语言进行服务端设计的一个典型应用实例。 该项目的...

    C# KTV服务端程序

    综上所述,【C# KTV服务端程序】涵盖了C#编程、数据库设计、网络通信、系统架构等多个方面的知识点,是一个综合性的IT项目。通过深入学习和实践,开发者不仅可以掌握KTV业务流程的信息化管理,还能提升在C#开发中的...

    奇迹世界服务端源码

    总的来说,"奇迹世界服务端源码"是一份宝贵的教育资源,它能帮助开发者深入理解大型网络游戏的架构设计,提升在服务器开发领域的专业技能。无论是对于初学者还是有经验的开发者,都能从中受益匪浅。然而,需要注意的...

Global site tag (gtag.js) - Google Analytics