使用Azure HDInsight大数据技术来进行Azure WebSites网站及其他日志文件分析(Log Analysis)

原文地址:http://blogs.technet.com/b/nevin_dongs_blog/archive/2015/03/07/azure-hdinsight-azure-websites-log-analysis.aspx 在使用大数据(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。


Azure 中的多个 VM NIC 和网络虚拟设备

原文地址:http://azure.microsoft.com/blog/2014/10/30/multiple-vm-nics-and-network-virtual-appliances-in-azure/ 在2014年欧洲 TechEd 大会上,我们宣布了在 Azure VM 中为多个网络接口(NIC)提供支持,并与多家重要厂商合作,在 Azure 中引入了网络虚拟设备,其中最引人注目的是 Citrix Netscaler 和 Riverbed 设备。很多网络虚拟设备都要求使用多个 NIC 。现在您可以在 Azure VM 中创建多个 NIC。借助多个 NIC,您可以更好地管理网络流量。您也可以将前端 NIC 和后端 NIC 之间的流量隔离开来,或者将数据层通信与管理层通信分开。以下是含有 3 个 NIC 的 VM 示例: 如何创建含有多个 NIC 的 VM 以下说明将帮助您创建一个含有3个NIC的VM:默认NIC和两个额外的NIC。配置步骤中使用包含 3 个子网的虚拟网络:Frontend(10.1.0.0/24)、Midtier (10.1.1.0/24) 和 Backend(10.1.2.0/24),虚拟网络名称为 “ThreeTier-VNet”,如下所示:   以下配置cmdlet使用最新的Azure PowerShell版本。请按此处的说明下载和配置 Azure PowerShell。 1. 从 Azure VM 影像库中选择一个 VM 映像 :…


Microsoft Migration Accelerator简介

原文地址:http://azure.microsoft.com/blog/2014/09/04/introducing-microsoft-migration-accelerator/ 我怀着无比激动的心情宣布 Azure Migration Accelerator (MA) 限量预览版上线。MA由InMage 收购技术衍生而来,旨在将物理、VMware、Amazon Web Services 和Microsoft Hyper-V工作负载无缝迁移至Azure。它会自动执行迁移操作的各个方面,包括发现源工作负载、远程代理安装、网络适应性和端点配置。有了MA,能够降低迁移项目的成本和风险。 MA 通过提供以下优势改变了云迁移范式: 异构性:您可以通过 MA 迁移各种平台(如VMware、Microsoft Hyper-V、Amazon Web Services和/或环境中的物理服务器)上运行的工作负载。MA 可支持Windows Server 2008 R2 sp1、Windows Server 2012 和 Windows Server 2012 R2操作系统上运行的工作负载。 简单的自动化迁移:MA门户允许您从云中远程自动发现企业工作负载。只需单击几次,即可配置端到端迁移场景。MA允许您在云中测试工作负载,并且不会影响现有的本地生产工作负载,从而在执行直接转换之前验证工作负载功能性。 迁移多层应用程序:让MA引以为豪的是,它不仅可以迁移多层生产系统,还能在各层实现应用程序级一致性。这样可确保多层应用程序在Azure中的运行模式与在来源中的运行模式完全相同。甚至可以遵循应用程序启动顺序,并且无需任何手动配置。 持续复制,最低直接转换时间:MA for Azure提供了全系统复制,包括操作系统和应用程序数据。这种持续复制和内存更改跟踪功能可将直接转换时间缩短至短短几分钟,最大限度地降低了对生产工作负载的影响。 MA 的工作原理 MA 运用多个组件安排迁移项目,如下图所示: 移动性服务:这是源服务器(本地物理或虚拟服务器)上的轻型(基于来宾机)集中部署代理。负责实时捕获数据,并将所选的源服务器卷同步到目标服务器。 流程服务器 (PS):本地物理或虚拟服务器。促进简化移动性服务与Azure内部的目标虚拟机之间的通信。提供缓存、队列、压缩、加密和带宽管理。 主要目标(MT):复制本地服务器磁盘的目标。安装于Azure订阅的专用Azure VM中。磁盘与 MT 相连以维护重复的副本。 配置服务器 (CS):管理主要目标与 MA 门户之间的通信。安装于Azure订阅的专用Azure VM中。在CS 与MA门户之间进行定期同步。 MA…


