1.4 日志使用场景
几乎所有的电子设备都会输出日志,日志的使用场景也很广泛。
自互联网大规模普及以来,日志被广泛应用于运维监控领域,通过分析系统产生的日志数据,使用者可以了解系统执行了哪些具体操作,并对其中的危险操作采取相应措施,进而减少或避免这些危险操作所造成的损失。
随着大数据时代的到来,日志数据越来越丰富,日志中的信息价值也越来越大。监管部门开始从日志中分析问题,对企业进行必要的安全审计。企业也开始挖掘日志数据的价值,以辅助其业务的发展。
5G时代,万物互联。在更广阔的物联网领域,相信日志还会发挥更大的作用。
本节将对几个典型的日志使用场景进行说明。
1.4.1 故障排查
软件、系统、网站开发完成后会进行发布,发布运行后需要进行持续性的维护。标准情况下,软件、系统、网站的一系列运行过程会通过日志记录留存。当软件系统发生故障时,可以通过查询日志中的运行记录准确定位故障点。
日志作为故障排查的主要方式之一,是运维人员不可或缺的数据源。
但日志的记录如果过于详细,日志留存将占用庞大资源;若日志的记录过于简略,则在故障排查时不会发挥有效作用。冷热分离通常成为数据体量大的公司必备的日志存储方案。
1.4.2 运维监控
软件在开发完成后会进行发布,发布运行后需要对其进行持续维护。运维人员不仅要对软件或网站的正常运行负责,而且要保证系统运行环境的健康。
在运维监控的一系列工作中,日志数据显得尤为重要。
运维人员可以收集系统中的日志数据。由于企业规模不同,这些数据可能来自上百台、上千台机器中不同应用程序的日志(如应用的错误日志、访问日志、操作系统日志等)。基于这些数据,运维人员能够对企业的大规模集群设备进行集中管理和监控。
系统相关信息会在系统日志中有所记录,如磁盘使用情况。通过对磁盘容量进行监控分析,能够及时发现系统瓶颈,方便后续对系统进行扩容升级。
应用日志中包含丰富的用户数据信息。用户访问网站,获取每个网页资源的行为都有相应的日志记录,访问日志中记录了用户的来源IP、目的IP、访问URL、请求时间及响应时间等信息。通过分析访问日志,可以对用户可疑行为进行统计分析,并针对这些行为采取相应的处理措施。例如,可以统计每日访问次数最多的IP,分析该IP的具体访问行为,判断该IP是否属于恶意攻击。若被判定为恶意攻击,则将该IP加入黑名单,并返回给该IP无效网页信息。分析用户恶意行为,有助于发现安全漏洞及风险。
运维人员根据使用目的,可对不同模块的日志进行不同方式的处理。例如,对访问日志进行流计算,以实现实时监控;对操作日志进行索引,以实现性能查询;对重要日志进行备份存档等。
1.4.3 安全审计
2017年6月1日,《中华人民共和国网络安全法》(简称《网络安全法》)正式实施,其对业务系统安全审计提出了新的要求。原文摘录如下:
“第二十一条 国家实行网络安全等级保护制度。网络运营者应当按照网络安全等级保护制度的要求,履行下列安全保护义务,保障网络免受干扰、破坏或者未经授权的访问,防止网络数据泄露或者被窃取、篡改:
(一)制定内部安全管理制度和操作规程,确定网络安全负责人,落实网络安全保护责任;
(二)采取防范计算机病毒和网络攻击、网络侵入等危害网络安全行为的技术措施;
(三)采取监测、记录网络运行状态、网络安全事件的技术措施,并按照规定留存相关的网络日志不少于六个月;
(四)采取数据分类、重要数据备份和加密等措施;
(五)法律、行政法规规定的其他义务。”
传统的运维方法及日志分析方式很难满足合规要求。对需要满足网络安全等级保护第三级要求的企业而言,采用专业的日志分析产品成为必然选择。
安全审计对日志分析产品提出了以下要求:
(1)提供数据脱敏功能。按《网络安全法》的要求,对用户数据进行脱敏处理。
(2)提供数据备份、还原功能。按《网络安全法》的要求,数据至少备份6个月,同时能够还原指定时间范围的日志数据,以便监管部门调取。
(3)提供灵活的查询和搜索功能。可以进行实时数据搜索和历史数据还原,以满足监管部门的查询需求。
(4)提供网络安全事件实时预警、防控功能。可以对网络设备节点故障进行实时告警及快速分析溯源,发现传统安全设备无法发现或阻断的安全威胁,对线上故障及威胁快速响应。
(5)符合国家标准,并通过相关机构的安全认证。
安全审计对于企业而言意义深远。安全审计是SIEM(Security Information and Event Management)体系中的一环,本书第15章将对SIEM进行详细介绍。
1.4.4 业务分析
业务分析包含指标分析、场景分析、关联分析等内容。
1.指标分析
对业务日志进行分析,一般会落到具体指标上。基于指标进行分析是日志分析最常见的形式。
简单的指标分析基于字段进行,可以将一个字段理解为一个指标。
对单指标来说,其分析涉及指标使用场景及用途、可视化类型、基础分析条件等信息。对单指标的分析通常有占比分析、单值分析、趋势分析、同比分析、环比分析、陡变分析等维度。
此外,还有一些综合指标需要关注,如成功率及其趋势等。
不同的指标分析,往往采用不同的可视化形式,如占比分析常采用饼图,趋势分析常采用折线图等。
当然,实现指标分析的基本条件是日志中包含该字段。此外,还应确定该字段在日志中出现的位置及识别方法。
业务系统有以下一些通用指标分析项,它们几乎在所有的业务场景中都会用到:
(1)单值统计包括交易成功率、交易量、系统健康度、平均响应时间等。
(2)趋势分析包括某指标的波动区间分析、多指标变化率分析等。
从多指标变化率分析中,可以发现某指标随另一个指标的变化情况。当有故障发生时,可据此判断故障是否与某一指标波动有关。趋势分析中的波动区间分析,可以很直观地展现某指标的异常值。
2.场景分析
除通用指标分析外,业务系统的独特性决定了其还有特定的场景分析需求。当业务场景具有多样性时,相关分析更是难上加难。
场景分析是指某个特定场景下的分析需求,如“双十一”促销场景下,业务健康度的分析需求。
场景分析可遵循察外控内的原则进行。
察外是将业务系统看成黑盒,关注业务系统上下游相关联系统、接口的重要指标,如关注上游交易量、请求量及下游响应耗时、健康度。
控内是将业务系统看成白盒,从整体视角关注业务系统的运行情况。控内主要是从运维、安全、业务等维度把控业务系统。在运维维度上,须关注业务系统的性能,要对业务、网络、主机性能进行监控,还要关注日志告警、故障排查及服务可用性。在安全维度上,应关注异常交易、用户行为等。在业务维度上,则应关注交易量、趋势、成功率、响应耗时、报表等信息。
3.关联分析
在企业生产环境中,有时需要先将某个系统与其他业务系统进行关联,再进行相应的分析。
关联分析是指梳理各个业务系统之间的关系,明确对业务系统有重要影响的上下游指标。可以使用ABC模型进行关联分析。
ABC模型典型应用场景之一是银行系统服务总线。在该应用场景下,需要将终端用户通过手机银行发送的付款请求经ESB系统传送到外联平台,这个过程可以被抽象分解为业务链的上游、中游、下游,如图1-4所示。
图1-4 关联分析示例
还可以使用ABC模型进行故障分析。假设A、B、C系统分别处于业务链的上、中、下游,B系统的应答失败率较高,需要对B系统进行排障。此时可以找出上下游系统中与B系统相关的模块,分析这些模块是否与B系统的故障有关。
除上述内容外,还有报表分析及智能运维。报表分析是将分析结果以报表的形式定时发送给相关人员。智能运维将在本书第13章进行介绍。
1.4.5 物联网
百度百科对“物联网”的解释如下:
“物联网(Internet of Things, IoT)是指通过信息传感器、射频识别技术、全球定位系统、红外感应器、激光扫描器等各种装置与技术,实时采集任何需要监控、连接、互动的物体或过程,采集其声、光、热、电、力学、化学、生物、位置等各种需要的信息,通过各类可能的网络接入,实现物与物、物与人的泛在连接,进而实现对物品和过程的智能化感知、识别和管理。物联网是一个基于互联网、传统电信网等的信息承载体,它使所有能够被独立寻址的普通物理对象形成互联互通的网络。”
科幻电影中经常出现以下场景:天气、体型、服装偏好等数据被采集后,由计算机利用某种技术实现演员的快速换装效果,或者提供服装个性推荐列表;出行目的地、生活场景等数据被采集后,由计算机根据特定需求,推荐相应场景下的定制出行方案。以目前的技术发展水平而言,实现类似场景并非妄想。这种场景的实现,需要基于物联网。
物联网的实现基于大数据。
日志作为大数据中最典型的一种数据种类,其涵盖的范围很广,数据量极大且数据价值较高。几乎所有的电子产品或机器都会产生日志,这些日志被收集后,可以用来监控工厂中各台机器的运行状况,统计员工出勤情况,实时监控淘宝等大型站点的服务健康度并获取购物过程中因网络或系统故障付款失败的用户记录等。
虽然现在日志数据的分析与使用主要体现在互联网公司业务保障方面,但随着科技的发展,日志数据必将在物联网领域发挥不可估量的作用。