IT运维分析与海量日志搜索

  
 

陈军

  • 日志易创始人兼CEO
  • 拥有17年IT及互联网研发管理经验,曾就职于Cisco、Google、腾讯和高德软件,历任高级软件工程师、专家工程师、技术总监、技术副总裁等岗位。
  • 负责过Cisco路由器研发、Google数据中心系统及搜索系统研发、腾讯数据中心系统和集群任务调度系统研发、高德软件云平台系统研发及管理,对数据中心自动化运维和监控、云计算、搜索、大数据和日志分析具有丰富的经验。
  • 他发明了4项计算机网络及分布式系统的美国专利,拥有美国南加州大学计算机硕士学位。

 

演讲实录  
 

目录:

  • IT 运维分析(IT Operation Analytics)
  • 日志的应用场景
  • 过去及现在的做法
  • 日志搜索引擎
  • 日志易产品介绍

一IT 运维分析 
1、IT 运维分析

1.1 从 IT Operation Management (ITOM) 到 IT Operation Analytics (ITOA)

IT运维分析,即IT Operation Analytics,简称ITOA,是个新名词。以前IT运维是ITOM,IT Operation Management ,IT 运维管理。这两年大数据技术开始普及,把大数据技术应用于IT运维,通过数据分析提升IT运维效率与水平,就是ITOA。

1.2 大数据技术应用于IT运维,通过数据分析提升IT运维

ITOA主要用于:

  • 可用性监控
  • 应用性能监控
  • 故障根源分析
  • 安全审计

1.3 Gartner估计,到2017年15%的大企业会积极使用ITOA;而在2014年这一数字只有5%。

2、ITOA的数据来源有以下四个方面:

1.1 机器数据(Machine Data):是IT系统自己产生的数据,包括客户端、服务器、网络设备、安全设备、应用程序、传感器产生的日志,及 SNMP、WMI 等时间序列事件数据,这些数据都带有时间戳。机器数据无所不在,反映了IT系统内在的真实状况,但不同系统产生的机器数据的质量、可用性、完整性可能差别较大。

1.2 通信数据(Wire Data):是系统之间2~7层网络通信协议的数据,可通过网络端口镜像流量,进行深度包检测 DPI(Deep Packet Inspection)、包头取样 Netflow 等技术分析。一个10Gbps端口一天产生的数据可达100TB,包含的信息非常多,但一些性能、安全、业务分析的数据未必通过网络传输,一些事件的发生也未被触发网络通信,从而无法获得。

1.3 代理数据(Agent Data):是在 .NET、PHP、Java 字节码里插入代理程序,从字节码里统计函数调用、堆栈使用等信息,从而进行代码级别的监控。但要求改变代码并且会增加程序执行的开销,降低性能,而且修改了用户的程序也会带来安全和可靠性的风险。

1.4 探针数据(Probe Data),又叫合成数据(Synthetic Data):是模拟用户请求,对系统进行检测获得的数据,如 ICMP ping、HTTP GET等,能够从不同地点模拟客户端发起,进行包括网络和服务器的端到端全路径检测,及时发现问题。但这种检测并不能发现系统为什么性能下降或者出错,而且这种检测是基于取样,并不是真实用户度量(Real User Measurement)。

拥有大量客户端的公司,如BAT,会直接在客户端度量系统性能,做Real User Measurement,通常不需要模拟用户检测。

3、ITOA 四种数据来源使用占比

美国某ITOA公司的用户调研发现,使用这四种不同数据来源的比例为:Machine Data 86%, Wire Data 93%, Agent Data 47%, Probe Data 72%。这四种数据来源各有利弊,结合在一起使用,效果最好。

4、日志:时间序列机器数据

通常结合日志与网络抓包,能够覆盖大部分IT运维分析的需求。日志因为带有时间戳,并由机器产生,也被称为时间序列机器数据。

它包含了IT系统信息、用户信息、业务信息。

日志反映的是事实数据:LinkedIn(领英)是非常著名的职业社交应用,非常重视用户数据分析,也非常重视日志。

它的一个工程师写了篇很有名的文章:

  • “The Log: What every software engineer should know about real-time data's unifying abstraction”, Jay Kreps, LinkedIn engineer

LinkedIn的用户数据挖掘基于日志,公司内部有专门的部门处理所有的日志,各模块的日志都被采集,传送到这个部门。

