本文转自Java架构日记

前言

Grafana是一个著名的、广泛应用的开源应用监控工具。现在,新的Redis Data Source for Grafana[1]插件可以和Redis一起使用了!

有了这个新功能,DevOps从业人员和DBA可以使用他们已经熟悉的工具轻松创建仪表盘来监控Redis databases和应用数据。新的Grafana Redis Data Source 插件可以让你可视化RedisTimeSeries data[2]和Redis基础数据类型,如StringsHashSets等。此外,它还可以解析和展示Redis管理命令的输出,如SLOWLOG GET,INFOCLIENT LIST图示:Redis Data Source for Grafana 的监控仪表盘。

Grafana是一个流行的开源监控工具,用于构建交互式仪表盘,以跟踪应用程序和基础设施的性能。

Redis Data Source 插件入门

新的Redis Data Source for Grafana 插件可以连接到任何Redisdatabase,包括开源Redis、Redis Enterprise和Redis Enterprise Cloud,并且可以与Grafana 7.0及以后的版本一起使用。如果您已经有了Grafana 7.0,您可以使用这个grafana-cli命令来安装。

grafana-cli plugins install redis-datasource

如果你没有安装Grafana,或者只是想尝试Redis Data Source,你可以在Docker容器中快速开始使用。

docker run -d -p 3000:3000 --name=grafana -e "GF_INSTALL_PLUGINS=redis-datasource" grafana/grafana

为Grafana设置Redis Data Source 和使用其他Grafanadata source一样简单。除了服务器地址和端口外,还有数据库密码和传输层安全(TLS[3])连接等额外的配置选项。图示:在 Grafana 中配置_Redis Data Source

完成初始配置后,就可以开始创建展示Redis数据的面板了!Redis数据源插件支持三种不同的命令类型。Redis命令、RedisTimeSeries命令和通用输入。图示:Redis Data Source for Grafana有一个下拉列表来选择命令类型。

  1. Redis命令包括一些预定义的命令,用于检索Redis核心数据类型,如HashesSetsStringsStream等。命令的输出是预先格式化的,方便在Grafana界面上使用。该模式还可以执行Redis管理命令,SLOWLOG GET,INFOCLIENT LIST。它们的输出是以新引入的数据框架形式出现的,因此你可以使用Grafana transformations[4]来修改标准输出。图示:为INFO MEMORY命令配置 Grafana 仪表板。

  2. RedisTimeSeries 命令提供了一个界面,可让您使用RedisTimeSeries 模块。目前,它支持两个命令:TS.RANGETS.MRANGE,它们可让您查询一个或多个时间序列的范围。以下示例显示了从 Grafana 存储库调用Redis Data Source的次数。

图示:Grafana 存储库调用 Redis Data Source 的次数。

  1. 通用输入允许您使用前两个模式不支持的其他命令。请注意:

  • 通用输入不支持所有 Redis 命令。

  • 这些命令的输出未针对 Grafana 进行预格式化,因此某些 Grafana 功能可能无法正常使用。

使用 INFO 命令进行实时监控

开始前,请安装Redis Monitoring Dashboard[5]并玩转它。

监控仪表板使用INFO命令的各个部分与相关的Grafana转换。另外,还有一个SLOWLOG面板,所以你可以快速识别出你的慢查询(这会影响你的Redis数据库的性能),还有一个CLIENT LIST面板,用来显示客户端的连接信息。

图示: SLOWLOG GET 命令输出。

总结

在Grafana中使用Redis Data Source插件有无限的可能性;我们计划在未来几周内分享更多的仪表盘示例,包括一个有趣的极客天气应用。所以请继续关注!

推荐观看:b站Redis学习视频

需要更多架构资料关注我公众号“架构师老毕”即可获取