自动化计算包括计算系统的self-configuring(自动配置)、self-healing(自动修复)、self-optimizing(自动优化)、sekf-protection(自动保护),能够帮助企业节约大量系统管理成本。
系统日志是记录生产设备运行过程中产生的记录数据,记录了操作系统运行状态中的各种异常事件,错误以及软件设置的更改。系统日志和事件的挖掘,是实现自动化计算的基础和关键。
一.目的
1.系统问题诊断
problem determination指的是判定系统是否发生故障和故障发生的原因。系统故障的发生通常具有互相依赖性和传递性,找出故障的根源叫做故障根源分析root cause analysis。
2.调试和优化
用于调试的日志大都是软件开发人员主动嵌入日志,生成代码,然后通过生成的日志来分析和揣测bug出现的原因。
优化软件的目标是找出待优化程序的瓶颈所在。要找出瓶颈,常见的手段就是在待优化程序代码中主动嵌入可追踪的日志产生代码。然后优化软件通过分析运行生成的日志,跟踪到待优化程序的每个执行函数消耗的运行时间及内存等参数,从而找到瓶颈。
3.系统安全维护
日志分析常被用于被动攻击的分析和防御中。通过日志数据的分析,可以断定和寻找攻击源,从而找到有效的抵御措施。如DoS攻击
一些病毒防御软件通过分析应用程序调用操作系统的API历史纪录来分析其行为是否正常,从而判定该应用程序是否是virus或者worm.
二.系统架构
主要分为三个部分
1.日志数据的收集和预处理
2.历史日志数据存储
3.日志时间数据的分析和结果展示及应用
包括实时分析和离线分析两种。通常基于数据挖掘的方法都是针对海量历史数据进行离线分析,然后将创建的模型用于实时的日志分析。