从 Web Server 向 Azure WebSites 迁移的利器(Migration Assistant)

原文地址:http://blogs.technet.com/b/nevin_dongs_blog/archive/2014/12/25/web-server-azure-websites-migration-assistant.aspx 将Web应用迁移到云端,常见的做法是采用IaaS模式,即创建虚拟机(Virtual Machine,VM)并在上面分别部署Web Server、Database Server、Cache Server、DNS Server等;当访问负荷增大的时候,则增加虚拟机的数量来实现伸缩。 之前曾讨论过,可以将数据库服务器(Database Server)采用Platform as a Server(PaaS)模式来提供,也有相关的迁移工具来帮助从SQL Server迁移到Azure SQL Database。 Azure网站(WebSites)是一种完全托管的平台即服务 (PaaS) 产品,便于快速高效地构建、部署并扩展企业级 Web 应用。同时,可以支持按需自动缩放(Auto-scaling),灵活支持不同时间段的并发访问负荷,特别是尖峰负荷。此外,可以显著降低运维工作量,而不必过多关注底层虚拟机、操作系统、网络、负载均衡等细节。 对于Azure网站的更多细节,可以参考:http://www.windowsazure.cn/home/features/web-site/ 可以开发ASP.NET网站并部署到Azure网站,相关步骤可参考:http://www.windowsazure.cn/zh-cn/develop/net/tutorials/web-site-intro-tutorial/ 如果将现有Web应用迁移到Azure网站,可以使用一个开源的辅助工具:Azure Websites Migration Assistant,具体可参考:http://migrate4.azurewebsites.net/ 目前支持从IIS Server迁移到Azure WebSites,其中特别提供了技术兼容性等方面的分析,例如端口绑定(Port Binding)、IIS身份认证、GAC、缓冲池等。如下图,工具将给出分析报告。 目前,这个工具只支持从IIS server到Azure WebSites的迁移辅助,而Azure WebSites还支持Java、PHP、Node.js或Python,后续期待工具能够涵盖对这些技术的支持;当然,也可以考虑参考这个工具的思路,开发适合自己需要的迁移辅助工具。


对 Azure Backup 的常见配置问题进行故障排除

此文章有助于解决 Microsoft 云备份解决方案(即Azure Backup)的常见配置问题。客户通常会在安装或注册 Azure Backup 时遇到这些问题。以下是有关如何诊断和解决问题的建议。 Azure Backup安装失败,显示 " 为选择的安装文件夹指定的属性无效 " 。 尝试在拥有 “ System ” 、 “ Hidden ” 、 “ Compressed ” 或 “ Encrypted ” 属性的文件夹中安装Azure Backup Agent时,会显示 “ 为选择的安装文件夹指定的属性无效 ” 消息。 请删除安装文件夹上的 “ System ” 、 “ Hidden ” 、 “ Compressed ” 或 “ Encrypted ” 属性。下面是关于如何删除文件夹属性的分步指导。 1. 请参考知识库文章…


将数据迁移到 Microsoft Azure 文件

Atul Sikaria Microsoft Azure 存储项目经理   关于 Microsoft Azure Files Microsoft Azure Files是一项基于云的存储服务,在云中表现为基于SMB2.1协议的文件共享。现在,Azure中运行的应用程序可以使用熟悉的标准文件系统API(如ReadFile和WriteFile)轻松地在虚拟机间共享文件。此外,还能通过REST接口访问这些文件,这实现了大量混合场景。最后,Azure Files与Blob、Table和 Queue Services构建于相同的技术基础之上,这意味着Azure Files还能发挥内置于我们的平台的现有可用性、持久性、可扩展性和地域冗余性特征。该服务目前处于预览阶段。要阅读有关该服务的更多详细信息,请参阅我们的 Files 博客文章。   迁移数据 开始使用Azure Files时,可能需要将大量现有数据迁移到Azure Files服务。目前有很多方案可以将数据有效迁移至Azure Files,您的选择将取决于数据的原始位置。本文的剩余部分将会讨论这些选项,以及如何利用各个选项实现最佳性能。 1. 通过 Internet从本地迁移到Azure Files 要复制文件,您可以使用Microsoft Azure提供的AzCopy工具。AzCopy实施了大量优化,从而确保复制作业达到最高吞吐量(例如,并行上载、多线程、正确处理限制等)。 The format of the AzCopy command line is: AzCopy <source path> <destination URL> [optional filespec] /S /DestKey:<YourKey> 其中:source path是指要迁移到的目录的路径destination URL是指要复制到的目录的http URLfilespec用于为要迁移的文件指定任何文件筛选器(默认值为*.*)YourKey是指目标存储帐户的存储帐户密钥/S 是指用于复制源目录下的所有目录和子目录的可选交换机AzCopy包含许多其他命令行选项,您还应使用对您的环境有益的任何其他选项。有关详细信息,请参阅此AzCopy 博客文章。 以下是一个用于将 c:\data…


