使用 Grafana 的 Redis Data Source 插件监控的你的 Redis
前言
Grafana是一个著名的、广泛应用的开源应用监控工具。现在,新的Redis Data Source for Grafana[1]插件可以和Redis一起使用了!
有了这个新功能,DevOps从业人员和DBA可以使用他们已经熟悉的工具轻松创建仪表盘来监控Redis databases和应用数据。新的Grafana Redis Data Source 插件可以让你可视化RedisTimeSeries data[2]和Redis基础数据类型,如Strings
、Hash
、Sets
等。此外,它还可以解析和展示Redis管理命令的输出,如SLOWLOG GET
,INFO
和CLIENT 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有一个下拉列表来选择命令类型。
Redis命令包括一些预定义的命令,用于检索Redis核心数据类型,如
Hashes
、Sets
、Strings
、Stream
等。命令的输出是预先格式化的,方便在Grafana界面上使用。该模式还可以执行Redis管理命令,SLOWLOG GET
,INFO
和CLIENT LIST
。它们的输出是以新引入的数据框架形式出现的,因此你可以使用Grafana transformations[4]来修改标准输出。图示:为INFO MEMORY
命令配置 Grafana 仪表板。RedisTimeSeries 命令提供了一个界面,可让您使用RedisTimeSeries 模块。目前,它支持两个命令:
TS.RANGE
和TS.MRANGE
,它们可让您查询一个或多个时间序列的范围。以下示例显示了从 Grafana 存储库调用Redis Data Source的次数。
图示:Grafana 存储库调用 Redis Data Source 的次数。
通用输入允许您使用前两个模式不支持的其他命令。请注意:
通用输入不支持所有 Redis 命令。 这些命令的输出未针对 Grafana 进行预格式化,因此某些 Grafana 功能可能无法正常使用。
使用 INFO 命令进行实时监控
开始前,请安装Redis Monitoring Dashboard[5]并玩转它。
监控仪表板使用INFO
命令的各个部分与相关的Grafana转换。另外,还有一个SLOWLOG
面板,所以你可以快速识别出你的慢查询(这会影响你的Redis数据库的性能),还有一个CLIENT LIST
面板,用来显示客户端的连接信息。
图示: SLOWLOG GET
命令输出。
总结
在Grafana中使用Redis Data Source插件有无限的可能性;我们计划在未来几周内分享更多的仪表盘示例,包括一个有趣的极客天气应用。所以请继续关注!
翻译:冷冷、如梦技术、李寻欢
原文链接:https://redislabs.com/blog/introducing-the-redis-data-source-plug-in-for-grafana/
参考资料
Redis Data Source for Grafana: https://grafana.com/grafana/plugins/redis-datasource
[2]
RedisTimeSeries data: https://redislabs.com/blog/unlocking-timeseries-data-redis/
[3]
TLS: https://en.wikipedia.org/wiki/Transport_Layer_Security
[4]Grafana transformations: https://grafana.com/docs/grafana/latest/panels/transformations/
[5]
Redis Monitoring Dashboard: https://grafana.com/grafana/dashboards/12776