使用 redis-cli 檢查數據庫健康情況聽起來很簡單,實際上,它是:Redis 主機上的簡單redis-cli PING
返回PONG
。這看起來不太行的樣子,但確實如此。返回PONG
的redis功能正常、身體健康,吃嘛嘛香。ios
更詳細一點:這意味着數據集已徹底加載,Redis 已準備好鏈接。若是某些東西不能正常工做,它會顯示錯誤消息,例如「(error) LOADING Redis is loading the dataset in memory」。這將在加載 rdb/aof 文件或等待複製完成時返回。redis
經過使用 redis-cli,您能夠輕鬆使用info
命令和子命令來獲取更多統計信息和信息。數據庫
要重複命令,您能夠輕鬆使用兩個選項進行監控:redis - cli - r 5 - i 2 <command>
將執行<command>
5 次,間隔爲 2 秒。架構
使用這些命令,您能夠輕鬆地將 redis 集成到您的監控中。只需將 redis-cli 命令添加爲自定義參數,例如添加到 Zabbix 或 Nagios。您還可使用 prometheus 導出器從 redis 中獲取指標。框架
也許大家中的一些人會問本身,爲何咱們首先須要監控,由於 redis 的速度很是快。答案是:您說得對,redis 旨在爲每一個實例每秒處理大量查詢。但不幸的是,在大多數應用程序中,對平均響應時間和最壞狀況的延遲都有嚴格的要求。操作系統
儘管如此,由於 redis 有大量的命令,多且雜,也分爲三六九等。有些命令運行速度很快,並且運行速度爲常數或對數時間,而其餘命令則較慢,可能會致使延遲峯值。採用這種監控方式的其餘緣由是與操做系統的交互(例如磁盤持久性)和 redis 的單線程架構有關。命令行
自2.8.13版本起,redis 引入延遲監控,該命令有助於解決可能的延遲問題。如下機制是該框架的一部分:線程
在 redis 運行時,延遲監控能夠很容易地經過 CONFIG SET latency-monitor-threshold 100
啓用。尾數以毫秒爲單位定義時間。在咱們的示例中,每一個須要超過 100ms 的事件都將被記錄爲延遲峯值。日誌
延遲監控子系統的用戶界面是LATENCY命令。像許多其餘 Redis 命令同樣,LATENCY接受修改其行爲的子命令。這些子命令是:code
有關詳細信息,請參閱每一個子命令的文檔頁面
下一步多是啓用慢日誌。配置命令爲 config set slowlog-log-slower-than 1000
, 您能夠記錄每個持續時間更長,超過1000ms的事件。