Microsoft Azure 存储服务版本删除公告

原文地址:http://azure.microsoft.com/blog/2014/08/04/microsoft-azure-storage-service-version-removal/ Jeff Irwin WinAzure Storage美国高级项目经理   存储服务于 2008 年首次推出,自此以后我们推出了7 个更新版本,每一版都会对协议进行精炼并添加新功能。我们宣布,即将删除一些早期版本的REST API。本文将会介绍确保应用程序在删除这些版本之后继续良好运行需要了解的所有注意事项。   背景:存储服务版本控制 什么是版本控制 Azure存储通过REST API进行访问。这些API于 2008 年首次问世。在不断增添和调整内容改进服务的同时,我们还通过版本控制来避免破坏现有的应用程序。每当做出的调整可能会破坏现有应用程序时,我们都会推出新版本,并要求应用程序更新。现有的应用程序不会受到新版本的影响。存储调用通常通过以下方式之一指定要使用的版本: 1)      api-version查询参数:只要未指定sv和 x-ms-version,或者即便指定但使用 2014 版或更高版本,即可为各项存储调用指定此参数。此api-version参数将指示使用的服务版本。 2)       x-ms-version request header:需要对通过共享的密钥身份验证进行的调用使用。x-ms-version header用于指定版本,以便通知该服务如何对请求做出解释,以及如何使用该版本的REST API对客户端做出响应。 3)     SAS version header:在 2012 版本和 2013 版本中,共享访问签名(SAS)令牌的“sv”参数中指定的版本将用于指定协议版本。在 2014 版本中,若未指定api-version查询参数,“sv” 参数将仅指定协议版本。 4)      DefaultServiceVersion:用户可使用Blob服务的SetServiceProperties进行设置,以便设置未指定版本的情况下将要对请求使用的 API 版本(也就是公共 Blob 请求)。 5)     默认设置:如果提出公共 Blob 请求,但尚未设置DefaultServiceVersion,将会使用服务默认设置。这是我们的初始2008版本,除非已经设置SetContainerACL,否则在这种情况下使用 2009 版本(无论对SetContainerACL使用哪个版本均是如此)。 您可以在MSDN上查找用于确定请求版本的完整规则。 客户端库和工具 我们的很多用户使用微软提供的存储客户端库开发其应用程序。其中每个客户端库基本上都绑定到特定版本的REST API。这项规则也适用于PowerShell cmdlets和AzCopy。存储模拟器支持发布对应版本的存储模拟器时发布的各种版本的REST…


只需三步,让您的项目登上云端

