写点什么

陈超:七牛云智能日志管理平台的应用与设计

  • 2019-10-08
  • 本文字数:4567 字

    阅读完需:约 15 分钟

陈超:七牛云智能日志管理平台的应用与设计

七牛云为什么会做日志管理平台?

而当前市场上的产品又存在哪些问题?

NIUDAY 深圳站中,七牛云技术总监、国内 Spark 领域首席布道专家陈超为大家带来了关于七牛云智能日志管理平台的应用与设计的分享,传递了这款日志管理产品的设计理念,以及能够解决的问题。


01 七牛云智能日志管理平台—— Pandora

Pandora 是对日志进行全生命周期管理的平台,适用于运维监控、安全审计、业务分析等典型场景。下图展示了日志从产生到消费过程中的链路:



下图为日志平台常处理的日志类型,包括:用户的访问日志、nginx 日志、数据库日志等等。


02 常见的客户应用场景

场景 1:机房集中化监控



这个场景其实也可以叫做数据中心的综合监控,因为无论是交换机还是服务器,以及服务器上所有跑的应用,最终都是通过采集器,经过实时清洗,发送到日志存储里做检索、分析。这里说个题外话,很多做 AIOps 的企业连数据都没有放在一起,数据散落在不同的监控系统中,由不同的人员维护,全是数据孤岛,要做更进一步的分析和挖掘,也将变得十分困难。


场景 2:应用质量管理



举个例子,移动互联网的客户在程序运行时,会产生各种日志,包含各种质量信息,如:访问速度、访问响应时间、成功率、失败率等,这些指标可以全部放进来进行统一的存储和监控。最关键的一点是快,快不是运行速度,而是从发现问题到解决问题的路径很短。右下角是基于历史数据做的更全面的质量分析,有了这些数据存在,才能对一段时间内的系统质量做统一的分析和 review。


场景 3:统一日志管理平台



统一日志是基于前两个场景演化出的。在华南地区,已有几十家企业都在用这套产品做统一日志的仓库,把所有数据汇到里面。然后基于统一的仓库进行质量监控分析,及对各种业务数据做统一,交叉分析。


场景 4:物联网数据分析和监控



物联网场景也是我们的重点之一,像智能制造、智能手表、智能手环及智能家居等。目前七牛的客户中,数据量比较大是一些智能制造企业,如机床的数据量很大,包括温度、湿度、压强、转速等,这些都是用这套产品做及时的监控和反馈。

03 泛运维人员面临的挑战及传统解决方案

什么是泛运维人员?

指的是现在的运维人员区别于以前的运维,不只是搞定服务器和网络就可以,更要深入到业务,并且每一个研发人员也应该有运维的意识。在七牛云,每一个研发都是运维,最终都是要为这个系统质量所负责的。



泛运维人员会遇到以上越来越复杂的问题,包括众多不同型号的网络设备、海量不同型号的服务器、不同的虚拟化方案、不同的操作系统、多样化的应用软件和数据库,成百上千的业务系统等。其中最后一点,各种各样未统一的监控系统,成了企业中出现问题而不能得到及时解决的重要原因。

复杂的环境带来了以下这些问题:

1.当监控软件特别多时,没有办法统一管理。


2.排错时间长。当系统复杂时,排查问题的流程就更漫长。在微服务的架构下,这个问题更是呈指数级的爆发。


3.安全挑战大。无法高效发现安全性的问题,比如黑客入侵和违规操作。


4.监控告警杂乱无章。正因为有很多独立的监控软件,这些不同的监控软件造成了各种独立的告警。


5.全局性弱。无法对全局情况有一个全面的掌握,都在看各自的监控系统。


6.管理员管理难度大。要监控的东西太多,总会漏掉或者总有不及时的情况发生。


Pandora 这套产品可以较好的解决这些每一个公司可能都会存在的问题。当然,这里面涉及到大量用户体验的问题,除了高稳定性和强扩展性,降低用户使用起来的心智负担,一直是 Pandora 重点努力的方向。

基于以上问题,传统的解决方案如下:

第一,使用 grep 等脚本工具。很大的问题是低效、易出错,更大的问题是不安全。


第二,使用 MySQL 汇聚数据。使用方便,但是能力有限。