著名的开源消息队列软件Kafka就是LinkedIn开发,用来传输日志的。

以Apache日志为例,包含了非常丰富的信息:

  • 180.150.189.243 - - [15/Apr/2015:00:27:19 +0800] “POST /report HTTP/1.1” 200 21 “https://rizhiyi.com/search/” “Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0” “10.10.33.174” 0.005 0.001

里面包含的字段:

  • Client IP: 180.150.189.243

    Timestamp: 15/Apr/2015:00:27:19 +0800

    Method: POST

    URI: /report

    Version: HTTP/1.1

    Status: 200

    Bytes: 21

    Referrer: https://rizhiyi.com/search/

    User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0

    X-Forward: 10.10.33.174

    Request_time: 0.005

    Upstream_request_time:0.001

可见,日志是非结构化文本数据,如果分析,最好把它转换为结构化数据。

上面就是抽取了各个字段,把日志结构化了,结构化之后,统计、分析就很方便了。

二日志的应用场景
1、运维监控:

包括可用性监控和应用性能监控 (APM)

2、安全审计:

包括安全信息事件管理 (SIEM)、合规审计、发现高级持续威胁 (APT)

3、用户及业务统计分析

三过去及现在的做法
1、过去

过去对日志是不够重视的,比如:

1.1 日志没有集中处理

  • 运维工程师登陆每一台服务器,使用脚本命令或程序查看

1.2 日志被删除

  • 磁盘满了删日志,或者日志回滚
  • 黑客入侵后会删除日志,抹除入侵痕迹

1.3 日志只做事后追查

  • 没有集中管理、实时监控、分析

1.4 使用数据库存储日志

后来开始集中管理日志,但使用数据库存储日志有什么问题?

  • 无法适应TB级海量日志
  • 数据库的schema无法适应千变万化的日志格式
  • 无法提供全文检索

我见过使用数据库存日志的,数据库就三列:产生日志的服务器IP、时间戳、日志原文。没有对日志字段进行抽取。如果抽取,不同日志有不同字段,数据库无法适应,而且,数据库无法提供全文检索。

2、近年

近年开始使用Hadoop处理日志,但Hadoop是批处理,查询慢,不够及时。Hadoop适合做数据离线挖掘,无法做在线数据挖掘 OLAP (On Line Analytic Processing)。后来又有Storm、Spark Streaming这些流式处理架构,延时比Hadoop好不少,但Hadoop/Storm/Spark都只是一个开发框架,不是拿来即用的产品。也有用各种NoSQL处理日志的,但NoSQL是key-value store,不支持全文检索。

3、现在

我们需要日志实时搜索分析引擎,它有三个特点:

  • 快:

    日志从产生到搜索分析出结果只有几秒的延时

    Google、百度的新闻搜索也只能搜索5分钟之前的新闻

  • 大:

    每天处理 TB 级的日志量

  • 灵活:

    Google for IT, 可搜索、分析任何日志,运维工程师的搜索引擎

简而言之,这是Fast Big Data,除了大,还要快。

四日志搜索引擎
1、日志管理系统的进化:

2、日志易:日志实时搜索分析平台

1.1 可接入各种来源的数据

  • 可接入服务器、网络设备、操作系统、应用程序的日志文件,数据库,甚至恒生电子交易系统二进制格式的日志。

1.2 企业部署版及SaaS 版

SaaS版每天500MB日志处理免费

五日志易产品介绍 
它的主要功能有:日志搜索、告警、统计、关联分析(关联不同系统的日志)。用户可以在Web页面配置解析规则,抽取任何日志的任何字段,也开放API,对接第三方系统,供客户或第三方二次开发。

采用了高性能、可扩展分布式架构,可支持20万EPS (Event Per Second), 每天数TB日志。

日志易还是个可编程的日志实时搜索分析引擎,用户可以在搜索框编写SPL(Search Processing Language,搜索处理语言),使用各种分析命令,通过管道符把这些命令串起来,组成上百行的脚本程序,进行复杂的分析。

这就是李彦宏在云计算刚出现的时候说的“框计算”。给大家看一个例子:某省移动公司做的业务分析↓

Q & A  
 

Q1:您说的可编程是ES的表达式?能讲一下实现了那些表达式,我们能做些什么功能?

A1:transaction (事务关联)、eval(算术表达式)、stats(统计)、sort(排序)等等。https://www.rizhiyi.com/docs/howtouse/transaction.html 发布了部分命令的使用指南。

 