本地开发 1.功能分析  2.项目开发 迁移至Azure 1.环境搭建  2.项目发布 配置与维护 配置监控 云计算,Windows Azure听起来高大上,用起来也亲民. 只需三步就能让您的服务登上云端。 第一步,本地开发 1. 功能分析TOP 首先,针对于需求进行开发适合自己的应用,同时需要注意一些适合云端的思想,比如文件存储,session的处理等。例如:      1.如果你的应用中有上传文件和存储文件的需求,请注意,不要将文件存在临时磁盘,最好存储在storage 或者是附加新的数据盘。临时磁盘上的文件不是永久存在。      2.如果项目中用到session,建议您使用Azure Cache去存储session. 这和普通的load balance场景类似.       关于更多的注意点,请参考“玩转Windows Azure, 您可能不知道的秘密”其次,考虑到成本和项目的服务,您应该选择适合自己项目的一个托管服务。如今,China Azure提供了四种服务:云计算,虚拟机,网站服务和移动服务。具体如何选择,请参考:http://www.windowsazure.cn/zh-cn/develop/net/fundamentals/compute/   2. 项目开发TOP 可以从官方文档得知如何利用Azure的各种特性.       如果你想使用云服务或者移动服务,你需要安装SDK到您的开发工具中,请从这个页面参考SDK详情(http://azure.microsoft.com/zh-cn/downloads/  )。如果你想使用虚拟机或者网站服务,您只需要按照之前的开发模式进行开发即可。 第二步,迁移至Azure 1.环境搭建TOP 现在一些问题来了,我有SQL server或者是MySQL等数据库也需要放到azure上面,这个可以吗?回答是肯定可以的。SQL Azure是一个选择, 也可以创建虚拟机专门存放您的数据,具体详情:(http://www.windowsazure.cn/zh-cn/manage/windows/common-tasks/install-sql-server/  )。下面SQL server虚拟机的创建过程也是适用于其他类型server的创建。 1. 在 Windows Azure 管理门户上,依次单击网页左下角的“新建”、“虚拟机”和“从库中”。 2. 选择一个包含 SQL Server 的虚拟机映像,然后单击页面右下角的“下一步”箭头 3. 在“VM 配置”页面上,提供下列信息: o 提供虚拟机名称。 o 保留“新用户名”框为“Administrator”。 o 在“新密码”框中键入一个强密码。强密码…


玩转Windows Azure, 您可能不知道的秘密

将项目运行在本地, 相对将项目发布到云端, 必定存在一些区别. 那么我们需要注意哪些方面来防止一些不必要的问题出现呢? 1. 费用 http://www.windowsazure.cn/zh-cn/offers/ms-mc-azr-44p/ http://www.windowsazure.cn/pricing/overview/ 在使用Windows Azure 服务期间,您预留的联系人邮箱将每周收到剩余金额及有效期的提醒邮件。您也可以随时登陆计费网站查看剩余金额及有效期,建议您根据实际使用量进行评估,预留充足的余额。 2. 虚拟机中的数据存储 Azure上的虚拟机上有两种磁盘,一种是存储在Blob存储,是永久性稳定的存储空间,一种是存储在虚拟机所在物理机磁盘上,是临时存储空间。前一种由于使用了Blob存储,其数据会按照Blob的存储策略在本地存3份,并在异地保持一份镜像,其数据的可用性和可靠性都很高,虚拟机通过网络访问这些Blob存储,不依赖于特定一台物理机。后一种依赖于物理机,如果物理机故障或进行维护,这个存储可能会被清空。那么,如果我们使用虚拟机的时候不分清楚磁盘类型,就会导致数据丢失。于此,强烈建议不要将任何重要数据存在D盘。因为D盘是临时存储,虚拟机重启时D盘数据将被清除且不可恢复。如果你需要将数据存储到虚拟机上,建议您附加一个数据盘,将数据存在数据盘上。 详情请参考: http://msdn.microsoft.com/zh-cn/library/azure/dn790303.aspx http://blog.csdn.net/azurechina/article/details/38664673 Azure不同类型的虚拟机的磁盘类型如下: Windows虚拟机:C盘(系统盘)是Blob盘,D盘是临时盘 Linux磁盘:sda1(根目录)是Blob盘,sdb1(/mnt/resource)是临时盘 3. Load balance 环境 Azure网站、云服务和虚拟机都具有负载均衡的功能。对负载均衡我们需要注意的方面之一是它对Session的处理。传统的负载均衡器有具有Session sticky的机制,会根据用户的session信息将用户请求转发到固定的一台机器上,当应用程序在服务器端存储session信息,客户端与服务器交互就会顺畅,如果没有这个机制,就会发生用户session丢失和应用逻辑异常。然而在Azure中,云服务和虚拟机的负载均衡器是纯网络层面,其负载均衡机制是通过类似轮询将请求发送给后端的服务器,这就要求后台服务器是无状态的,也就是说, 期望的结果是无论将客户请求发给任何一台服务器,都可以得到正确的处理。如果现有的应用是有状态的,我们有两种解决方案: 将session信息在所有服务器间共享。具体实现方式包括:分布式缓存,session持久化(.NET和Java都支持用数据库存储session信息,而Azure还支持用Cache和Azure存储持久化.NET session信息(http://blogs.msdn.com/b/cie/archive/2013/05/17/session-state-management-in-windows-azure-web-roles.aspx )。 在虚拟机上自行配置负载均衡集群。微软的MSOpenTech团队提供了一个自动配置IIS ARR的方法,可参考该文档 ( Https://github.com/MSOpenTech/WindowsAzureToolkitForEclipseWithJava/tree/master/Utils/ARRConfigurationAgent)。 网站服务的负载均衡稍有不同,它的负载均衡是由IIS ARR实现,因此它原生支持session粘滞。其实现原理是,在每个响应里面添加ARRAffinity这个cookie,下次同一个用户的请求就会被识别,然后发送到上次的服务器上。可以理解为无论应用是否主动写入cookie或是存取session,IIS都会为每个用户保持服务器的绑定关系。您可以查阅以下文章获得详细内容 http://azure.microsoft.com/zh-cn/documentation/articles/web-sites-dotnet-session-state-caching/   4.请问SSD存储有什么突出优势? 微软发布了一个新的虚拟机系列,称为D-系列。它提供了更好的内存、CPU及更快的I/O。在云上运行像OLTP和NoSQL数据库这种I/O密集型工作负载时,客户经常会发现性能限制。与基于磁性介质的传统存储相比,SSD存储提供了更高的IOPS。新的D-系列虚拟机比A-系列虚拟机快60%.这个系列的虚拟机提供了高性能和高可扩展性。   5.公共IP和实例级别IP的区别? 1.公共IP(VIP) 这种IP是针对VM所在的云服务的公共IP。在Azure中,每个VM包含在云服务(Cloud Service)中,而Cloud Service存在load balance (负载均衡)。对于一个云服务中的虚拟机来说,当我们使用VIP去访问云服务时,负载均衡器会根据端口将我们导向不同的虚拟机 (如果我们想访问其中的虚拟机, 使用vip+port即可)。 您可以通过MSDN文档了解更多详情(http://msdn.microsoft.com/zh-cn/library/azure/dn690120.aspx )。 2.实例级IP 这种IP(http://msdn.microsoft.com/zh-cn/library/azure/dn690118.aspx)是直接指派给虚拟机,我们可以直接通过这种IP连接至VM,同时可以开启多个端口和使用动态端口。   6. 针对保留 IP…