第三,使用 NoSQL。大问题是不支持交叉查询与全文检索,使用负担相对大。


第四,使用 Hadoop / Spark / Storm。使用起来比较繁杂,不支持全文检索。


第五,使用 ELK。产品层面做的比较不足,超大数据量下稳定性存在挑战。

04 Pandora 助力解决日志难题

基于上述问题和目前存在的一些方案评估,七牛云推出了 Pandora 这款产品。



Pandora 的能力图包含两部分:Pipeline 和 Insight,作用分别是收集数据、清洗数据、分发数据及洞察数据。我们所做的很多努力,都是为了降低用户的心智负担。


下面是关于 Pipeline 和 Insight 的介绍:


Pipeline 要做的是基于各种数据源,做收集、转化,然后到达各类目的地。



Logkit,企业级的数据收集工具,极度易用。支持收集文本文件、消息队列、数据库、及服务器指标等多种来源的数据,配置简便。



从第一步数据收集开始,不需要填任何的文件,直接在 Logkit 的 web 上操作。需要读什么文件,只要把日志路径一写,选一下读取起始位置就 OK 了。



选择好数据源之后,下一步要做解析数据。Logkit 支持众多数据格式,如选 CSV 文件,那文件里数据就直接以表格的形式在 web 上预览了,很方便。另一方面,Logkit 还支持划词提取字段,无论多么复杂的日志,按照自己想要的格式,使用鼠标滑一下,填上字段名称和类型就 OK 了,超级人性化。



下一步是转换。比如要把某一个字段类型换一个其他名字或者要根据 IP 库转换成什么地区的,Logkit 内置的各种转换器可以全部帮忙搞定。



最后就是发送,填写下目的地就可以了。


现在对接一个数据源,要从文件里取数据,只需要一两分钟的时间。



除此之外,还有一个优势特点:这里的 Logkit 不会因为自己跑得太猛,影响服务器上其它的应用程序,会自动限制自己的资源使用量。当然,也有直接的监控页面供用户观测。Logkit 我们花了非常多的精力去打磨和完善,希望能做成最好用的数据收集工具。


下面介绍第二部分:如何洞察数据?



这部分的洞察和其他一些洞察的理念不太一样,希望有一种润物细无声的感觉。让用户以极低的心智负担完成整套数据检索和分析工作。



搜索,目前使用的是标准 Lucene 格式,大家应该非常熟悉了,检索方式跟使用 Kibana 一样。



不过,我们更进一步,可以自动统计出用户所搜索的时间范围内各个字段的值出现的个数,自动呈现出高频值,罕见值等等,我们甚至可以把搜索的结果直接做成各种报表,供用户更加直观的观看。



平台还支持联合搜索。可以联合两个仓库一起搜索和分析。



然后还做了一个划词分析:如果实在太懒,连查询语句都不想写,就在日志里划一下,不用写查询语句,从头到尾鼠标就可以搞定。



我们还支持实时搜索功能,它相当于 tail -f 功能。这个功能绝对是工程师 debug 时的好帮手。



然后是监控与告警。做法是你在做搜索时,可以直接以搜索的条件另存为告警。图中是我们在公有云上的告警邮件。


报表可以帮助大家更快的发现问题,是一个分析可视化的过程:



平台支持非常丰富的图表,并且报表的定义十分灵活。我们期望以一种非常简单的方式,就可以让用户享受到强大的报表功能。



有些公司还会需要大屏展示,我们从一开始就支持了大屏展示功能。


关于机器学习的功能:


可能用户都不知道机器学习在背后运作,但实际上现在内部背后已经有十几种算法在做自动分析,然后自动挑选算法,组合算法。对于用户,这些都是透明的。


第一点,可以对历史数据进行分析。



这是线上的真实数据,当有一些比较异常的点时,都会报出来。关于报的原因,鼠标点上去就可以展示出来。另外,它还有一个漏报。现在很多监控系统,都是以不能高于多少、不能低于多少来设置条件。但在条件区域里疯狂抖动时,应该是系统有问题了。这个疯狂的抖动,最后经过我们的查询发现,这个时间点发生了坏盘。以前我们的阈值是自己设定,现在是学习出来的,学习成什么样就是什么样。这个事情可以辅助配合以前的那套告警系统。


