Azure 平台监控与事件管理全解析
在 Azure 平台上进行有效的监控和事件管理对于保障系统的稳定运行至关重要。本文将详细介绍如何在 Azure 中设置监控和处理事件,包括平台监控、组件监控、网络监控、安全监控以及事件管理等方面。
1. 平台监控基础
收集和聚合应用程序的信息是一项艰巨的任务,但拥有一个一站式的监控解决方案至关重要。Azure 提供了多种工具,如 Azure Monitor、Log Analytics、Network Watcher、Security Center 等,这些工具共同构成了 Microsoft Operations Management Suite (OMS)。
1.1 设置 OMS 工作区
首先需要设置和配置 OMS 工作区。虽然 Azure 门户中没有直接的 OMS 项目,但可以通过导航到“All Services > Log Analytics”来创建新的 Log Analytics 工作区。以下是使用 PowerShell 脚本创建工作区的示例:
param (
[string]$ResourceGroupName,
[string]$WorkspaceName,
[string]$Location = "eastus"
)
# Check that the resource group is valid
Get-AzureRmResourceGroup -Name $ResourceGroupName | Out-Null
# Create a new Log Analytics workspace if needed
Write-Output "Creating new workspace named $WorkspaceName in region $Location..."
# Create the new workspace for the given name, region, and resource group
$Workspace = New-AzureRmOperationalInsightsWorkspace -Location $Location -Name $WorkspaceName -Sku Free -ResourceGroupName $ResourceGroupName
将上述脚本保存为 Create-LogAnalyticsWorkspace.ps1 ,然后运行以下命令来创建所需的工作区:
./Create-LogAnalyticsWorkspace.ps1 -ResourceGroupName "gc-operations" -WorkspaceName "gamecorp-int"
./Create-LogAnalyticsWorkspace.ps1 -ResourceGroupName "gc-operations" -WorkspaceName "gamecorp-uat"
./Create-LogAnalyticsWorkspace.ps1 -ResourceGroupName "gc-operations" -WorkspaceName "gamecorp-staging"
./Create-LogAnalyticsWorkspace.ps1 -ResourceGroupName "gc-operations" -WorkspaceName "gamecorp-prod"
2. 组件监控
Azure 基础设施和平台服务可以通过多种方式进行监控。可以直接从资源本身设置监控,也可以配置 OMS 来进行监控、跟踪和通知。
2.1 OMS 解决方案库
OMS 解决方案库提供了四个专门构建的解决方案以及许多不同的单独产品:
| 解决方案 | 说明 |
| ---- | ---- |
| Insight & Analytics | 捆绑了 Network Performance Monitor 和 Service Map。Network Performance Monitor 需要配置以捕获适用虚拟网络上的流量,Service Map 需要在要映射的资源上安装额外的代理。 |
| Automation & Control | 包含 Change Tracking 和 Update Management。Change Tracking 用于监控资源的变化,Update Management 用于监控补丁合规性并安排补丁更新。 |
| Security & Compliance | 捆绑了 Security and Audit 模块和 Antimalware Assessment 模块,与 Azure Security Center 协同工作以识别威胁和安全漏洞。 |
| Protection & Recovery | 提供 Backup 和 Azure Site Recovery 组件,用于业务连续性和灾难恢复。 |
2.2 不同组件的监控设置
- 应用程序网关 :在 OMS 中找到并启用 Azure Application Gateway Analytics 模块,以查看访问日志、失败请求、每小时请求数、主机健康状况等信息。
- 应用服务 :对于大多数应用服务(如 Web 应用、函数应用),可以直接将 Application Insights 集成到服务中,并将其与 OMS 工作区集成以捕获所有数据。
- Kubernetes :要为 Azure Container Service with Kubernetes (AKS) 设置 OMS 集成,需要部署一个守护程序集到集群,并使用工作区 ID 和密钥向特定的 OMS 实例报告。在启用解决方案库中的 Container Monitoring Solution 模块之前完成此操作。
- 虚拟机 :为了捕获虚拟机的信息,需要在每台机器上安装 OMS 代理。可以从 OMS 工作区管理区域下载 Microsoft Monitoring Agent 并在每台机器上启用它。
3. 网络监控
在 Azure 中有两个不同的区域可以获取网络健康信息:
- Network Performance Monitor :在 OMS 中找到,需要配置特定的监控项。
- Network Watcher :Azure 门户中的一个组件,启用后可以提供丰富的网络连接信息和故障排除功能。
以下是启用 Network Watcher 的步骤:
1. 从“Overview”菜单项打开与每个 Azure 订阅关联的区域列表。
2. 在每个订阅中启用 East US、East US 2 和 Central US 以开启 Network Watcher。这将为每个启用的区域创建特定的部署,并关联到门户中的中央“NetworkWatcherRG”资源组。
3. 对于门户团队的虚拟机,按照 相关文档 启用 VM 扩展。
4. 安全监控
Azure Security Center 可以提供有关活动攻击向量、潜在恶意流量和网络边界突破尝试的洞察,并提供保障网络、虚拟机、存储账户等安全的最佳实践。
以下是安全监控的步骤:
1. 查看“Overview”仪表板,识别可能的即时风险。例如,注意到 Kubernetes 集群关联的 Linux 节点上的磁盘加密问题。
2. 查看“Networking”菜单项,检查虚拟网络和相关网络接口卡的布局,确保所有集群都关联了网络安全组 (NSGs)。
3. 在“Security Solutions”窗格中,将每个跑道环境创建的应用程序网关添加到 Security Center。
graph LR
A[开始] --> B[查看 Overview 仪表板]
B --> C{是否有即时风险?}
C -- 是 --> D[记录风险并处理]
C -- 否 --> E[查看 Networking 菜单项]
E --> F{所有集群都有 NSGs 吗?}
F -- 否 --> G[记录 NSG 问题并处理]
F -- 是 --> H[查看 Security Solutions 窗格]
H --> I[添加应用程序网关到 Security Center]
D --> J[结束]
G --> J
I --> J
通过以上步骤,可以在 Azure 平台上建立全面的监控和安全体系,确保系统的稳定运行。在后续部分,我们将继续介绍事件管理以及如何设置活动日志警报和通知。
Azure 平台监控与事件管理全解析
5. 事件管理
事件管理是应用程序生命周期中的关键部分,涉及平台或应用程序级错误的接收、分类和解决。以下是事件管理的关键要点:
- 定义期望 :明确负责处理事件的团队的期望,包括事件接收方法、分类和优先级方法以及事件解决的定义。
- 通知树 :确保可靠的同事能够及时处理事件,设置升级路径和决策树。
- 警报设置选项 :有多种设置、监控、聚合和发送警报通知的选项,包括商业解决方案和 Azure 平台提供的功能。
| 选项 | 说明 |
|---|---|
| Azure Alerts | 允许管理员创建简单或复杂的警报条件,并分配一个或多个处理程序(操作组)。可以包括电子邮件/SMS 通知、Logic App 触发器、Function app 触发器等。 |
| Azure Log Analytics | 任何在 Log Analytics 中执行的查询或日志搜索都可以用于驱动警报。 |
| Azure EventGrid | 可以捕获资源或订阅事件,并以类似“向导”的方式进行操作。但需要注意,每次事件发布时目标资源都会被触发,可能会产生费用。 |
| Application Insights | 可以基于特定资源的实时数据设置警报规则。 |
| ITSM Connector | 允许在 OMS 门户中监控问题,并直接在特定的 ITSM 事件数据库中创建工单。目前仅支持四个提供商:ServiceNow、System Center Service Manager、Provance 和 Cherwell。 |
6. 活动日志警报和通知
为了让运营团队及时了解潜在的异常和中断,可以将 Azure 中的原生活动日志警报与 ServiceNow 集成。以下是具体的操作步骤:
6.1 创建 Logic App
- 在 Visual Studio 中创建一个新的 Azure Resource Group 项目,并选择 Logic App 作为组件类型。如果需要使用设计器而不是代码视图,需要安装 Logic App Tools for Visual Studio。
- 选择 HTTP 请求触发器类型,并输入有效的 JSON 架构。可以通过以下步骤生成架构:
- 点击“Use sample payload to generate schema”。
- 在 Azure 门户中选择任何资源,点击“Activity Log”,选择一个事件,点击“JSON”选项卡,复制所有 JSON 内容并粘贴到对话框中,然后点击“Done”。
- 添加一个新项到工作流,搜索“servicenow”,选择“ServiceNow - Create Record”。
- 使用 Gamecorp 的暂存实例创建与 ServiceNow 的连接,输入连接名称、URL、用户名和密码,然后点击“Create”。
- 搜索记录类型,选择“Incident”。
- 填写表单,设置关键字段,如 Impact 和 Urgency 为 2,以将事件设置为 Sev2 级别。
- 确保捕获活动日志事件的关联 ID,并使用“Azure”作为位置,“Cloud Management”作为类别,“Outage”作为子类别。
- 包括资源提供程序的名称和返回的状态,将事件分配给“Service Desk”团队,并提供当时正在执行的操作信息。
- 保存 Logic App 后,复制触发步骤中生成的 URL。
6.2 设置活动日志警报
- 使用 OMS 作为警报数据的来源,首先转到“Log Search”,点击“New Alert Rule”。
- 点击“Select target”,选择之前设置的 log analytics (OMS) 工作区。
- 点击“Add criteria”,选择 Custom log search,输入以下查询:
Perf
| project Computer, TimeGenerated, CounterName, CounterValue, CounterPath
| join (
AzureActivity
| project Computer=tostring(split(ResourceId,'/',8)[0]),
ResourceGroup=tostring(split(ResourceId,'/',4)[0])
) on Computer
| where TimeGenerated > ago(10m)
| where Computer startswith "aks"
| where CounterName == @"% Processor Time"
| summarize avg(CounterValue) by Computer, bin(TimeGenerated, 10m),
ResourceGroup
| where avg_CounterValue >= 0.75
- 在“Threshold”文本框中输入 0,确保任何处理器时间值高于 75% 的机器都会触发警报。将“Period”和“Frequency”都设置为 5 分钟。
- 填写警报的基本信息,包括友好名称、描述和严重性。
- 设置一个或多个操作组,选择 Webhook 操作,输入之前复制的 Logic App URL。
graph LR
A[开始] --> B[创建 Logic App]
B --> C[设置 HTTP 请求触发器和 JSON 架构]
C --> D[添加 ServiceNow - Create Record 操作]
D --> E[创建与 ServiceNow 的连接]
E --> F[选择记录类型为 Incident]
F --> G[填写表单设置关键字段]
G --> H[保存 Logic App 并复制 URL]
H --> I[设置活动日志警报]
I --> J[选择 OMS 工作区作为目标]
J --> K[添加自定义日志搜索标准]
K --> L[设置阈值、周期和频率]
L --> M[填写警报基本信息]
M --> N[设置操作组和 Webhook URL]
N --> O[结束]
通过以上步骤,可以在 Azure 平台上建立全面的监控、安全和事件管理体系,确保系统的稳定运行和及时响应。无论是网络监控、组件监控还是事件管理,每个环节都相互关联,共同保障着 Azure 平台的可靠性和安全性。
超级会员免费看
1222

被折叠的 条评论
为什么被折叠?