Q2:为什么hadoop不行,这个产品能行,跟ELK有什么区别?

A2:Hadoop实时性差。ELK功能很有限,权限管理很差。日志易有非常丰富的用户分组、日志分组、基于角色的权限管理。

 

Q3:请问需要提前对业务日志做格式改造吗?

A3:不需要,用户在日志易的Web管理页配置解析规则,就可以抽取日志的字段了。

 

Q4:不同日志的怎么关联起来分析吗?

A4:不同的日志需要有共同的字段,如ID,来做关联。

 

Q5:权限管理自己实现,用web控制,ES索引控制就好了,还有其他权限?

A5:主要是哪个人能看哪条日志里的哪个字段,而且要做到很灵活,方便管理,日志易在中国平安有上百用户在同时使用,几百种日志,增加一个用户,他有什么权限,能看哪些日志,要很方便管理。

 

Q6:Nosql + spark + Kafka +flume怎么样?

A6:这还是批处理,而且不支持全文检索。

 

Q7:每天6TB的数据,需要多少个elk的节点?然后是否需要增加一些ssd来做处理?

A7:取决于服务器的性能,近百台服务器吧,有SSD当然更好。

 

Q8:企业版数据采集,分享一下你们的经验!

A8:企业版就是部署在客户的环境,日志易只提供工具,不碰用户的数据。采集可以使用Linux自带的rsyslog agent,也可以使用日志易提供的agent,日志易提供的agent可以压缩、加密,压缩比1:15。

 

Q9:是否方便展示一下这个系统的架构?

A9:

 

Q10:你们对es做的改造能实现不同的业务数据按任意的字段进行关联分析吗?

A10:只要不同业务的日志包含了相同的字段,就可以关联分析。

 

Q11:日志易跟 Splunk 有什么大的区别?

A11:最大的区别是Splunk在检索的时候抽取字段,日志易是在索引之前抽取字段。所以日志易的检索速度比Splunk快。

 

Q12:SaaS版的架构能介绍下吗?日志易是如何做到数据隔离的?

A12:SaaS环境下,每个租户有自己的子域名,各租户登陆到自己的子域名。内部有权限控制、管理。

 

Q13:看你们的介绍有使用spark-streaming,那它在系统中是用来做什么功能呢?

A13:抽取字段,把日志从非结构化数据转换成结构化数据。

 

Q14:你们和SumoLogic比的区别或亮点是什么?

A14:SumoLogic有一些功能,如Log Reduce等,日志易还没有实现,SumoLogic是纯SaaS,日志易同时支持部署版和SaaS。


时间: 2024-08-03 21:17:04

IT运维分析与海量日志搜索的相关文章

日志易:IT 运维分析及海量日志搜索的实践之路(上)

内容简介: IT运维分析(IT Operation Analytics, ITOA)是近年兴起,其把大数据技术应用于分析IT运维产生的大量数据,数据来源主要有日志.网络流量.植入代码.布点模拟监控等.过去使用数据库处理日志无法支持大数据量,后来出现了使用Hadoop/Storm/SparkStreaming等开发框架来处理日志,及最新的使用实时搜索分析引擎来对日志进行实时处理.现如今使用Hadoop/Storm/SparkStreaming等开发框架来处理日志已经在各大公司被广泛的运用,本次演讲

(案例篇)日志易:IT运维分析及海量日志搜索的实践之路(下)

本文为日志易创始人兼CEO陈军,在2016年GOPS全球运维大会.深圳站的演讲实录,主要讲述日志易产品在金融机构.运营商.电网的应用案例. 客户案例 案例一:某大型综合金融机构 这是一个大型的综合金融机构,总部就在深圳,也是中国最大的.他们之前需要逐台去登录服务器:没有办法集中查看日志;没有办法对海量日志进行挖掘和用户行为分析; 而且没有办法做多维度的查询,比如时间段.关键词.字段值;而且没有办法进行日志的业务逻辑分析和告警. 使用日志易产品后:建起日志云,在内部建立了一个私有云来处理日志,已经

运维人必备:日志分析工具日志易之银行业解决方案

