Azure 监控
Azure 监控帮助你加强云上资源的可用性和应用服务的性能,Azure监控提供一整套解决方案,来收集、分析数据,作为云上和本地环境的遥测工具。监控可以帮助你了解你的应用程序如何运作,积极主动底找到问题点,保障应用的正常运行。
Azure 监控能够完成以下几点:
- 检测和诊断应用的问题,用application insight(看看是啥
- 基础设施相关的问题,用VM insight和container insight
- 使用Log Analytics来监控数据,从而进行故障分析
- 支持大规模的运维,能够进行只能 价和自动响应
- 能够使用Dashboard、workbook实现可视化
- 使用Azure 监控指标收集指标数据
Azure 监控总览

上图描述了Azure 监控的整体概要。图片最中间是监控存储的所有数据,包括指标和日志数据。左边是被监控的资源,生成这些监控数据,右边是各种各样的功能用于处理这些数据,包括分析、告警、导出到第三方系统。
监控数据平台
监控所有的收集起来的数据分两类,一个指标数据,一个日志数据。指标数据描述系统使用程度,指标数据量级轻,可以做到实时数据。日志数据包括各种属性,事件和跟踪数据一般都存在日志里面。
日志数据可以进行查询,可以使用LA进行查询,也可以使用各种工具进行分析、可视化、告警。
Azure monitor使用Kusto 查询语句,专门用于简单查询,但是也包括一些高级功能,比如聚合、添加、只能分析等功能。
如果已经习惯使用SQL Splunk,也会有专门的使用指导
Azure监控收集什么样的数据/h2>
可以搜集应用程序、操作系统、服务、平台本身
- 应用程序监控数据:应用程序代码的性能和工具,无论是什么平台的
- OS 系统:应用程序所运行的操作系统,可以是跑在Azure上,其他云,或者本地
- Azure 资源监控数据
- 订阅数据监控
- 租户数据:AAD
只要你在Azure上开始创建资源,比如创建虚拟机,web app,Azure监控就会开始收集数据,活动日志就会创建,记录你创建了哪些资源,变更了什么。指标会告诉你,你的资源使用率,比如vm CPU的使用率等等。
启用诊断日志可以增加收集的数据种类。
使用Application Insight可以监控应用程序的运行,可以收集页面浏览信息,app请求和exceptions。
自定义源
Azure 监控可以从REST 客户端收集日志,使用data collector API,这允许你可以创建自定义的监控场景,可以监控更多的资源。
可视化
监控数据只有可视化以后才有价值
Application Insight
监控应用程序可用性、性能、web app的使用,无论是允许在云上还是本地。使用强大的应用程序来分析数据,提供深度的应用程序监控,可以及时监控数据的问题,而不是等用户 错之后才发现。Application insight 包括各种开发工具的链接,以及和VS 的集成,也支持DevOps
Container insight
监控容器的性能,容器跑到AKS 集群上,收集控制器、节点、容器的性能指标
VM insight
VM 监控你的虚拟机,windows 或者Linux,还可以监控本地和其他云供应商的虚拟机。
威胁情况的响应
可以发送短信、邮件给管理员进行告警和调查
告警
告警规则可以基于实时的指标数据,也可以基于日志数据进行分析后进行告警。
自动扩展
允许应用程序底层的资源可以自动扩充,可以自动添加资源,缩减资源。
可视化
导入和导出数据
如果你想将Azure Monitor和其他系统进行集成,建立一套自定义的监控方案,那么Azure监控支持数据的导入和导出
可以用以下工具实现:
Event Hub
event hub是流数据平台、事件分析平台,可以将数据进行实时转存,可以使用event hub将Azure 监控数据导出到其他SIEM 平台
Logic app
Logic app可以自动进行作业,可以和不同的系统和服务进行集成
API
提供很多API接口来读写日志和指标数据,也可以访问 警信息
Azure 监控最佳实践
这里提供Azure 监控的最佳实践,针对云 和混合资源。
本章节的目的是为了收集足够的数据来分析资源的使用和健康状态,这里将充分利用Azure 监控的功能,来监控云、混合应用、混合资源的使用情况。
监控场景
- 规划:了解企业监控的要求
- 配置收集数据:需要收集的监控数据
- 分析和可视化:标准功能和可视化来呈现收集的数据
- 告警和自动详细:配置通知和配置自动响应
1. 规划
本章节描述Azure 监控最佳实践的规划阶段所需要考量的点。
- 要知道Azure 监控的费用
受限要将成本最小化,有些数据收集是免费的,有些要额外收费
监控的收费模式:数据收集和数据分析,数据流入、数据保留、数据导出。
日志数据流入:
Log Analytics和Application insight 根据数据流入的量收费,这些流入的数据可以进行强大的查询分析,两个收费模式,按需付费、按量级付费。
基本日志:
基本日志指保留8天,查询基本日志也要额外收费的。
日志留存
留存的头31天免费,之后按每GB每月收费
日志归档:
LA的日志数据可以进行归档处理
日志数据导出:
日志数据导出提供持续的流日志导出,从LA workspace导出到存储账户和event hub,按导出流量收费
Web test URL ping test 来测试你的应用是否可用,比按次数收费
指标:
基本的标准指标是免费的
自定义指标按流量收费
指标API查询按调用次数收费
定义策略
策略定义了特殊战略,确保规划的监控策略是符合公司的监控战略的。
收集足够的信息,比如如下信息:
- 什么样的系统需要被监控需要监控所有的云上资源,只需要针对关键的应用程序和所依赖的组件。这样不仅可以减少监控成本,还可以减少监控的难度。
- 谁可以访问监控、谁应该被通知告警
监控的数据谁可以访问,告警要发给谁,可以写一个自定义的workbook来去欸的那个将什么样的信息发送给谁。 - SLA
企业如果有SLA需求,需要了解监控的延迟,监控的延迟会影响响应速度,这样影响SLA的保障
确定监控的服务和产品
监控是用来解决监控和状态问题的
安全监控:
Microsoft defender for cloud: 收集Azure资源和混合服务器的信息,包括安全事件、清单数据、评估扫描结果,策略审计,漏洞扫描、建议变更更操作,包括 络交互图,及时VM访问,动态 络加固
Microsoft defender for servers:将windows 安全事件发送给LA,进行集中分析
Sentinel:是一套安全信息事件管理平台,安全协调自动响应方案, SIEM SOAR。Sentinel收集各种各样的安全信息,包括第三方的信息源,从而提供告警、可视化、自动化。不像microsoft defender for cloud,安全事件是Sentinal主要分析的数据。
Defender for endpoint:终结点安全平台,旨在帮助企业保护 络安全、检测、监测就、响应威胁。可以检测工作站、服务器
tablet cellphone的各种操作系统的安全问题和漏洞。
Azure 监控最佳实践 – 配置数据收集
创建Log analytics workspace
要使用Azure 监控,必要启用Log analytics workspace,收集数据。
AAD 的日志和活动日志和平台指标不需要配置LA 空间就可以用,微软托管了这部分。
LA 收集日志是收费的,所以只收集有用的数据。
诊断配置需要每个资源都进行配置,也可以使用Azure policy自动创建诊断配置。每个资源类型都要传教一系列诊断配置的数据类型,所以,每类资源都要有条单独的策略去管理。
启用insight
insight是专门用来检测服务的,他们使用已经收集到的数据,比如平台的指标和资源日志,但是提供自定义的workbook来帮助发现关键的数据,大多数insight都不需要单独配置,insight是免费的
监控虚拟机
在来宾操作系统安装agent 收集数据。
监控容器
容器的监控和虚拟机监控一样,但是需要agen也要容器化的版本。
监控应用程序
Azure 监控你自己的应用程序,配置监控的方法要基于你想监控的应用种类,application insight会将收集来的数据放在Azure监控 指标、日志
blob存储里面。
创建application resource
Application insight 是Azure 监控的一个功能,用来监控云原生的应用以及混合应用。
你必须创建一个application insight来监控一个应用程序。
监控应用的方法
- codeless:最简单的,不需要改代码
- code-base:可以自定义,可以收集更多的遥测数据,需要改代码
数据分析和可视化
Overview Page
大多数Azure 服务都有一个Overview 页面,其中包括监控section,可以提供一些关键的指标数据,提供一个资源的概览
Metrics explorer
允许用户可以积极地处理指标数据、创建指标告警,大多数的用户可以使用指标浏览器。Azure 平台的指标数据是平台自动收集的,但是来宾指标数据需要安装agent来收集
Log Analytics
LA 可以查询日志,收集日志,需要用户学习传语句,虽然有一些预配置的查询语句。
Workbook
workbook是Azure 提供的可视化平台,用户进行数据分析,提供丰富的可视化 表。Workbook 可以跨平台收集数据,并且在统一的界面呈现出来,提供端到端的监控视角,针对混合云和跨云的平台。
Insight 使用已经配置好的workbook来呈现关键的性能问题。
Azure Dashboard
提供一个单一的Azure infra和服务的面板。当然workbook可以提供更风度的功能,dashboard 可以提供将Azure内部服务的资源
PowerBI
创建丰富的dashboad和 告
Grafana
公开的平台,可以检测、隔离、利用这些运维的时间、可以将Azure和非Azure的数据源,包括本地数据源,第三方的工具,数据存储。Grafana,也有AWS 和GCP bigqeury 插件。
Azure monitor partner
自定义软件
REST API 调用
告警和自动伸缩
告警规则类型
必须要配置告警规则,Azure默认原生是不会配置告警的,都需要自己去配置。
告警规则有很多种,每种都有不同的价格。
- 活动日志规则:基于活动日志创建告警,免费,比如myProductionResourceGroup 这个资源组创建了新的虚拟机,这时候需要被告警,比如说,如果订阅赋予了新的角色来管理,那也可以告警。
- 指标告警规则:比如CPU 超过90%要告警,告警会自动关闭,如果指标低于阈值,这个告警也是免费的。
- 日志告警:创建规则,这个告警最贵,也最复杂
- Application告警:监控应用的性能和可用性,ping teat 是免费的。
告警严重等级: 每个告警都有严重等级
Critical Error Warning Informational Verbose
Action group
告警和Action
通知
email SMS push to Azure App Voice
自动修复
Automation runbook,自定义或者内置runbook,自动进行重启或者scaling up 虚拟机
Azure function,启动Azure Function
ITSM 和on-call 管理
持续监控
持续监控就是在DevOps IT 运维的周期都进行监控,持续监控确保应用程序和infra在开发到生产环境都持续确保监控、性能、可靠。持续监控是基于CICD的概念,确保软件快速开发交付。
Azure Monitor 是一个持续监控完整的解决方案,提供全站的监控,从应用程序到基础设施,从云上到本地。可以无缝地和VS VS code集成,在开发测试环境集成devops。还可以跨平台集成现有的ITSM SIEM工具。
监控所有的应用程序
为了对整个环境有监控,必须监控所有的应用程序和服务。
监控整个infra
Infra as code,
持续部署的质量门
- 使用Azure pipeline来自动化提交流程
- 使用质量门和监控集成,监控预部署和部署后的质量
创建可执行的预警
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!