在使用大数据(Big Data)的实际应用场景中,日志文件是一个很重要的数据来源。相比其他数据源,日志信息总在源源不断的产生中,不论是系统或代码中设置好的触发/生成机制,还是系统(例如Web Server、Database Server等)配置自动生成的日志,甚至包括了系统或应用执行发生异常或错误的情况,例如,SQL Server Azure VM上AlwaysOn高可用(HA)方案的运行状态相关的日志。
而日志文件里所潜藏的价值也正被大数据技术所挖掘,透过对于日志文件一些基础数据的统计、挖掘及分析,可以进一步获得很多非常有用的信息,例如,对网站日志的分析,可以获得页面的点击的情况、外部访问的情况、客户端/服务端错误的情况等,从而进一步分析网页运行的健康度、使用率分布、访问者行为等。
在Azure中提供了HDInsight云服务来帮助大家进行大数据开发工作,可以把相关数据文件存储在Azure Storage中,然后利用HDinsight节点来对这些数据进行分析。
在Azure HDInsight的查询控制台(Query Console)中,最近提供了一些辅助性的解决方案,其中就包括了如何快速、简捷地建立日志文件分析的应用。如下图可在HDInsight服务页面的底部进入查询控制台:
在查询控制台可以看到一些解决方案的样例,就包括了对Azure WebSites日志文件分析的解决方案,见下图:
在搭建和运行Azure WebSites网站时,需要对日志选项进行配置,确保可以根据需要保留网站的运行日志信息,如下图:
在查询控制台的日志分析解决方案中,提供了step-by-step的执行向导,并提供了详细的解释信息,便于大家了解其中相关的技术细节。如下图:
其中,关键步骤包括了基于日志文件的数据结构,创建Hive的表及分区,如下图,解决方案中列出了具体创建过程的语句:
解决方案提供了一些常见的分析,并提供了样例程序,可以基于这些代码进行修改,满足自己的需要。
执行结果可以通过Excel来展现,并可以利用大家熟悉的工具,例如PivotChart,来做进一步分析。
此外,还可以通过查询控制台,查看任务的输出及执行的Log。