运维人必备:日志分析工具日志易之银行业解决方案银行和金融服务行业面临着因为技术革新带来的许多挑战和机遇.系统每天产生数以 TB 计的交易.支付.渠道等各种日志数据.银行机构必须为迅速增长的海量数据建立全新的处理策略和维护能力,以应对日趋复杂的管理需求和抓住不断变化市场机遇.日志数据中蕴藏着丰富的知识,可以帮助银行机构提高服务质量,占据竞争优势.1.关联事务查询横跨多个应用.设备进行实时关联分析,帮助金融机构从头到尾地跟踪事务,确保事务完整性.2.多维度异常分析帮助金融机构实时了解用户行为,在用户

优云软件数据专家最佳实践:数据挖掘与运维分析

这份研究报告,作者是优云软件数据专家陈是维,在耗时1年时间制作的一份最佳实践,今天和大家分享下,关于<数据采矿和运维分析>,共同探讨~ 数据挖掘(Data Mining)是从大量数据中提取或"挖掘"知识. 广义数据挖掘:数据挖掘是从存放在数据库.数据仓库或其它信息库中的大量数据挖掘有趣知识的过程. 数据挖掘技术侧重:1)概率与数理统计 2)数据库技术 3)人工智能技术 4)机器学习. 1. 数据清理:消除噪音或不一致数据 2. 数据集成:多种数据源可以组合在一起 3. 数据

优云蒋君伟:运维监控大数据的提取与分析

本文内容整理来自[敏捷运维大讲堂]蒋君伟老师的线上直播分享.分别从以下3个维度来分享:1.云时代监控分析的窘境:2.使用标签标记监控数据的维度:3.监控数据应用场景. 云时代监控分析的窘境 在虚拟化与容器技术广泛应用的情况下,运维对象大规模地增长,监控平台每天存储的指标都以亿计,所以监控数据如今已经成了大数据.传统的监控工具在这种场景下,对于数据的提取分析,已经力不从心,反而成为了运维的负担. 我们用一个典型的互联网档案分析应用举例说明: 这个应用支持容灾与负载均衡,它部署在三个数据中心,并同时

日志易产品总监跟您聊聊数据驱动的智能运维

中生代技术3月年度大会北京站运维专场,来自日志易的产品总监饶琛琳做了精彩分享,<数据驱动的智能运维>,以下是分享全部PPT内容 (全文完) 来源:中生代技术 原文链接

Gdevops精彩不落幕,敏捷运维盛会圆满收官!(附PPT)

继杭州首站的盛大起航,北京.广州两站的持续升温,贯穿全年的"2016年全球敏捷运维峰会"于11月18日在上海圆满收官!这场意义非凡的收官盛会,特别设置了一个主会场和两个分会场,在总结目前IT运维转型困局与突破的同时,对未来敏捷.运维.云等技术领域的发展与革新指明了方向.   与此同时,万众瞩目的十大MVP评选也在峰会现场举行了隆重的颁奖仪式,本年度为技术圈作出非凡贡献的专家及团队悉数登台,星光璀璨,为2016年的Gdevops峰会画上圆满句点.   无论你错没错过这场收官盛会,这些现场

运维改革探索(二):构建可视化分布式运维手段

作者介绍 朱祥磊,山东移动BOSS系统架构师,负责业务支撑系统架构规划和建设.获国家级创新奖1项.通信行业级科技进步奖2项.移动集团级业务服务创新奖3项,申请发明专利13项. 工具篇:构建可视化分布式运维手段 工欲善其事,必先利其器.上篇我们已经详细分享了监控相关的知识,然而运维可视化,除了构造可视化监控外,还要建立相应的运维手段,云化下的运维工具和传统架构的有较大不同,对集群式.分布式提出了更高的要求. 1.自动化巡检 从2011年开始推行巡检,最初,我们的武器仅仅是一个word文档.一些ex

那些年你追过的女神:开发人员应该懂多少运维

编者按:在别的地方搜索一下这个看不出性别的简介真心没多大意思.陈爱珍,DBA+社群中间件云用户组联合发起人,上海中间件用户组负责人,新炬网络技术专家,7年运维经验,涉及电信.金融.税务等行业,精通主流中间件技术,精通以业务为导向的端到端性能优化,熟悉私有云平台建设. 红色三月的节气,发点生活照来应应景. 再来一些未披露的才艺. (不知道为啥画的是杀阡陌,而不是被囚禁的尊上和胡歌!捂脸~) (新时代女性,可以写代码,也能下厨房~) 偶然在朋友圈看到文章<放假了 过节了 寂寞了>, 忘记是谁转发的