本文轉至JAVA架構日記
前言
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插件有無限的可能性;我們計劃在未來幾周內分享更多的儀表盤示例,包括一個有趣的極客天氣應用。所以請繼續關注!