设计和创建监视系统的建议
适用于此 Power Platform Well-Architected 卓越运营清单建议:
OE:06 | 设计和实施监视系统,来验证设计选择和告知未来的设计和业务决策。 此系统捕获并公开从工作负荷发出的操作遥测、指标和日志。 |
---|
本指南介绍设计和创建监视系统的建议。 要有效地监视工作负荷的安全性、性能和可靠性,您需要一个具有自己堆栈的综合系统,为所有监视、检测和警报功能提供基础。
定义
术语 | 定义 |
---|---|
日志 | 记录的系统事件。 日志可以包含结构化或自由格式文本格式的不同类型的数据。 它们包含时间戳。 |
指标 | 定期收集的数值。 指标描述系统在特定时间的某些方面。 |
关键设计策略
要为您的工作负荷实现全面的监视系统设计,请遵循以下核心原则:
在可行的情况下,利用平台提供的监视工具,这些工具通常几乎不需要配置,并且可以深入了解您的工作负载,否则可能难以获得。
从整个工作负荷堆栈收集日志和指标。 所有低代码和代码优先的组件和资源都应配置为生成标准化、有意义的数据,并且需要收集这些数据。
将收集的数据存储在标准化的可靠且安全的存储解决方案中。
处理存储的数据,以可以通过分析和可视化解决方案对数据进行处理。
分析处理的数据以准确地确定工作负荷的状态。
在工作负荷团队和其他利益干系人的有意义的仪表板或报表中可视化工作负荷的状态。
对智能定义的阈值配置可操作的警报和其他自动响应,以在出现问题时通知工作负荷团队。
在您的总体工作负荷测试实践中包括监视和警报系统。
确保监视和警报系统处于持续改进的范围内。 生产中的应用程序和配置行为提供持续的学习机会。 将这些课程纳入监视和警报设计中。
将收集和分析的监控数据与系统和用户流联系起来,以便将流的健康状况与数据以及工作负载的整体健康状况联系起来。 根据流分析数据有助于将可观察性策略与健康模型相结合。
最大限度地减少对任何可识别信息的存储,以确保您遵守法律及法规。 如果需要存储可识别的信息,请确保在设计解决方案时考虑允许个人请求删除其信息的要求。
切勿记录可能用于实施身份欺诈的用户密码或其他信息。 在存储数据之前,先从数据中清除这些详细信息。 法规要求可能规定需要存档和保存为审核和安全性而收集的信息。 这些数据还是敏感的,可能需要加密或以其他方式进行保护以防止篡改。
您应该尽可能地自动化监视系统的所有功能,它们应该全部连续运行,每天、全天。
此工作流管道演示了监视系统:
集合
应配置所有工作负荷组件,无论是低代码组件还是代码优先组件,还是平台设置(如环境和策略),以捕获遥测和事件(如日志和指标)。
日志主要用于检测和调查异常情况。 通常,日志由工作负载组件生成,然后发送到监控平台或由监控平台自动拉取。
指标主要用于构建运行状况模型以及确定工作负荷性能和可靠性的趋势。 指标对于确定用户使用行为的趋势也很有用。 这些趋势可以帮助指导从客户角度进行改进的决定。 通常,指标在监视平台中定义,监视平台和其他工具会轮询工作负荷来捕获指标。
工作负荷数据
使用开箱即用的与 Application Insights 的集成来收集数据。 启用 Application Insights 后,您可以清楚地了解实时和历史上的重要事件。
应用程序日志支持端到端应用程序生命周期。 记录对于了解应用程序在各种环境中的运行方式、发生哪些事件以及发生这些事件的条件至关重要。
我们建议您收集所有主要环境中的应用程序日志和事件。 如果可行,为每个环境使用不同的数据存储,尽可能在环境之间分离数据。 使用筛选器确保非关键环境不会使生产日志的解释复杂化。 最后,应用程序中相应的日志条目应该为它们各自的交易捕获相关 ID。
基础结构和配置数据
对于工作负荷中的基础结构资源,确保同时收集日志和指标。 由于 Power Platform 是一种平台即服务(PaaS)产品,因此您捕获底层基础设施相关日志的能力可能会受到限制。 不过,您可以捕获与工作负荷运行状况和事件相关的配置和策略更改的日志和分析。
尽可能多地从您的云平台收集日志。 您可能能够收集订阅的活动日志和管理平面的诊断日志。
性能注意事项
一个复杂且高度可扩展的应用程序可能会生成大量数据。 数据量可能会导致性能问题,具体取决于应用程序级别跟踪的详细程度。 遥测解决方案不能成为瓶颈,而且随着系统的扩展必须具有可扩展性。
分析
从各种来源收集数据后,对其进行分析以评估系统的整体运行状况。 对于此分析,应清楚了解:
- 如何根据关键绩效指标(KPI)和您定义的其他绩效指标构建数据。
- 如何将在不同指标和日志文件中捕获的数据关联起来。 当您跟踪一系列事件时,这种相关性非常重要,它可以帮助您诊断问题。
在大多数情况下,您的工作负荷会具有不同的组件,日志或事件会以不同的格式或表捕获。 您需要准确地组合数据,来了解工作负荷的总体运行状况。
例如,您的 Power Platform 解决方案可能包括以下组件:
- 允许用户与数据交互的画布应用程序
- 一个模型驱动应用程序,允许管理员配置应用程序的设置
- 执行数据操作的云端流
- 一个 Dataverse 实例,用于存储与操作相关的数据
- 从 Azure 表存储检索数据并从应用程序调用的 Azure 函数
单个业务操作的使用数据可能跨越工作负荷的所有组件。 此信息需要相互关联,以提供操作的资源和处理使用情况的总体视图。
有关数据分析的建议
关联应用程序级别和资源级别日志。 在两个级别评估数据,以优化问题检测和故障排除。
为冷分析定义明确的储存保留时间。 我们建议采用此做法来对特定期间进行历史分析。 它还可以帮助您控制存储成本。 实施流程来确保数据存档到更便宜的存储,并聚合数据以进行长期趋势分析。
分析长期趋势,预测运营问题。 评估长期数据来形成运营策略,并预测可能发生的运营问题以及何时发生。 例如,您可能会注意到,平均响应时间会随着时间的推移而缓慢增加,并接近最大目标。
可视化效果
运行状况监视的可视化对于了解工作负荷的状态至关重要。 可视化可以帮助您快速识别问题和趋势,还可以帮助您了解对工作负载所做的更改的影响。
仪表板
可视化数据的最常见方法是使用可以以图表或图形形式显示信息的仪表板。 这些项目可以参数化,分析人员可以为任何特定情况选择重要的参数,如时间段。
将您的仪表板与运行状况模型对齐,让它们指示工作负荷或工作负荷的组件何时正常、降级或不正常。
要让仪表板系统有效地工作,它必须对工作负荷团队有意义。 可视化与工作负荷运行状况相关的信息,这些信息还可以操作。 当工作负荷或组件降级或不正常时,工作负荷团队的成员应该能够轻松地确定问题在工作负荷中的来源,并开始他们的纠正措施或调查。 相反,包含不可操作或与工作负载运行状况无关的信息可能会使仪表板变得不必要地复杂,并且会让试图从可操作数据中辨别背景噪音的团队成员感到沮丧。
您可能有供利益干系人或开发人员使用的仪表板,这些仪表板经过自定义,仅显示他们认为相关的工作负荷相关数据。 确保工作负荷团队了解其他团队感兴趣的数据点类型,并在共享仪表板之前预览仪表板以检查清晰度。 为利益干系人提供有关工作负荷的仪表板是让他们了解工作负荷运行状况的好方法,但如果利益干系人不清楚数据,则可能会适得其反。
限制授权人员访问仪表板。 仪表板上的信息可能很敏感。 您还应该保护基础数据,防止用户进行更改。
正在报告
报告用于生成总体的系统视图。 它可能包含历史数据和当前信息。 报告要求分为两大类:运营报告和安全报告。
运营报告通常包括:
- 聚合统计信息,可用于了解指定时间窗口内整个系统或指定子系统的资源利用率。
- 确定在指定期间内整个系统或指定子系统的资源使用趋势。
- 监视在指定期间内整个系统或指定子系统中发生的异常。
- 确定应用程序对已部署资源的效率,并了解是否可以在不对性能造成不必要影响的情况下减少资源量及其相关成本。
安全报告跟踪客户对系统的使用。 它可以包括:
- 审核用户操作。 此任务需要记录每个用户完成的各个请求,以及日期和时间。 数据的结构应该让管理员能够快速重构用户在指定期间内完成的操作序列。
- 跟踪用户使用的资源。 此任务需要记录用户的每个请求如何访问系统中的各种资源,以及访问多长时间。 管理员可以使用这些数据按用户生成指定期间(可能为计费)的利用率报告。
警报
为了帮助确保系统保持正常运行、响应迅速和安全,设置警报,让操作员能够及时作出响应。 警报可以包含足够的上下文信息,来帮助他们快速开始诊断活动。
有关警报的建议
- 定义警报响应流程,确定负责的负责人和操作。
- 为定义明确的范围配置警报,并调整详细程度以最大限度地减少干扰。
- 使用自动警报解决方案,如 Splunk 或 Azure Monitor,而不是要求人们主动查找问题。
- 使用警报实施补救过程。 例如,自动创建票证来跟踪问题和解决。
阈值
当您的监视系统检测到超过阈值时,会生成警报。 确保您设置的阈值通常能够给您足够的时间对工作负荷进行必要的更改,以避免降级或停机。 您还应该实现必要的错误处理,并捕捉工作负荷中的已知错误,以减少警报数量。 例如,为云端流量中的操作配置重试策略,以便在流量运行过程中尝试重试,只有在重复重试失败、记录流失败并发送警报时才重试。 了解更多信息,请参阅设计可靠监控和警报策略的建议。
Power Platform 推进
Power Platform 与 Application Insights 集成,后者是 Azure Monitor 生态系统的一部分。 使用该集成可:
接收 Application Insights中 Dataverse 平台捕获的关于诊断和性能的遥测数据。 您可以订阅接收有关应用程序对您的 Dataverse 数据库和模型驱动应用执行的操作的遥测。 遥测提供可用于诊断和解决与错误和性能有关的问题的信息。
将您的画布应用程序连接到 Application Insights。 您可以使用这些分析来诊断问题,并可以了解用户实际对您的应用执行的操作。 您可以收集信息来帮助您做出更好的业务决策,并提高应用的质量。
将 Power Automate 遥测数据配置为流入 Application Insights。 例如,可以监视云端流执行,并为云端流运行失败创建警报。
从您的 Microsoft Copilot Studio 代理捕获遥测数据,供 Azure Application Insights 使用。 您可以使用这些遥测数据来监控向代理发送或从代理发送的记录消息和事件、在用户对话期间触发的主题以及可从主题发送的自定义遥测事件。
Microsoft Purview 合规门户中的 Power Platform 资源日志活动。 大多数事件在活动开始后 24 小时内可用。 不要将这些信息用于实时监控。 有关 Power Platform 中日志记录活动的更多信息,请参见:
- Power Apps
- Power Automate
- Copilot Studio
- Power Pages
- Power Platform 连接器
- 数据丢失防护
- Power Platform 管理日志
- Dataverse 审核
您的 Power Platform 工作负载可能包括 Azure 资源。 了解设计和创建监控系统的建议中的更多信息。
Power Platform CoE 初学者工具包是一个包含组件和工具的参考实施,用于帮助您开始制定关于采用和支持 Power Platform 的策略。 CoE 初学者工具包中包含一组丰富的仪表板。 了解更多信息,请参阅通过 CoE Power BI 面板深入了解您的 Microsoft Power Platform 采用情况。
Power Platform 自动化工具包是一组工具,可促进 Power Automate 桌面版在自动化项目中的使用和支持。 此工具包提供的工具可帮助您管理自动化项目并对其进行监视,以估计节省的资金和投资回报率 (ROI)。 自动化工具包的一部分是控制中心,它是对监控桌面流程运行功能的补充。 控制中心的重点是业务流程协调程序视图,用于支持分析师和组织进行监视、执行操作并在必要时发出警报。