

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在 Amazon EKS 中提醒的最佳实践
<a name="alerting-best-practices"></a>

本节介绍在 Amazon EKS 中创建强大的警报系统以增强基于 Kubernetes 的应用程序的可靠性和性能的最佳实践。

定义明确的警报阈值：
+ 根据历史数据和业务需求设置有意义的阈值。
+ 在适当时使用动态阈值来应对不同的工作负载。

实现警报优先级：
+ 按严重性（例如，严重、高、中、低）对警报进行分类。
+ 根据业务影响调整警报优先级。

避免警觉疲劳：
+ 通过消除冗余或低值警报来减少噪音。
+ 将警报与群组相关问题关联起来。

使用多阶段警报：
+ 在达到临界水平之前实施警告阈值。
+ 针对不同的警报严重程度使用不同的通知渠道。

实现正确的警报路由：
+ 确保将警报发送给正确的团队或个人。
+ 使用待命时间表和轮换进行全天、每天的保险。

利用 Kubernetes 原生指标：
+ 监控 Kubernetes 的核心组件（节点、容器、服务）。
+ 使用 [kube-state-metrics (KSM)](https://github.com/kubernetes/kube-state-metrics) 获取其他 Kubernetes 对象指标。

监控基础架构和应用程序：
+ 设置集群运行状况、节点状态和资源利用率警报。
+ 实施特定于应用程序的警报，例如错误率和延迟。

使用 Prometheus 和 Alertmanager：
+ 使用 Prometheus 进行指标收集，使用 PromQL 来定义警报条件。
+ 使用警报管理器进行警报路由和重复数据删除。

与 Amazon 集成 CloudWatch：
+ 使用[CloudWatch容器洞察获取](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContainerInsights.html) Amazon EKS 特定的指标。
+ 为关键 AWS 资源指标设置[CloudWatch警报](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)。

实施情境丰富的警报：
+ 在警报消息中包含相关信息，例如集群名称、命名空间和 Pod 详细信息。
+ 在警报中提供指向相关仪表板或运行手册的链接。

使用异常检测：
+ 针对复杂模式实施基于机器学习的异常检测。
+ 使用 CloudWatch 异常检测或第三方工具等服务。

实现警报抑制和静音：
+ 允许暂时抑制已知问题。
+ 实施维护窗口，以减少计划停机期间的噪音。

监控警报性能：
+ 跟踪警报频率、解决时间和误报率等指标。
+ 根据这些指标定期审查和完善警报规则。

实施上报程序：
+ 为未解决的警报定义清晰的上报路径。
+ 使用 PagerDuty 或 Opsgenie 等工具进行自动升级。

定期测试警报系统：
+ 定期测试您的警报渠道。
+ 在灾难恢复演习中包括警报测试。

使用模板确保警报一致性：
+ 为常见场景创建标准化警报模板。
+ 确保所有警报的格式和信息保持一致。

实施速率限制：
+ 通过对频繁触发的警报实施速率限制来防止警报风暴。

使用自定义指标：
+ 为特定于应用程序的监控实现自定义指标。
+ 使用 Kubernetes 自定义指标 API 根据这些指标进行自动扩展。

实现日志集成：
+ 将警报与相关日志关联起来，以便更快地进行故障排除。
+ 将 Grafana Loki 或 ELK Stack 等工具与警报系统配合使用。

考虑成本提醒：
+ 设置警报，以防资源使用量或成本出现意外高峰。
+ [AWS Budgets](https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-managing-costs.html)使用我们的第三方成本管理工具。

使用分布式跟踪：
+ 集成分布式跟踪工具，例如 Jaeger 或. [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
+ 设置异常跟踪模式或延迟的警报。

文档警报操作手册：
+ 为每种警报类型创建清晰、可操作的操作手册。
+ 在运行手册中包括故障排除步骤和上报程序。

通过遵循这些最佳实践，您可以为您的 Amazon EKS 环境创建强大、高效且有效的警报系统。这将有助于确保基于 Kubernetes 的应用程序具有高可用性、快速解决问题和最佳性能。