第二点,可以预测未来。



但大家更关心的应该是预测,有这些数据以后会怎么办?我们怎么做预测?


左边绿色区域这张图,按照它的数据进行趋势预测,如果接下来数据轨迹跟预测的走势不太一致,就会触发告警。即便告警条件没有达到以前设定的如不能高于 90%,它也会告警。我们希望在不停学习时,也能够以真实的数据做比对。在对历史数据做学习时,背后我们用了大概 11 - 12 种算法,自动做算法融合,并且会增量的学习新进来的数据。现在机器学习,比如很火的智能 AI,大家的做法都一样,不是 CPU 换成 GPU 就是深度学习,就是 AI 了。


目前,我们的这套产品背后的机器学习方式,做了基于 GPU 的算法,但现在跑在 CPU 上。之所以这么做,是希望针对 CPU 做大量优化。因为去私有部署时,用户很可能不给 GPU 机器,就不能依赖 GPU。而目前平台上是这样操作的:点一下图上的预测按钮,比如选择要预测一天,按纽一按就会开始预测,直到结束,不需要选择算法。当有异常点发生时,会做完整的记录说明。这个特性,咱们的既有用户可以体验一下,目前不收费的。


对于机器学习的概念是完全没有心智负担的使用,希望在使用我们这个产品时,无论背后多么复杂,至少在用户使用层面,希望它是非常简单的。



与此同时,我们的 SDK 也很丰富。目前来看,系统的语言用的最多的还是 JAVA,很多时候是没有机会用到这些 SDK 的,因为有前面的 Logkit 都搞定了。


Pandora 在国内是公有云非常领先的产品,优势如下:



1.数据规模大:完全横向扩展的存储设计、完全横向扩展的计算设计、累计存储数据超过 40P、累计计算数据超过 500P。


2.处理速度快:入口打点毫秒级响应、实时计算毫秒~秒级响应、批量计算经过大量优化,确保性能更优。


3.开放接口巧:通过支持 https 中转适配任意目的地、所有操作均有对应的 API 支持、易与第三方系统进行结合。


4.生态支持多:



5.用户体验爽:超过 3 年以上的用户体验迭代、超过 200 项细节极致打磨、以降低用户心智负担为原则,全方位降低用户的使用门槛。


6.公有云经验足:


05 典型客户案例


第一,七牛云。七牛云的各条产品线都是用户,直播、SDK 都在往这里打数据,包括智能多媒体 API、容器云等。商业运营部是用来做用户画像的;产品研发部用这款产品做快速排错;技术支持部用来做客服;质量保障部用来做质量分析与复盘;SRE 做业务监控告警;运维部做运维监控告警与成本分析;运维部和采购部一起对数据进行结构分析,看是不是真的需要加入很多机器。



第二,某大型银行。银行体系中有各种服务器,各种网络设备,各种存储系统,当然数据量最大的还是各条业务线的业务日志,以上所有的数据,统一存储到 Pandora 进行检索,监控,分析,告警等一系列操作。



第三,上海卷烟厂,也就是造中华烟的厂,盈利能力当然非常强,但他们同时也是一家对新技术持比较开放态度的公司。厂内通过 OPC 协议将各种数据打到 Pandora 内,做各种监控分析。



第四,CDN 日志分析。这是目前用的非常多的 case。CDN,要么是成本,要么是质量。平台可以帮助分析各种文件大小的流量分析等,有标准化的方案来做这个事情。


目前我们 Pandora 已经有大量合作,包括:视频类、移动互联网类、互联网类、传统企业、广电行业等。之前我们把很多精力放在比较典型的案子上,现在开始我们会大规模的对所有客户进行推广。


以上所讲的内容,是想说明任何一个看似简单的东西,要做好是很难的。产品技术角度,在多租户的海量数据下,如何做到又快又稳,绝对是一个大挑战;用户体验角度,如何让用户以最低的心智负担,最佳的体验,最快的速度获得最大的价值,一直是整个团队最关注的点之一。 最后希望 Pandora 能够真正的解决各位的实际问题。


本文转载自公众号七牛云(ID:qiniutek)。


