

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

# 为 Amazon EKS 监控解决方案实现高可用性
<a name="monitoring-ha-setup"></a>

用于 Amazon EKS 监控的强大高可用性 (HA) 策略对于确保持续监控您的 Kubernetes 环境至关重要。本节讨论在监控基础架构的不同方面实施 HA 的全面方法。

## 架构冗余和可扩展性
<a name="architecture"></a>

要构建高度可用的监控系统，首先要进行适当的架构设计。监控组件应分布在多个 AWS 可用区中，以防出现区域故障。这包括对 Prometheus 服务器、日志收集器和警报管理器等关键监控组件实施横向扩展。您可以使用 AWS 托管服务，例如适用于 Prometheus 的亚马逊托管服务和 Amazon Managed Grafana，以帮助减少运营开销，同时确保高可用性。配置自动故障转移机制，以在组件故障期间保持服务连续性，同时设置运行状况检查和自动恢复程序。

## 弹性数据存储策略
<a name="data-storage"></a>

数据存储弹性是保持监控系统可靠性的基础。实施分布式存储解决方案可确保即使单个存储节点出现故障，指标数据和日志仍可访问。这包括在多个可用区之间配置适当的数据复制，以及使用不同的存储后端实现冗余。为历史数据建立定期备份程序，并记录各种故障情形的恢复流程。对于 Prometheus 等时间序列数据库，实施远程存储解决方案有助于将存储问题与数据收集区分开来，并提高系统的整体可靠性。

## 冗余警报管理
<a name="alert-mgmt"></a>

在 HA 设置中需要特别注意警报管理。部署冗余警报管理器可确保即使在系统故障期间也能将关键通知送达目标收件人。配置多个通知渠道，例如电子邮件、短信、Slack， PagerDuty 并提供备用通信路径。使用警报重复数据删除机制来防止在部分系统故障期间出现警报风暴，并使用后备通知方法来确保不会错过关键警报。实施警报关联有助于在故障转移场景期间维护上下文，并防止来自冗余系统的重复通知。

## 负载平衡和服务发现
<a name="load-balancing"></a>

适当的负载平衡对于维持稳定的监控服务至关重要。 AWS 应用程序负载均衡器将传入的监控流量分发到多个终端节点，运行状况检查可确保流量仅路由到运行状况良好的实例。服务发现机制有助于监控组件自动适应环境的变化，例如添加新节点或服务。使用在集群扩展时确保全面覆盖 DaemonSets ，从而在所有节点上一致地部署监控代理。

## 其他 HA 注意事项
<a name="ha-considerations"></a>

网络弹性：
+ 实现冗余网络路径。
+ 跨可用区配置正确的子网设计。
+ [AWS Direct Connect](https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/aws-direct-connect.html)与备用路由一起使用。
+ 配置适当的安全组和网络访问控制列表（网络 ACLs）。

监视显示器：
+ 部署辅助监控系统。
+ 实施跨区域监控。
+ 为无响应的系统配置警报。
+ 定期测试故障转移程序。

容量规划：
+ 监控资源使用趋势。
+ 实现预测性扩展。
+ 定期测试性能。

数据管理：
+ 实施数据保留政策。
+ 配置指标聚合。
+ 规划数据生命周期管理。
+ 定期优化存储。

恢复程序：
+ 文档恢复流程。
+ 定期测试灾难恢复。
+ 尽可能实施自动恢复。
+ 确定并实施明确的上报路径。

通过实施这些高可用性实践，您可以确保您的 Amazon EKS 监控基础设施保持可靠性和弹性，并且即使在各种故障情况下，您也可以持续监控 Kubernetes 环境。定期测试和更新这些 HA 配置可确保它们随着环境的演变而保持有效。