AWS MemoryDB 介绍
Amazon MemoryDB 是一种完全托管的、内存中数据存储服务,专为需要极低延迟和高吞吐量的应用程序而设计。它与 Redis 和 Memcached 相似,但具有更高的可靠性和可扩展性。MemoryDB 提供了与 Redis 完全兼容的 API,同时结合了分布式、高可用、持久化和安全性等优势,适用于需要高速缓存、会话存储、实时分析等场景的应用。
观测云
观测云是一款专为 IT 工程师打造的全链路可观测产品,它集成了基础设施监控、应用程序性能监控和日志管理,为整个技术栈提供实时可观察性。这款产品能够帮助工程师全面了解端到端的用户体验追踪,了解应用内函数的每一次调用,以及全面监控云时代的基础设施。此外,观测云还具备快速发现系统安全风险的能力,为数字化时代提供安全保障。
部署 DataKit
DataKit 是一个开源的、跨平台的数据收集和监控工具,由观测云开发并维护。它旨在帮助用户收集、处理和分析各种数据源,如日志、指标和事件,以便进行有效的监控和故障排查。DataKit 支持多种数据输入和输出格式,可以轻松集成到现有的监控系统中。
登录观测云控制台,在「集成」 - 「DataKit」选择对应安装方式,当前采用 Linux 主机部署 DataKit。
采集器配置
- 登陆观测云控制台
- 点击【集成】菜单,选择【云账号管理】
- 点击【添加云账号】,选择【AWS】,填写界面所需的信息,如之前已配置过云账号信息,则忽略此步骤
- 点击【测试】,测试成功后点击【保存】,如果测试失败,请检查相关配置信息是否正确,并重新测试
- 点击【云账号管理】列表上可以看到已添加的云账号,点击相应的云账号,进入详情页
- 点击云账号详情页的【集成】按钮,在未安装列表下,找到 AWS MemoryDB,点击【安装】按钮,弹出安装界面安装即可。
关键指标
指标名称 | 描述 | 单位 |
---|---|---|
CurrConnections | 客户端连接数,不包括来自只读副本的连接。MemoryDB 使用两到四个连接来监控各种情况下的集群。这是根据 Redis INFO 中的 connected_clients 统计数据得出的。 | 计数 |
DatabaseMemoryUsagePercentage | 正在使用的集群的可用内存的百分比。这是使用 used_memory/maxmemory 从 Redis INFO 计算得来的。 | 百分比 |
Evictions | 由于 maxmemory 限制而被驱逐的密钥数。这是根据 Redis INFO 中的 evicted_keys 统计数据得出的。 | 计数 |
PrimaryLinkHealthStatus | 此状态有两个值:0 或 1。值为 0 表示 MemoryDB 主节点中的数据未与 EC2 上的 Redis 同步。值为 1 表示数据已同步。 | 布尔值 |
NetworkConntrackAllowanceExceeded | 由于连接跟踪超过实例的最大值且无法建立新连接而形成的数据包的数量。这可能会导致进出实例的流量丢失数据包。 | 计数 |
KeyspaceHits | 主字典中成功的只读键查找次数。这是从 Redis INFO 的 keyspace_hits 统计数据中得出的。 | 计数 |
KeyspaceMisses | 主字典中失败的只读键查找次数。这是从 Redis INFO 的 keyspace_misses 统计数据中得出的。 | 计数 |
NewConnections | 在此期间,服务器接受的连接总数。这是根据 Redis INFO 中的 total_connections_received 统计数据得出的。 | 计数 |
场景视图
登录观测云控制台,点击「场景」 -「新建仪表板」,输入 “AWS MemoryDB”, 选择 “AWS MemoryDB 监控视图”,点击 “确定” 即可添加视图。
监控器(告警)
观测云内置了监控器模板,可以选择从模版创建监控器,并开启适合业务的监控器以及时通知相关成员关注问题,触发条件、频率等信息可以依据实际业务进行调整。
登录观测云控制台,点击「监控」 -「新建监控器」,输入 “AWS MemoryDB”, 选择对应的监控器,点击 “确定” 即可添加。
AWS MemoryDB 连接数突增突降异常
AWS MemoryDB 当前被驱逐的密钥过多
总结
通过将 AWS MemoryDB 的原生监控数据集成到观测云平台,用户可以对 MemoryDB 资源水位预警、连接数异常告警、密钥异常告警,提供保障服务稳定性的技术手段,实现业务的连续性,成本优化和性能迭代,企业可以从被动应用故障到主动优化系统,最终提升用户体验和产品竞争力。