Microsoft Azure Site Recovery:您的 Microsoft Azure DR 站点

原文地址:http://blogs.technet.com/b/systemcenter/archive/2014/07/01/microsoft-azure-site-recovery-your-dr-site-in-microsoft-azure.aspx 2014 北美TechEd大会期间的重大发现之一是Azure Site Recovery灾难恢复预览版。Azure Site Recovery (ASR)对于Hyper-V Recovery Manager (HVRM)而言是一个陌生的名称。HVRM最先在Azure公有云中使用,用于对本地私有云结构进行外部部署自动化控制。HVRM有很多追随者,因为它简化了复杂昂贵流程(DR站点管理和故障转移),但采用的客户却较少,因为该解决方案要求客户事先运行微软私有云来投资物理或合作伙伴托管的 DR 站点。 HVRM 要求在复制通道两端(即在主数据中心与DR数据中心)使用由System Center Virtual Machine Manager (SCVMM)托管的 Hyper-V服务器。该功能导致了两种场景:(1)组织可以提供本地私有云作为DR站点,或者也可以(2)与服务供应商合作在托管的私有云中运行Hyper-V副本。ASR保留了该功能,并添加了一项重要的新功能:(3)复制通道的DR一端可位于Microsoft Azure中。 客户对Azure新功能的一个最常见的要求是,无需投入资本开支即可为虚拟机的 DR 副本构建辅助站点。恢复虚拟机可位于Azure云中,且无需使用另一个客户或合作伙伴数据中心。图 1 是微软在 2014 TechEd大会期间演示AzureDR 场景所使用的幻灯片:   图 1 – Azure Site Recovery (ASR),DR 站点位于 Microsoft Azure ASR可按照相同的方式从同一个Azure门户界面来管理全部三种场景的业务流程--客户 DR 站点、合作伙伴 DR 站点、Azure DR站点。现在,您可以通过使用Azure托管受保护的私有云的 DR 端来减少数据中心开销。 从 HVRM 升级到 ASR 本文介绍的Azure订阅已配置为使用Azure 和HVRM备份保管库来管理私有云中两个虚拟机的复制和…