微服务架构和实践系统运维专家

UAVStack之文件数据归集

2019-08-09  本文已影响89人  宜信技术学院

本文重点介绍UAVStack中的文件数据归集功能。该功能可以有效解决日志查找费时和日志文件丢失等问题,帮助快速定位解决问题,规避日志访问权限可能带来的安全风险。

一、前言

在分布式微服务架构下,单个应用中往往包含很多实例。日常工作中,我们常常需要查看应用运行过程中产生的日志。但登陆服务器从大量实例中查找目标日志耗时耗力;有时日志文件还会在应用重启过程中丢失。

UAVStack的文件数据归集功能不仅能够集中所有业务的日志,方便工程师更加轻松地查找相关日志,进而快速定位、解决问题;还能省去服务器权限授予环节,有效规避日志访问权限可能带来的安全风险。

二、架构

归集的文件数据包含应用日志、调用链跟踪、浏览器跟踪和线程分析的数据;也可以在启动参数中配置任意文件路径,配置其它任意文件;还支持UAVStack自身日志文件的归集控制。整体架构如下:

image

三、采集模块

UAVStack的文件数据归集是MonitorAgent的Feature。MonitorAgent以守护进程的形式部署,如若死掉将会立即重启,重启后可继续归集文件数据。主要模块如下:

image

四、归集过程

image

另外,HM服务拉取RocketMQ中指定topic的日志数据,处理成相应的格式后存储到ElasticSearch数据库中。

五、文件数据展示

通过AppHub可以查看归集上来的应用日志、调用链跟踪、浏览器跟踪和线程分析的文件数据。由AppHub调用后台服务的http查询接口,通过HM日志数据服务读取数据库,进行文件数据的查询和展示,如下图所示:

image

文件数据的展示效果如下:

image image

六、文件数据关联

对于归集上来的应用日志、调用链跟踪和浏览器跟踪数据,可进行相互关联;浏览器跟踪数据可关联调用链跟踪数据,调用链跟踪数据可关联应用日志数据,如下图所示:

image

七、文件数据预警

归集后的文件数据支持预警,可针对文件数据中是否出现关键字或者关键字出现的次数配置预警策略。预警策略触发后可通过邮件、短信、微信等方式通知用户,也可通过Http形式通知第三方应用系统。

八、总结

UAVStack的文件数据收集功能已被广泛使用,是具备较高可用性和可靠性的分布式服务。如果需要归集的日志量较大,仅需增加UAVStack自身的HM服务,可扩展性较强。

官方网站:https://uavorg.github.io/main/

开源地址:https://github.com/uavorg

作者:段德华

上一篇 下一篇

猜你喜欢

热点阅读