所谓的DevOps无非是在运维中引入原生的应用日志,若能实时获取更可以在应用出错时或出错之前就获取一些报错信息。由于开发人员是对日志格式最了解的人,通过日志可以立即定位出错的组件并检查代码,及时恢复或预防应用故障。这是Dev人员走向DevOps的途径,而如果监控系统在抓取日志的时候可以给出建议的操作,那DevOps对于运维人员也不会太复杂。
Azure的监控服务可以一站式获取所需的最新精细监控数据,包括性能指标数据,日志数据等多种类型。一般通用服务可以跟踪并提供问题报告、计划内维护窗口以及运行状态通告。
在上图中我们不仅看到了事件发生的事件和描述,还有建议的处理方案,右边还可以下载具体事件报告,国内版还有公众号支持直接联系官方(当然是世纪互联啦)支持人员。小编也是多年的资深运维人员,必须说,这个界面是我所见过的最友好的运维面板。告诉你问题,提供你解决办法,还有后续跟进,简直是把运维人员当成傻子。
我们来看下Azure监控的全景图,包括了核心监控、深度应用监控、深度基础架构监控以及与其他Azure服务共享的组件。
下面我们挑几个重要组件来展开介绍一下,深度应用监控(Deep Application Monitoring)中只有一个组件。App Insights是可以在多个平台上面向Web开发人员的可扩展应用程序性能管理服务。通过它可以监视实时Web应用程序。
从上图中可以看到在web应用的前中后端都有App Insights的代理客户端,也就可以垂直监测到一个web应用各个组件的性能异常,不光如此,App Insights的服务端还包含了强大的分析来帮助诊断问题,了解用户在应用中实际执行了哪些操作,以帮助提高性能和可用性。它适用于本地或云托管平台(包括.NET、Node.js和J2EE)中的应用。
App Insights的输出也可以有多种形式,除了直接作为报警提醒运维人员外,更可以与DevOps流程集成,作为与各种开发工具交互的连接点,并提供实时运维数据支持,例如下面的Power BI。
再介绍一个深度基础架构监控(Deep Infrastructure Monitoring)中的核心组件:日志分析器(Log Analytics),它原来是OperationManagement Suite中的一个服务,后来随着微软的云战略,整个Suite都转到Azure监控平台了。
日志分析器主要用来收集和分析云和本地环境中资源生成的数据。此外,它利用集成的搜索和自定义仪表板,分析所有工作负载和服务器上的数百万条记录,并可以无视各类服务器的物理位置而获得实时分析结果。
与App Insights类似,日志分析器也可以支持多种输出方式,不同的是日志分析器需要额外的半结构化数据库来存放日志,并且有自己的仪表盘(Dashboard)可自定义将最有价值的搜索结果以各种图表形式展现到仪表盘上。当然各个出口应用也可以定义各自要收集的记录类型,并使用日志搜索或仪表盘中的解决方案提供的其他用户界面进行分析。例如:跟踪变更的解决方案。
这么多的数据源,这么多的接口应用,实时的非实时的。在云端总需要一个计划程序来统一管理这些输入输出的流程顺序。自动化是一个办法。借助Azure自动化,用户可以自动完成通常要在云环境和企业环境中手动执行、长时间运行、易出错且重复度高的任务。它可以节省时间,提高常规管理任务的可靠性,甚至可以将这些任务安排成按特定时间间隔自动执行。Azure的Runbook可以很方便的实现这些过程的自动化。Runbook基于WindowsPowershell工作流,因此它能够执行Powershell可以完成的任何工作。
另一个可以调度作业的工具是Azure的计划程序,它允许用户以声明方式描述需要在云端运行的操作。然后自动按计划运行这些操作。计划程序使用Azure门户、代码、Rest API调用或Azure Powershell执行此操作来创建、维护并调用计划的工作。计划程序不托管任何工作负荷或运行任何代码,仅调用别处(例如Azure或本地)托管的代码或与其他提供程序一起托管。它提供了HTTP(S)、存储队列、服务总线队列或服务总线主题进行调用。
Azure计划程序允许用户以编程方式使用脚本以及在门户中创建、更新、删除、查看并管理作业和作业合集
Azure上的敏捷开发上使用的是Visual Studio Team Service(VSTS),相当于是一个VS的web版本。开发人员可以很方便的将本地VS的代码推送到Azure上,VSTS可以集成各种CI/CD工具,当然也可以使用原生的VSTS管道,经过几轮迭代后,满足上线要求的部署到Azure应用中。
VSTS的生态圈几乎涵盖了当下所有主流的CI/CD组件,从计划与跟踪到测试与发布,只要开放了API,完全不用担心集成性的问题。
在VSTS中可以专门建立DevOps的项目,仅需几步就可从Azure门户在所选的Azure服务上启动应用开发流程。DevOps项目提供开发、 部署和监视应用程序所需的一切设置。通过DevOps项目仪表盘,从Azure门户的单一视图即可监视代码提交、生成和部署。
通过Azure的DevOps项目,可以
- 快速上手及应用Azure服务:DevOps的项目只需要三步,选择应用程序语言、运行时和Azure服务(包括.NET、Java、PHP、Node.js、Python、Go和其他服务)即可
- 与客户现有平台集成:可在任意一台Windows或Linux上运行客户的应用程序。仅需部署到Azure Web应用、虚拟机、Service Fabric或为应用程序选择Azure Kubernetes服务。
- 集成云驱动的CI/CD:通过VSTS自动化和简化应用程序部署。通过自动生成、完全集成的CI/CD,让应用在每次源代码更改时得到更新。创建和跟踪未执行的工作,管理代码库,提升团队协作。
核心监控模块中的Azure顾问服务可帮助用户遵循最佳做法来优化Azure部署,分析资源配置和遥测使用情况并推荐解决方案,有助于提高Azure资源的经济效益、性能、高可用性和安全性。并且这项功能已在Azure China开始预览。
当公司使用了不止一家云厂商的服务时,Cloudyn(微软子公司)许可的Azure成本管理可以跟踪Azure资源和其他云提供商(包括AWS和谷歌)的云使用量和开支。便于理解的仪表盘报告也有助于成本分配和Showback/Chargeback。成本管理通过确定可供事后管理和调整未充分利用的资源,帮助优化云支出。
这家公司提供了报表和仪表盘的多语言支持并能协助落地部署。
- 混合云集成方案Azure Arc - 2020年3月28日
- 【全网首播:Azure大全】11. 开发人员工具与Azure Stack - 2020年2月22日
- 【全网首播:Azure大全】10. 安全性与标识 - 2020年2月22日
还没有评论