陈军:IT运维分析与海量日志搜索
互联网IDC圈1月8日报道,1月5-7日,第十届中国IDC产业年度大典(IDCC2015)在北京国家会议中心隆重召开。本次大会由中国信息通信研究院、云计算发展与政策论坛、数据中心联盟指导,中国IDC产业年度大典组委会主办,互联网IDC圈承办,并受到诸多媒体的大力支持。
为丰镇等地区用户提供了全套网页设计制作服务,及丰镇网站建设行业解决方案。主营业务为网站设计、网站制作、丰镇网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!中国IDC产业年度大典作为国内云计算和数据中心领域规模大、最具影响力的标志性盛会,之前已成功举办过九届,在本届大会无论是规格还是规模都"更上一层楼",引来现场人员爆满,影响力全面覆盖数据中心、互联网、云计算、大数据等多个领域。
日志易首席执行官陈军出席IDCC2015大会并在大数据应用与安全技术论坛发表主题为《IT运维分析与海量日志搜索》的精彩演讲。
日志易首席执行官陈军
以下为陈军演讲实录:
陈军:我今天讲的是IT运维分析与海量日志分析,今天是IDC大会,很多数据需要分析,IT设备需要做运维。我分这几部分讲,什么叫IT运维分析,IT运维是个比较新的东西,日志的应用场景、过去及现在的做法、日志搜索引擎、日志易的产品。
过去做IT运维都讲IT运维管理,IT运维管理做了很多年了,也非常成熟,随着前几年大数据技术的兴起,大家开始把大数据技术应用到IT运维上面做分析,就产生了IT运维分析,把大数据技术用在IT运维分析上的目的是提高数据质量和效率。可用性监控、应用型能监控、故障根源分析、安全审计。权威的调查机构Gartner估计,到2017年15%的大企业会积极使用ITOA,2014年这个数字只有5%,不管5%还是15%,是比较低的比例,ITOA是新出现的东西,正在被市场逐步接受。
ITOA把大数据的技术用在运维数据的分析上,数据的来源就非常重要,ITOA的数据来源主要是四方面:
第一是机器数据,服务器、网络设备产生的数据,其实就是日志。
第二是通信数据,现在网络已经非常普遍了,后台的设备很多都是大型的分布式系统,都有网络的通信,网络通信过去通过网络抓包,通过流量分析应用的情况。网络抓包、流量分析的这类数据又是Wire Data。
第三是代码级别进行统计分析的,像PHP、JAVA这些字节码来插入统计分析的代码,统计它的函数调用情况、堆站的使用情况,从代码级别来进行统计分析,更加精细化的统计化分析,这是代理数据。
第四是探针数据,国内已经有些公司在做这个事情,全国的用户访问IDC的延时是多少,得在全国布点,发起模拟用户的请求探测,进行端到端延时的度量。美国有一家做ITOA的公司,他们做了一个用户调查,四种数据来源使用情况,日志的使用比例非常高,占86%,网络抓包占93%,插入代码代理数据是47%,探针数据是72%。日志跟网络抓包占的比例非常高,占到了百分之八九十,插入代码占不到50%,探针大概是70%。
日志无所不在,所有服务器、网络设备、应用系统都会产生日志,但是日志的覆盖面非常广,日志也有它的特点,不同的应用输出的日志完整性跟可用性不同,因为输出太多日志会降低应用的性能,会关闭一些级别低的日志,只输出级别最高的。输出的日志有多少,数据的完整性有差别。通信数据,网络抓包,从网络流量统计的信息也是非常全面的,但是它也有它的局限性,有一些事件未必触发网络通信,如果没有触发网络通信的话就不会产生网络流量,就没办法抓这些包进行统计。
探针数据,是模拟用户请求,好处是端到端监控,可以从手机访问到服务器端到端的延时,但它的问题不是真实的用户度量,前几年已经开始讲一个概念,真实的用户度量,我们希望度量到用户真正的延时情况,而不是模拟的。移动应用厂商像腾讯、百度他们已经有数以亿计的终端用户,他们可以直接在他们的手机应用端做真实的用户度量,可以看到真实用户的访问情况。2008年汶川地震的时候腾讯QQ客户端实时监测到汶川地区用户QQ掉线,马上知道那里发生了事故,要么是IDC事故,要么是网络的事故,所以可以做真实的网络度量。
日志学术性的说法是时间序列机器数据,为什么叫做时间序列机器数据?因为它是带时间戳的机器数据,它是机器产生的,网络设备、服务器产生的。第二它是带时间戳的,日志包含了IT系统非常多的信息,服务器、网络设备、操作系统、应用软件,甚至包括用户的信息、业务的信息。日志反映了事实数据,美国有个很出名的公司叫影音(音),做职业社交,他的一名工程师写了一篇非常出名的文章,每一个软件工程师都应该知道实时数据统一的抽象的信息,也有中译版,深度解析Linkedin大数据平台,所有对日志感兴趣的工程师可以好好看下这篇文章,这篇文章讲的就是日志是一个企业里最真实的数据,不管是数据中心还是企业里发生的一切日志都会记录下来,通过统计分析这个日志,不同系统之间的通信也可以通过日志来传输这个信息。大数据领域有比较开源的软件Kafuka,当年发明Kafuka的目的就是用来传输日志,Kafuka也是做日志处理里用的最普遍的消息队列软件。
先看一下Apache日志,这是一条Apache日志,它是文本信息,如果不是专业的运维工程师经常看日志的话,大家看到这个会像看天书,不知道是什么含义,使用日志易这个软件把日志做结构化,把它从非结构化数据转成结构化数据得出来的信息。一条日志包含的信息非常多,从这里面统计分析的话会得出多有价值的信息。日志可以用到哪些场景?一个是运维监控,IDC需要进行运维监控,保证系统的可用性,如果出现故障了,能够及时追溯故障根源,及时知道问题。应用性能监控,主要是知道性能的情况,你的网站是不是慢,为什么慢,慢在哪里,这方面属于应用性能监控。数据中心里还有一条很重要的就是安全,要保证数据中心的安全,防止黑客的入侵。这可以用在安全审计方面,主要是安全信息事件管理、合规审计、发现高级持续威胁APT,APT现在也是比较热门的话题。做APT的发现得通过日志、流量,全方位360无死角地进行监控。
日志用在业务和用户数据分析上。过去的做法是日志没有集中管理,散落在各台服务器上,事后出了问题就登录到各台服务器上用脚本命令,用VI去查看日志,有一些水平高的运维工程师用AWK写一些脚本分析程序去分析日志,这样的做法也有问题,因为登录到各台服务器,这些服务器都是生产服务器,一不小心的误操作可能就会导致事故。日志被删除,一个是磁盘满了,日志就被覆盖了,另外运维工程师把日志当做垃圾,看到磁盘快没了首先做的事情就是删除日志,删除日志之后如果事后发现有些措施或者故障需要分析需要追溯又找不到日志了。黑客入侵之后,聪明的黑客第一件事就是删除日志,因为日志记录了他入侵的痕迹,他删除日志就可以把他入侵的痕迹磨除掉。
系统出现故障的时候日志会包含信息,我们希望实时地发现这些信息,当日志出现错误信息的时候能够马上报警,而不是仅仅用在事后的追查上。后来有些公司开始重视日志,他们用数据库存储日志,现在是一个比较普遍的做法,但是用数据库存储日志有什么问题呢?
数据库是用来存结构化数据的,日志是非结构化的数据,数据库有固定的Schema,规定好数据库的表格是当有新的日志表格过来的时候表格又要改。
我看到有一些做法,为了让表的格式大限度的灵活化,数据库就定义了三列,第一列是产生日志的机器IT地址,第二是时间戳,第三是日志本身的信息,把整个日志的文本当做一个字段放到数据库里,没办法针对日志里的信息进行抽取进行分析。数据库没办法适用TB级的海量日志,现在产生的日志越来越多,每台服务器一天产生几GB甚至几十GB的数据,一个数据中心上千台服务器一天可能产生几TB的数据,数据库没办法处理来。
一讲大数据都离不开Hadoop,Hadoop出来之后大家开始用Hadoop处理日志,首先Hadoop是批处理的框架,不够及时。用Hadoop处理分析都是今天看昨天的数据,或者是看几个小时之前的,最快也只能看到几十分钟之前的,想看几秒钟之前的Hadoop是做不到的。所以Hadoop基本是用来做数据的离线挖掘,没办法做在线数据分析。后来又开始出现Storm、Spark,但这些都是使用框架,我们希望有个东西拿来就可以用。后来出现NoSQL,但没办法全文检索,我们希望对日志进行实时的搜索分析,需要有一个搜索分析引擎,要有几个特点,一是快,日志从产生到分析出结果只有几秒的延时,二是大,每天处理TB级的日志量。三是灵活,Googlefor IT,可搜索、分析任何日志。FastBig Data,除了大之外还要快。
日志管理系统的进化,日志1.0数据库,日志2.0是用Hadoop或NoSQL处理,现在到了日志3.0,实时搜索引擎,FastBig Data。可编程的日志实时搜索分析平台,跟谷歌、百度的搜索引擎非常相似,有搜索框,但这个搜索框又比谷歌、百度更复杂,它定义了很多搜索处理语言。比如有管道符,还有各种命令,可以在搜索框里进行非常复杂的分析。它可以接入各种来源的数据,包括日志文件、数据库、恒生电子交易系统。有企业部署版和SaaS版,SaaS版处理每天500MB日志是免费的。
可以搜索、告警、统计,配置解析规则,识别任何日志,安全攻击自动识别,开放API,对接第三方系统。高性能、可扩展分布式。我们看一下案例,中国平安,使用日志易之前,逐台登陆服务器,无法集中查看日志,无法对海量数据进行挖掘、用户行为分析,日志查询方法比较原始,只能less、grep和awk等常见的Linux指令,无法多维度查询。无法进行日志的业务逻辑分析和告警。使用日志易之后,接入60多个应用的日志。
另外一个案例是山东移动,分析营业厅营业员做业务办理的web请求日志。聚合出每个营业员每项业务的详细操作步骤,对每个步骤的操作时长进行告警、统计分析,这里用到搜索处理语言,这是一条搜索处理语言,这是搜索这个字段,字段后包含了文本信息,这里是一个管道符,通过这个管道符把事务命令串起来,搜索完了进行事务的处理,一笔事务有起始的,对事物的关联通过ID进行,关联之后一笔事务有开始有结束,开始查询作为开始提交作为结束,最长的时间跨度不会超过30分钟,超过30分钟就不去处理了,这样就把每一笔事务都关联起来。这就是分析出来的结果,每一笔缴费业务的结果统计分析出来。
还有一个案例是国家电网,做信息安全与事件管理。终端信息安全事件日志的调查、分析、取证,在各省分公司信息安全事件现场使用,快速排查日志里保留的证据,为事件取证提供支持。客户已经有中国平安、国家开发银行、中国移动、国家电网、小米开放平台、乐视网、有利网这些用户。
我今天的介绍就到这里,欢迎关注我们的公众号。
网站题目:陈军:IT运维分析与海量日志搜索
网站链接:http://pwwzsj.com/article/chijgc.html