AWS MemoryDB 可观测最佳实践

AWS MemoryDB 介绍

Amazon MemoryDB 是一种完全托管的、内存中数据存储服务,专为需要极低延迟和高吞吐量的应用程序而设计。它与 Redis 和 Memcached 相似,但具有更高的可靠性和可扩展性。MemoryDB 提供了与 Redis 完全兼容的 API,同时结合了分布式、高可用、持久化和安全性等优势,适用于需要高速缓存、会话存储、实时分析等场景的应用。

观测云

观测云是一款专为 IT 工程师打造的全链路可观测产品,它集成了基础设施监控、应用程序性能监控和日志管理,为整个技术栈提供实时可观察性。这款产品能够帮助工程师全面了解端到端的用户体验追踪,了解应用内函数的每一次调用,以及全面监控云时代的基础设施。此外,观测云还具备快速发现系统安全风险的能力,为数字化时代提供安全保障。

部署 DataKit

DataKit 是一个开源的、跨平台的数据收集和监控工具,由观测云开发并维护。它旨在帮助用户收集、处理和分析各种数据源,如日志、指标和事件,以便进行有效的监控和故障排查。DataKit 支持多种数据输入和输出格式,可以轻松集成到现有的监控系统中。

登录观测云控制台,在「集成」 - 「DataKit」选择对应安装方式,当前采用 Linux 主机部署 DataKit。

采集器配置

  1. 登陆观测云控制台
  2. 点击【集成】菜单,选择【云账号管理】
  3. 点击【添加云账号】,选择【AWS】,填写界面所需的信息,如之前已配置过云账号信息,则忽略此步骤
  4. 点击【测试】,测试成功后点击【保存】,如果测试失败,请检查相关配置信息是否正确,并重新测试
  5. 点击【云账号管理】列表上可以看到已添加的云账号,点击相应的云账号,进入详情页
  6. 点击云账号详情页的【集成】按钮,在未安装列表下,找到 AWS MemoryDB,点击【安装】按钮,弹出安装界面安装即可。

关键指标

指标名称 描述 单位
CurrConnections 客户端连接数,不包括来自只读副本的连接。MemoryDB 使用两到四个连接来监控各种情况下的集群。这是根据 Redis INFO 中的 connected_clients 统计数据得出的。 计数
DatabaseMemoryUsagePercentage 正在使用的集群的可用内存的百分比。这是使用 used_memory/maxmemoryRedis INFO 计算得来的。 百分比
Evictions 由于 maxmemory 限制而被驱逐的密钥数。这是根据 Redis INFO 中的 evicted_keys 统计数据得出的。 计数
PrimaryLinkHealthStatus 此状态有两个值:0 或 1。值为 0 表示 MemoryDB 主节点中的数据未与 EC2 上的 Redis 同步。值为 1 表示数据已同步。 布尔值
NetworkConntrackAllowanceExceeded 由于连接跟踪超过实例的最大值且无法建立新连接而形成的数据包的数量。这可能会导致进出实例的流量丢失数据包。 计数
KeyspaceHits 主字典中成功的只读键查找次数。这是从 Redis INFOkeyspace_hits 统计数据中得出的。 计数
KeyspaceMisses 主字典中失败的只读键查找次数。这是从 Redis INFOkeyspace_misses 统计数据中得出的。 计数
NewConnections 在此期间,服务器接受的连接总数。这是根据 Redis INFO 中的 total_connections_received 统计数据得出的。 计数

场景视图

登录观测云控制台,点击「场景」 -「新建仪表板」,输入 "AWS MemoryDB", 选择 "AWS MemoryDB 监控视图",点击 "确定" 即可添加视图。

监控器(告警)

观测云内置了监控器模板,可以选择从模版创建监控器,并开启适合业务的监控器以及时通知相关成员关注问题,触发条件、频率等信息可以依据实际业务进行调整。

登录观测云控制台,点击「监控」 -「新建监控器」,输入 "AWS MemoryDB", 选择对应的监控器,点击 "确定" 即可添加。

AWS MemoryDB 连接数突增突降异常

AWS MemoryDB 当前被驱逐的密钥过多

总结

通过将 AWS MemoryDB 的原生监控数据集成到观测云平台,用户可以对 MemoryDB 资源水位预警、连接数异常告警、密钥异常告警,提供保障服务稳定性的技术手段,实现业务的连续性,成本优化和性能迭代,企业可以从被动应用故障到主动优化系统,最终提升用户体验和产品竞争力。

相关推荐
威联通网络存储3 天前
基于TS-h3087XU-RP的大型成套空分设备DCS历史趋势数据治理
aws
A小辣椒18 天前
AWS Clould Support Engineer就职面试题
aws
亚林瓜子21 天前
AWS WAF中如何放行某个触发了托管规则的接口
aws·waf
悠悠1213822 天前
AWS DevOps Agent 体验一周后,我决定把 oncall 手机调成静音了
云计算·aws·devops
yyuuuzz23 天前
独立站运营的几个技术层面常见问题
大数据·运维·服务器·网络·数据库·aws
yyuuuzz23 天前
游戏云服务器推荐的技术选择思路
大数据·运维·服务器·游戏·云计算·aws
kernelcraft24 天前
Boto3:Python 操作 AWS 的官方 SDK
开发语言·python·其他·aws
普通网友1 个月前
Serverless 框架:多云函数部署(AWS + 阿里云 + 腾讯云)
阿里云·serverless·aws
TG_yunshuguoji1 个月前
亚马逊云代理商:如何用 CloudWatch+Lambda 打造自动化告警系统
大数据·运维·自动化·云计算·aws
yyuuuzz1 个月前
独立站搭建的几个核心技术问题
运维·服务器·网络·数据库·aws