DevOps与海量日志分析日志易CEO陈军Copyright©2016北京优特捷信息技术有限公司提纲 DevOps/SRE在Google的实践 DevOps的需求 日志分析在DevOps的应用 日志分析系统 日志易的一些独特功能Copyright©2016北京优特捷信息技术有限公司个人简介ª 日志易,创始人&CEO,2014~ª 高德地图,技术副总裁,2012~2014ª 腾讯,网络平台部、搜索基础架构部,技术总监、专家工程师,2009~2012ª Google,PlatformNetworking,SearchInfrastructure,SeniorSoftwareEngineer,2006~2009ª CiscoSystems,SeniorSoftwareEngineer,1998~2005ª UniversityofSouthernCalifornia,MS.inComputerEngineering,1997~1998ª 发明了4项网络及分布式系统美国技术专利Copyright©2016北京优特捷信息技术有限公司10年前Google的网页搜索ª 300多人的团队,没有传统意义的测试人员ª 网页下载实例• 每天爬数以千万的网站,下载将近100亿个网页• 生产线上遇到的问题很难在测试环境模拟• 开发人员做完单元测试及简单的系统测试后,灰度上线• 非常详细的日志记录,每天的日志文件几百GB• 每日运行MapReduce,统计分析日志文件记录的异常Copyright©2016北京优特捷信息技术有限公司对开发人员的要求ª 系统设计的时候就要考虑测试与运维• 开发人员需要熟悉运维• 系统必须可运维、易运维• Google鼓励开发人员(包括总监)到运维轮岗半年ª 小步快跑、快速迭代• 及时获得用户反馈,以决定下一步计划ª 上线后,密切留意运维、运营Copyright©2016北京优特捷信息技术有限公司对运维人员的要求ª 及早介入系统设计• 系统设计必须满足运维要求• Google鼓励开发人员(包括总监)到运维轮岗半年ª 灰度上线对运维要求更高,压力更大• 运维一个很可能有Bug的软件• 承担了部分系统测试任务ª 一个新的岗位:SiteReliabilityEngineer(SRE)Copyright©2016北京优特捷信息技术有限公司SRE:SiteReliabilityEngineerª GoogleSiteReliabilityEngineering(SRE)consistsofsoftwareandsystemsengineersworldwidewhospecializeintroubleshooting,toolsdevelopment,andproductionsystemsautomation.AsaSiteReliabilityEngineer,youwillconsultwithsoftwareengineeringteamsduringthedevelopmentcycletohelpdevelopersunderstandandcomplywithourarchitecturalguidelinesforreliability,speed,andscalability.YouwillhelpmanageongoingcapacityplanningtohandleGoogle’srapidtrafficgrowthandglobalexpansion.Youwillalsopartnerwithsoftwareengineeringteamsduringthelaunch,deployment,andmaintenanceofnewproductsandservices.Withyourdepthknowledgeofoptimization,trafficloadbalancing,andsystemenhancements,youwillbetheretomanageandmaintainservices,ensuringtheirreliabilityandavailabilityforhundredsofmillionsofusersworldwide.Copyright©2016北京优特捷信息技术有限公司FacebookSRE:Responsibilitiesª Monitorthestabilityandperformanceofthewebsiteª Remotelytroubleshootanddiagnosehardwareproblemsª DebugissueswithLinuxsoftware,applicationsandnetworkª ResolvetechnicalchallengesencounteredinLAMPtechnologiesª Developandmaintainmonitoringtoolsandautomationsystemsª Predictandrespondtoutilizationvariancesacrossmultipledatacentersª Identifyandtriagealloutagerelatedeventsª Facilitatecommunication,coordinateescalation,andworkwithsubjectmatterexpertstoimplementcriticalfixesª AutomateandstreamlineprocessesCopyright©2016北京优特捷信息技术有限公司FacebookSRE:Requirementsª 2-3years+Linuxsupport/sysadminexperienceinanInternetoperationsenvironmentª BA/BSinComputerScienceorarelatedfield,orequivalentexperienceª WorkingknowledgeofLinux,TCP/IP,ApacheandmySQLª Experienceworkingwithnetworkmanagementsystemsandmonitoringtools,suchasNagios,GangliaandCactiª CompetencyinShell,PHP,PerlorPython.Cisaplusª Solidunderstandingofwebservicesarchitectureandcommonlyemployedtechnologiesª Asenseofurgencyinrespondingtoandresolvingcriticalissuesthatrelatetotheperformanceofthesiteand/orcoreinfrastructureª Excellentverbalandwrittencommunicationskillsª Participationinashiftedcoverageschedule,includingoccasionaleveningsshiftsCopyright©2016北京优特捷信息技术有限公司SRE成为行业标准等互联网公司的运维工程师都叫SRECopyright©2016北京优特捷信息技术有限公司DevOps三大原则ª 开发到运维的快速平滑过渡,持续交付ª 持续度量,实时反馈• Metrics• Logs• Eventsª 持续实验与改进Copyright©2016北京优特捷信息技术有限公司DevOps的趋势ª 开发、安全、运维一体化:DevSecOps• SaaS面临更大的安全挑战• 软件发布之前就要考虑安全ª 容器化与微服务• 对实时监控要求更高Copyright©2016北京优特捷信息技术有限公司DevOps的需求ª 实时掌控开发、测试、发布新产品过程中的每一步及系统状态ª 快速、准确定位bug,有效排查故障,帮助产品持续集成、快速上线、持续交付ª 关联分析,实时监测服务调用链、应用性能及用户行为Copyright©2016北京优特捷信息技术有限公司事前预警• 秒级延时• 异常自动检测• 数小时、数天• 人工判断异常事中及时告警事后根源追溯故障处理:从被动响应到主动发现• 预测故障• 容量规划Copyright©2016北京优特捷信息技术有限公司日志分析,DevOps不可缺少的工具用户日志业务日志交易日志应用及系统日志IT系统(服务器、网络设备)每天都产生大量的日志,包含了各种设备、系统、应用、用户信息Copyright©2016北京优特捷信息技术有限公司日志:时间序列机器数据ª 带时间戳的机器数据ª IT系统信息• 服务器• 网络设备• 操作系统• 应用软件ª 用户信息• 用户行为ª 业务信息ª 日志反映的是事实数据• “TheLog:Whateverysoftwareengineershouldknowaboutreal-timedata'sunifyingabstraction”,JayKreps,LinkedInengineer• 深度解析LinkedIn大数据平台()Copyright©2016北京优特捷信息技术有限公司一条ApacheAccess日志• 180.150.189.243--[15/Apr/2015:00:27:19+0800]“POST/reportHTTP/1.1”20021“”“Mozilla/5.0(WindowsNT6.1;WOW64;rv:37.0)Gecko/20100101Firefox/37.0”“10.10.33.174”0.0050.001• 字段:- ClientIP: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: UserAgent:Mozilla/5.0(WindowsNT6.1;WOW64;rv:37.0)Gecko/20100101Firefox/37.0- X-Forward:10.10.33.174- Request_time:0.005- Upstream_request_time:0.001Copyright©2016北京优特捷信息技术有限公司日志的应用场景ª 运维监控• 可用性监控• 应用性能监控(APM)• 故障根源分析与预警• 容量规划ª 安全审计• 安全信息事件管理(SIEM)• 合规审计• 发现高级持续威胁(APT)ª 用户分析ª 业务分析Copyright©2016北京优特捷信息技术有限公司过去ª 日志没有集中处理• 登陆每一台服务器,使用脚本命令或程序查看ª 日志被删除• 磁盘满了删日志• 黑客删除日志,抹除入侵痕迹ª 日志只做事后追查• 没有实时监控、分析ª 使用数据库存储日志• 无法适应TB级海量日志• 数据库的schema无法适应千变万化的日志格式• 无法提供全文检索Copyright©2016北京优特捷信息技术有限公司近年ª Hadoop• 批处理,不够及时• 查询慢• 数据离线挖掘,无法做OLAP(OnLineAnalyticProcessing)ª Storm/Sparkª Hadoop/Storm/Spark都只是一个开发框架,不是拿来即用的产品ª NoSQL• 不支持全文检索Copyright