张计飞
[摘要]通用应用日志监管平台,是一款通用的企业应用日志监管软件,它从采集、处理、存储、监控和管理分析五方面入手,采用标准采集协议、分布式处理、集中存储等多种技术方案,实现了对应用日志的统计分析、多维度查询、实时报警,具有通用性强、操作简便等特点,可满足于不同行业、不同角色的监管需求。
[关键词]通用日志;监管;软件
doi:10.3969/j.issn.1673 - 0194.2017.02.089
[中图分类号]TP311 [文献标识码]A [文章编号]1673-0194(2017)02-0-03
1 应用日志监管平台的概述
应用日志是基于时间顺序,记录应用程序所发生事件的数据。开发人员,可以根据应用日志中的错误和调试信息等数据,跟踪程序运行、分析程序性能,这有利于提升程序质量和开发效率;运维人员,可以根据应用日志中的运行数据,监控程序状态、定位排查故障、分析性能瓶颈等。因此,应用日志的监控和管理对程序开发和企业的运维都有着重要作用。
本地存储,这种传统的应用日志的监管方式存在很多问题,其碎片化严重;格式不统一,不利于数据分析和管理;易丢失,安全性差;监管工具局限性大,应用场景单一,功能简单。如何构建一套通用的监管平台,真正有效地挖掘并利用日志数据来助力企业发展,是企业迫切需要解决的问题。
2 应用日志监管平台的功能说明
通用应用日志监管平台核心功能模块分为日志采集模块、日志处理模块、日志存储模块、日志管理网站、日志监控报警模块和日志分析报表模块。如图1所示。
日志采集模块,是平台从应用程序中收集日志数据的功能模块。该模块采用标准日志接入协议和分布式队列接收技术,可同时接入多个应用程序,收集不同类型的日志数据,即使海量的应用日志数据也能被快速、完整的接收。
日志处理模块,是对接入的应用日志数据进行处理的功能模块。该功能模块采用高集群技术,不间断地对日志数据进行筛选、分组、格式优化等处理。
日志存储模块,是存储应用日志数据模块。对最新的日志和使用频率高的数据,采用Redis缓存集群存储技术,将数据存放在内存中,可快速读取数据,提升分析效率。对使用频率较低的数据,采用Hbase分布式存储系统存储,将数据分散存储在多台独立的设备上,提高存储的可靠性,可根据需要随时扩展存储;对使用频率极低的数据,采用HDFS分布式文件系统存储方式进行备份,成本低、容量大、易扩展。
日志管理网站,是在线监控应用日志、配置管理的网站。该网站主要有日志检索、权限管理、应用管理、报警策略管理等功能。日志检索是日志分析工作的重要内容,通过日志产生时间、数据来源、信息类型、日志级别等不同维度,对数据进行快速的过滤,精准定位,简化应用日志分析工作。权限管理,通过分配每个用户的操作权限和数据访问权限,既满足不同管理角色的监管需求,又能有效地避免信息交叉,防止信息泄露,保证日志内容安全。应用管理功能,可在线配置应用程序的接入方式和接入参数等信息;报警策略管理,可配置监控报警条件、报警推送方式、报警频次等信息。
日志分析报表模块,是应用日志监管数据可视化的分析工具。包含数据统计计数功能、求和功能、求最大值、最小值功能与数据对比功能等,支持折线图、条形图、饼状图等多种图表格式,对日志数据进行多维度的图表展示。
日志监控模块,是日志监管平台中的“眼睛”。可24小时不间断地监控日志数据,节省人力,减少运维成本。智能识别异常日志,在事件发生的第一时间,发送邮件和短信通知,便于企业快速采取措施,减少异常导致的损失。
3 应用日志监管平台的软件架构
通用应用日志监管平台软件架构是一套高性能、可扩展的软件框架。日志采集使用消息队列集群技术,可支持大的数据量的应用日志接入。数据处理采用消息队列发布、订阅模式,异步处理数据,缓解处理服务器的压力。数据存储采用三种存储技术,高频率使用数据存储使用Redis缓存集群,提供内存及读写速度,提升数据读写性能。普通数据存储使用HBase数据库,不仅能存储大规模数据,还能提供实时读写访问。备份数据存储采用HDFS分布式存储技术,可存储大规模的存档文件。如图2所示。
架构中采用的主要技术介绍如下。
分布式消息队列是本架构中的重要技术,在日志处理模块中负责接收采集数据,保存数据内容并发送下一节点进行进一步处理。该技术具有异步处理的特点,能保存消息数据,无需依赖发送端和接收端,解决了应用程序的耦合,异步消息等问题,保证数据传送的安全。
Redis缓存集群存储技术,是存储模块中高速读写数据的重要技术。当平台进行大规模的数据访问时,磁盘I/O往往成为性能瓶颈,从而导致过高的响应延迟,严重影响性能。Redis缓存集群存储技术将高速内存作为数据对象的存储介质,数据以key/value形式存储,理想情况下可以获得DRAM级的读写性能。为平台提供高效的讀取数据的解决方案。
HBase是一个分布式的、面向列的开源数据库,支持大数据处理和分析,可在廉价服务器上搭建起大规模结构化存储集群,具有高可扩展性,可实现弹性存储。
HDFS分布式文件存储技术是适合运行在通用硬件上,具有高度容错性的分布式文件系统存储技术,支持大文件存储,适合存放大量数据。在本架构中,负责存放海量的日志备份数据,不但能有效保障数据的安全性,还能部署在普通服务器上,有效地控制存储成本。
4 应用日志监管平台的性能
下面是通用应用日志监管平台部署示意图,如图3所示。
平台性能测试如下。
(1)硬件环境:
①单台服务器配置:CPU(双核,2.4 GHz/2 397MHz),内存(DDR4,8GB);
②3台服务器组成日志处理服务器集群;
③2台服务器组成Redis缓存服务器集群;
④2台服务器组成存储服务器集群;
⑤1台日志管理网站服务器;
⑥1台日志监管服务器。
(4)测试结论:架构支持每秒十万左右数据的接入,每秒
9.2万数据的处理,千万级数据查询响应的时长不超过1秒。
综上所述,通用应用日志监管平台的软件架构,支持高并发接入,高性能数据,检索结果秒级延时,支持动态扩容,具有高性能、低延时、易扩展等特点。
5 应用日志监管平台的应用场景
以下是通用应用日志监管平台应用场景示意图,如图4所示。
图4通用应用日志监管平台应用场景示意图
企业办公软件:实时监管日志数据,及时报警异常信息,大大节省运维资源;同时在线分析软件运行状态,为企业优化办公流程提供依据,提升办公效率。
车联网系统:支持大量车辆数据高并发接入,实时采集日志信息,快速分析,同步存储,实现对系统异常的实时管控。
电子商务:支持高并发、大流量的数据采集和分析,挖掘数据价值,分析用户行为趋势,避免系统过载崩溃的风险,安全运行,保证系统高效用,降低运营风险。
金融服务:实时分析系统日志,在线监管系统安全,为金融企业规避风险,保障资金安全。
云服务:通过分析服务日志,在线展示服务使用报表,有利于解决不合理的资源配置,优化服务性能。
移动APP:移动端和后台服务产生的日志,实时接入监管平台,运营管理可在线监管运行的状况,配合报警功能,及时掌握异常信息,提高系统的稳定性。
通用应用日志监管平台的应用场景较为广泛,以上列举的为典型的应用场景,通常只要涉及应用运维监控、业务统计分析、程序研发调试等业务,都适于采用该平台进行分析和监控。
6 结语
平台通过标准日志采集协议,采集分散日志;集群化日志处理模块,高效分析日志;日志存储模块,实现集中存儲;日志管理网站提供在线检索分析日志界面和权限控制;日志监管报表功能,提供多维度数据统计分析报表,实现数据可视化;日志报警模块,实时监控有效数据,及时报警。帮助软件开发人员快速、高效地进行问题定位,协助运维人员及时掌握应用系统运营的情况,提高企业软件的稳定性和可用性,解决企业日志的管理及利用问题。