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