原文链接:


https://mp.weixin.qq.com/s/fj3DxjjddxKvCovVFF2jSg


2019-10-08 10:001465

评论 1 条评论

发布
用户头像
陈超后来创立了杭州超材公司,还是很厉害的。不过嘛,人无完人,超材也有需要提升的地方--超材的子公司拖欠我2024年工资未付。
2025-05-17 23:50 · 浙江
回复
没有更多了
发现更多内容

别再说你不懂规则引起啦

比伯

Java 编程 程序员 架构 计算机

20天内看完这套GitHub标星18k+的Android资料,含泪整理面经

欢喜学安卓

android 程序员 面试 移动开发

简单快速搭建,全新语聊方案

anyRTC开发者

ios android 音视频 WebRTC RTC

golang设置时区的多种方式

happlyfox

学习 3月日更 Go 语言

技术杂谈 | Flutter 的性能分析、工程架构与细节处理

有道技术团队

flutter

情指勤指挥调度平台搭建,公安局情报指挥系统

终于知道为啥网页不让我复制粘贴了!

华为云开发者联盟

js 代码 button事件 复制粘贴 输入框

美女师姐说给你听!我成为蚂蚁安全工程师的初体验

DT极客

Python OpenCV 彩色图像与灰度图像的转换

梦想橡皮擦

3月日更

IAP:物联网终端软件升级技术

华为云开发者联盟

IoT LiteOS iap 物联网终端 OTA

直播预告 | 数据操作加速器,CloudQuery v1.3.5 发布

BinTools图尔兹

sql 编辑器 数据治理 数据安全 数据库管理工具

畅想数据湖

数据社

数据仓库 数据湖 ETL ELT

网络连接总超时?从四层模型上解析网络是怎么连接的

京东科技开发者

计算机网络 服务器 域名

神策大数据技术直播系列课第二季,开讲啦

神策技术社区

大数据 性能优化 大前端 工程师 事件分析

力扣(LeetCode)刷题,简单题(第14期)

不脱发的程序猿

面试 LeetCode 28天写作 算法攻关 3月日更

NA公链(Nirvana)解决的六大问题在众多公链中脱颖而出NAC公链

区块链第一资讯

2021年DevOps的四大趋势

禅道项目管理

DevOps 工具 趋势 Redis开发与运维

10种下载YouTube视频的方法-包含网站软件插件app等

Space空间

软件 网站 下载youtube视频

Spark性能调优-Shuffle调优及故障排除篇

五分钟学大数据

大数据 spark 3月日更

2021最新分享支付宝/美团/拼多多面经总结

比伯

Java 编程 架构 面试 程序人生

超详细!手把手带你快速入门 GitHub!

JackTian

git GitHub 开源

量化策略软件搭建,马丁策略交易软件开发

云原生数据库风起云涌,华为云GaussDB破浪前行

华为云开发者联盟

数据库 架构 云原生 华为云 GaussDB

2021年Android面试心得,大厂面经合集

欢喜学安卓

android 程序员 面试 移动开发

开抢| 华为开发者大会2021(Cloud)早鸟票来了!

华为云开发者联盟

华为 开发者

自媒体平台数据统计分析爬虫之【趣头条】模拟登陆分析详解及数据统计接口详解

ucsheep

接口 爬虫 趣头条 模拟登录

用 WebRTC 打造一个音乐教育 App,要解决哪些音质难题?

阿里云CloudImagine

音视频 WebRTC 在线教育 RTC

MoviePy - 中文文档(一个专业的python音视频编辑库)教程

ucsheep

Python 音视频 视频剪辑 Moviepy 视频合成

“数字云南”建设成效逐渐显现 区块链财政电子票据带来民生与环保效益

CECBC

区块链

2021出海社交必看:产品、技术、运营指南

拍乐云Pano

音视频 RTC 社交APP出海 出海社交 社交泛娱乐

音视频开发——通信直播协议和视频推流丨RTMP-RTSP

Linux服务器开发

音视频 WebRTC ffmpeg 直播推流 SRS流媒体服务器

陈超:七牛云智能日志管理平台的应用与设计_文化 & 方法_陈超_InfoQ精选文章