Azure 指导报表
Site24x7 指导报表中的成本和安全性建议将仅在 ManageEngine CloudSpend 中以推荐报表形式提供。如果您同时使用 Site24x7 和 CloudSpend,可继续从 CloudSpend > 报表 > 推荐报表获取这些建议。
CloudSpend 中的推荐报表可帮助您优化云成本,并提升 AWS、Azure 和 GCP 账户中云基础设施的容错能力与性能。它提供有针对性的建议,助您实现显著节省并提高整体云环境效率。
如果您尚未订阅 CloudSpend 并希望继续获取这些建议,可立即开始使用 CloudSpend。
获取一组可用性最佳实践检查,以提高 Azure 服务的性能和可靠性。这些建议按三个优先级别分组:高、中和低。
基于指标的实践将根据 Azure 监视器数据采集期间收集的数据进行计算。对于其他实践,将进行按需 Azure API 调用,并检查数据是否符合该实践标准。
最佳实践检查
Azure 虚拟机 (VM)
1. 检测到未充分利用的 VM
优先级:
高
基准:
通过分析 CPU 利用率、内存使用量、网络入/出及磁盘使用模式来判断 VM 是否处于空闲状态。如果 Azure VM 满足以下一个或多个条件,则被认为未充分利用:
- 过去七天的日均 CPU 使用率低于 2%。
- 过去七天的日均内存使用率低于 30%(仅在 Azure VM 上部署了代理扩展时适用)。
- 过去七天的日均 VM 非缓存 IOPS 消耗百分比低于 10%。
- 过去七天的日均 VM 非缓存带宽消耗百分比低于 10%。
- 所有网络接口传输和接收的字节总数默认低于 1000 字节。
建议:
在 Azure 中,即使是空闲 VM 的不足一小时的使用也会被计费。为降低相关成本,考虑停止/终止 VM 或缩小 VM 规模。
Site24x7 针对上述所有情况进行监控,并提供成本优化建议,以便您通过指导报表识别并停止未充分利用的实例。Azure VM 的实例类型建议会显示当前实例类型,并推荐可供降级以优化成本的建议实例类型。
2. VM 使用率过高
优先级:
高
基准:
如果 Azure VM 满足以下一个或多个条件,则被认为过度利用:
- 过去七天的日均 CPU 使用率超过 90%。
- 过去七天的日均内存使用率超过 90%(仅在 Azure VM 上部署了代理扩展时适用)。
- 过去七天的日均 VM 非缓存 IOPS 消耗百分比超过 95%。
- 过去七天的日均 VM 非缓存带宽消耗百分比超过 95%。
建议:
更改 VM 规模或将 VM 加入 VM 规模集组。
Site24x7 针对上述所有情况进行监控,并提供效率和性能提升建议,以便您通过指导报表识别并处理高利用率实例。Azure VM 的实例类型建议会显示当前实例类型,并推荐可供升级以提升性能和效率的建议实例类型。
3. VM 用户自定义标签
优先级:
高
基准:
以标签(键值对)形式分配元数据,以便更好地跟踪和管理实例、镜像及 VM 规模集组。
建议:
按照 Azure 最佳实践制定标签策略。
4. 高 I/O 密集型 VM
优先级:
高
基准:
低状态磁盘的 I/O 密集型工作负载会严重影响 VM 性能。
建议:
将需要高 IOPS 的 VM 磁盘迁移到高级存储。
5. 未充分利用的 VM
优先级:
中
基准:
如果 VM 在过去 48 小时内的 CPU 使用率低于 2%,则被认为未充分利用。
建议:
Azure 根据实例类型和消耗的小时数计费。通过识别并停止未充分利用的 VM 来降低成本。
6. 自动关闭带有"environment: testing, env: testing"标签的资源
优先级:
中
基准:
删除为测试和其他内部活动创建的 VM,以减少产生的费用。
建议:
移除为测试添加且已运行超过一周的 VM。您也可以创建 Spot VM 用于测试和其他工作负载。
7. 未附加到可用性集组的 VM
优先级:
低
基准:
可用性集中的 VM 在发生硬件或软件故障时,有助于保持整体 VM 性能正常运行,仅有部分 VM 受到影响。
建议:
为 VM 创建可用性集。
8. 自动删除测试 VM
优先级:
中
基准:
删除为测试和其他内部活动创建的 VM,以减少产生的费用。
建议:
移除为测试添加且已运行超过一周的 VM。
9. 无标签的 VM
优先级:
高
基准:
以标签(键值对)形式分配元数据,以便跟踪和管理实例、镜像及 VM 规模集组。
建议:
按照 Azure 最佳实践制定标签策略。
10. 未备份的 VM
优先级:
高
基准:
在 Azure 中备份 VM 可以保护其数据、确保业务连续性、实现时间点灾难恢复,并为集中管理和可扩展性奠定基础。
建议:
备份 Azure VM 以实现全面的数据保护,确保在需要时您的数据和应用程序安全、合规且可用。
11. Azure VM - 不可用
优先级:
高
基准:
检查 VM 当前的资源运行状况是否为不可用状态。
描述:
Azure 资源运行状况通过检查托管 VM 的服务器、相关组件之间的网络连接、计划维护等多个 Azure 组件的运行可靠性,来报告 VM 的当前和历史运行状况。Azure 资源运行状况还提供额外信息以帮助确定问题根源。
建议:
设置自动化操作,以便在问题持续存在时重启或替换实例。按照 Azure 资源运行状况建议的操作来解决问题。
12. Azure VM - 加速网络
优先级:
中
基准:
检查 VM 的网络接口是否已启用加速网络。
描述:
加速网络为 VM 启用单根 I/O 虚拟化,大幅提升网络性能。此功能可降低延迟、减少抖动并降低 CPU 利用率。
建议:
为运行网络密集型工作负载的 VM 启用加速网络,以充分发挥网络虚拟化的优势。
13. Azure VM - 非托管磁盘
优先级:
中
基准:
检查 VM 是否附加了非托管磁盘。
描述:
托管磁盘相比非托管磁盘具有众多优势,例如无需管理和维护开销、可靠性更高、可扩展性更强等。
建议:
Azure 建议在 VM 中使用托管磁盘而非非托管磁盘。使用非托管磁盘的已停止 VM 无法启动,使用非托管磁盘的运行中 VM 将于 2025 年 9 月 30 日停止并解除分配。
14. Azure VM - 数据磁盘
优先级:
低
基准:
检查 VM 是否使用数据磁盘存储应用程序数据。
描述:
将数据磁盘用于应用程序数据可以提高性能和可管理性。它将操作系统磁盘与应用程序数据分离,从而提升 I/O 性能、简化备份,并防止操作系统和应用程序争用磁盘资源引发的潜在问题。
建议:
确保 Azure VM 配置为使用数据磁盘存储应用程序数据,以增强性能和可管理性。
15. Azure VM - 来宾诊断
优先级:
中
基准:
检查 VM 是否启用了来宾诊断。
描述:
启用来宾诊断后,您可以从 VM 收集详细的诊断数据,包括性能指标、事件日志和崩溃转储。这些数据可用于监控和故障排除 VM。
建议:
在 VM 上启用来宾诊断,以收集详细的诊断数据并提升监控和故障排除能力。
16. Azure VM - 性能诊断
优先级:
中
基准:
检查 VM 是否启用了性能诊断。
描述:
启用性能诊断后,您可以从 VM 收集详细的性能数据,包括 CPU 使用率、内存使用量、磁盘 I/O 和网络 I/O。这些数据可用于监控和故障排除 VM。
建议:
在 VM 上启用性能诊断,以收集详细的性能数据并提升监控和故障排除能力。
Azure 公共 IP 地址
1. 未映射的公共 IP 地址
优先级:
高
基准:
通过将 IP 地址与资源解除关联并重新映射到同一账户中的其他资源,来隐藏实例或资源的故障。
建议:
未使用的地址将收取少量小时费用。因此,请将公共 IP 地址关联到活跃的实例/接口,或将其删除。
Azure 应用服务计划
1. 缩减使用率较低的应用服务计划
优先级:
高
基准:
避免为使用率较低的应用服务计划支付过多费用。
建议:
缩减实例数量以降低成本。
2. 应用服务平均内存使用率超过 80%
优先级:
高
基准:
高内存使用率可能会降低在应用服务计划上运行的应用程序性能。考虑升级计划以增加内存限制。
建议:
升级计划以提升性能。
3. 应用服务 CPU 时间使用率超过 80%
优先级:
高
基准:
高 CPU 使用率可能会降低在应用服务计划上运行的应用程序性能。考虑升级计划以增加 CPU 限制。
建议:
升级计划以提升性能。
4. 应用服务计划站点数使用率低于 5%
优先级:
高
基准:
如果已使用的站点数低于允许站点数的 5%,则视为未充分利用。
建议:
将应用迁移到其他应用服务计划并删除此计划以节省成本。
Azure 应用服务
1. 响应时间过长的应用服务
优先级:
高
基准:
慢即是停。响应时间过长的应用服务会影响您的业务。跟踪过去一周内开始出现缓慢响应的应用服务。
建议:
使用 APM 进一步探查您的应用程序,找出导致问题的模块/资源。
2. 5xx 错误代码数量过多的应用服务
优先级:
高
基准:
频繁出错的应用服务表明某个部分/模块出现故障,从而影响业务。
建议:
通过适当的错误处理机制减少错误响应,并修复出错的模块。
3. 已禁用身份验证的应用服务
优先级:
高
基准:
禁用身份验证的应用服务允许匿名访问,用户无需登录即可进入。
建议:
启用身份验证以避免匿名访问。
4. 部分应用服务未启用备份
优先级:
高
基准:
Azure 备份有助于在应用服务发生任何故障时进行恢复。
建议:
为 Azure 应用服务启用备份。
5. 无标签的应用服务
优先级:
高
基准:
使用标签可以更轻松地管理 Azure 资源。未加标签的资源有时会被忽视,难以管理。
建议:
使用适当的键值对为 Azure 资源添加标签,以简化管理。
Azure 函数应用
1. 可公开访问的 Azure 函数
优先级:
高
基准:
Azure 函数根据请求数计费,请求是指对事件通知或调用请求的任何响应。允许未经授权的执行可能会导致您的订阅产生意外费用。
建议:
使用 Azure 函数登录策略管理调用权限。
Azure 逻辑应用
1. 未配置重试策略
优先级:
中
基准:
在任何支持的操作或触发器中使用重试策略。重试策略规定当原始请求超时或失败时,操作是否以及如何重试请求。
建议:
设置重试策略,在逻辑应用中自动处理错误和恢复。
Azure 负载均衡器
1. 添加健康探测
优先级:
中
基准:
健康探测用于检测后端端点的健康状态。
建议:
建议添加健康探测以检测应用程序故障并提升性能。
2. 基本负载均衡器
优先级:
中
基准:
检查 Azure 环境中是否正在使用基本负载均衡器。
描述:
基本负载均衡器将于 2025 年 9 月 30 日停用。标准负载均衡器提供高性能、超低延迟、卓越的弹性负载均衡和默认安全性,以及 99.99% 可用性的 SLA。
建议:
考虑从基本负载均衡器迁移到标准负载均衡器。
3. 区域冗余
优先级:
高
基准:
检查负载均衡器前端公共 IP 是否具有区域冗余。
描述:
区域冗余通过将资源分布在多个可用区来确保负载均衡器能够抵御区域故障。如果负载均衡器前端的公共 IP 具有区域冗余,则负载均衡器也具有区域冗余。
建议:
考虑将负载均衡器迁移到支持可用区的配置。
4. 后端池冗余
优先级:
中
基准:
检查后端池是否包含至少两个实例。
描述:
如果后端池只有一个实例且该实例不健康,则发送到后端池的所有流量将因缺乏冗余而失败。此外,标准负载均衡器 SLA 仅在每个后端池有至少两个健康的后端池实例时才受支持。
建议:
确保后端池至少有两个后端地址,以维持冗余和高可用性。
5. 出站规则默认端口分配
优先级:
中
基准:
检查负载均衡器出站规则是否使用默认端口分配。
描述:
出站规则的默认端口分配可能并非所有场景的最优选择,并可能导致源网络地址转换 (SNAT) 端口耗尽和可扩展性问题的风险升高。手动端口分配有助于最大化后端池中每个实例可用的 SNAT 端口数量,从而防止因端口重新分配而影响连接。
建议:
根据应用程序需求,审查并自定义出站规则的端口分配,而不要使用默认端口分配设置。
6. TCP 重置
优先级:
中
基准:
检查负载均衡器的出站规则是否启用了 TCP 重置。
描述:
负载均衡器上的 TCP 重置在空闲超时时向客户端和服务器端点发送双向 TCP 重置数据包,通知应用程序端点连接已超时且不再可用。在负载均衡器上启用 TCP 重置有助于快速终止空闲或长期连接,从而提升整体性能。
建议:
在负载均衡器上启用 TCP 重置,以确保高效的连接管理并实现所需的应用程序行为。
Azure 托管磁盘
1. 共享 LRS
优先级:
低
基准:
检查附加到多台 VM 的共享本地冗余存储 (LRS) 磁盘。
描述:
LRS 在一个区域内的单个数据中心将您的数据复制三次。如果磁盘在多台 VM 之间共享,则共享磁盘将成为集群应用程序的单点故障。如果共享磁盘发生中断,所有附加到该磁盘的 VM 将经历宕机时间。
建议:
使用共享磁盘时,考虑使用区域冗余存储以提高可用性。
Azure 虚拟机规模集
1. 自动实例修复
优先级:
中
基准
检查 VM 是否启用了自动实例修复。
描述:
为 Azure VM 规模集启用自动实例修复,通过维护一组健康实例来实现应用程序的高可用性。自动实例修复将通过触发修复操作(例如删除不健康实例并创建新实例替换、重置不健康实例镜像或重启不健康实例)来尝试恢复不健康的实例。
建议:
启用自动实例修复,确保 VM 规模集中 VM 实例的健康状况和可用性。
2. 区域冗余
优先级:
高
基准:
检查 VM 规模集是否跨多个可用区部署。
描述:
具有区域冗余的 VM 规模集将实例分布在多个可用区,提供更高的可用性并增强对区域故障的弹性。
建议:
将虚拟机规模集跨多个可用区部署,以提升可用性并防范数据中心级故障。
3. Azure 虚拟机规模集 - 集成负载均衡器
优先级:
中
基准:
检查负载均衡器是否已与 VM 规模集集成。
描述:
将负载均衡器与 VM 规模集集成可确保高可用性,并在多个 VM 实例之间分发传入网络流量。
建议:
将负载均衡器与 VM 规模集集成,以提升可用性并高效管理网络流量。
4. Azure 虚拟机规模集 - 终止通知
优先级:
中
基准:
检查 VM 规模集是否启用了终止通知。
描述:
终止通知允许您在 VM 实例被终止之前收到通知,从而有时间执行必要的操作,例如保存状态或优雅地关闭应用程序。
建议:
启用终止通知,确保在 VM 实例被终止前收到通知,以便采取适当措施。
5. Azure 虚拟机规模集 - 健康监控
优先级:
中
基准:
检查 VM 规模集是否启用了健康监控。
描述:
为 Azure VM 规模集启用健康监控,有助于确保实例健康,并自动检测和修复不健康的实例。这可以提升应用程序的整体可用性和可靠性。
建议:
启用健康监控,确保 VM 规模集中 VM 实例的健康状况和可用性。
Azure Web 应用
1. HTTP 版本
优先级:
低
基准:
检查 Web 应用是否使用了最新版本的 HTTP 协议(即 HTTP/2)。
描述:
使用最新的 HTTP 版本可以提升性能,因为与 HTTP/1.1 相比,HTTP/2 具有更低的延迟和协议开销。
建议:
将 Web 应用的 HTTP 版本配置为 HTTP/2,以增强性能。
2. 始终运行
优先级:
中
基准:
检查 Web 应用是否启用了"始终运行"功能。
描述:
启用"始终运行"功能可确保 Web 应用在没有流量时也保持运行,从而通过减少冷启动来提升性能。
建议:
考虑为 Web 应用启用"始终运行"选项,以提升性能并减少冷启动。
3. 健康检查
优先级:
中
基准:
检查 Web 应用是否启用了健康检查。
描述:
启用健康检查可确保对 Web 应用的可用性进行监控,保障服务不中断,并允许主动检测和解决问题。
建议:
考虑为 Web 应用启用健康检查。
