記錄是一種精神拴驮,是加深理解最好的方式之一楞陷。
最近學(xué)習(xí)了怎么使用RedisLive對(duì)Redis進(jìn)行運(yùn)行監(jiān)控韵洋,提筆記下捧颅。
曹金桂 cao_jingui@163.com(如有遺漏之處還請(qǐng)指教)
時(shí)間:2016年11月26日10:30
本文參考自http://www.nkrode.com/article/real-time-dashboard-for-redis
1. 概述
Redis Live是一個(gè)用來(lái)監(jiān)控redis實(shí)例景图,分析查詢語(yǔ)句并且有web界面的監(jiān)控工具,使用python編寫碉哑。
本文編寫時(shí)使用環(huán)境為Centos 64位系統(tǒng)挚币。
2. 安裝python環(huán)境
RedisLive使用python編寫,運(yùn)行時(shí)需要python環(huán)境支持
- yum install python-setuptools
- easy_install pip
- pip install tornado
- pip install redis
- pip install python-dateutil
- pip install argparse (python版本低于2.7需要安裝扣典,可使用python查看版本)
3. 安裝RedisLive
- git clone https://github.com/kumarnitin/RedisLive.git (使用yum install git按照git環(huán)境)
- 修改redis-live.conf配置文件妆毕,說(shuō)明如下
{
"RedisServers": //數(shù)組配置多個(gè)待監(jiān)控的Reids實(shí)例
[
{
"server": "192.168.2.128",
"port" : 6379
},
{
"server": "localhost",
"port" : 6380,
"password" : "some-password" //指定Redis服務(wù)連接密碼
}
],
"DataStoreType" : "sqlite", //監(jiān)控?cái)?shù)據(jù)存儲(chǔ)[redis|sqlite]
"RedisStatsServer": //DataStoreType=redis時(shí)候,指定redis連接地址
{
"server" : "127.0.0.1",
"port" : 6385
},
"SqliteStatsStore" : //DataStoreType=sqlite,指定db路徑
{
"path": "/usr/local/RedisLive/src/db/redislive.db"
}
}
4. 啟動(dòng)監(jiān)控程序
- ./redis-monitor.py --duration=120 & #啟動(dòng)監(jiān)控腳本 [duration監(jiān)控持續(xù)時(shí)間(秒)]
- ./redis-live.py & #啟動(dòng)web服務(wù)
- 使用瀏覽器打開(kāi)http://localhost:8888/index.html查看監(jiān)控頁(yè)面
4. 注意
- 監(jiān)控開(kāi)啟后會(huì)影響到Redis的性能贮尖,所以建議定時(shí)監(jiān)控而不是實(shí)時(shí)監(jiān)控笛粘。
- 定時(shí)運(yùn)行nohup ./redis-monitor.py --duration=秒數(shù) & (建議使用crontab定時(shí)運(yùn)行)
- 做采樣時(shí),請(qǐng)合理配置采樣秒數(shù)湿硝;系統(tǒng)定時(shí)運(yùn)行采樣腳本的頻率建議不要太頻繁
官方參考
http://www.nkrode.com/article/real-time-dashboard-for-redis