Redis监控工具—Redis-stat、RedisLive

来源:互联网 发布:nba2k online mac 编辑:程序博客网 时间:2024/05/17 04:20
Redis-stat(Ruby)和Redis Live(python)是两款Redis监控工具,下面将介绍如何安装部署这两个工具,监控Redis运行情况
[Plain Text] 纯文本查看 复制代码
?
1
2
3
4
5
6
1
测试环境:
  Ubuntu 14.04 LTS x64
  Redis redis-3.0.7.tar.gz
  Ruby ruby 1.9.3
  Python 2.7.6


Redis 安装
Redis安装请参照:Redis安装与配置

Redis-stat 安装部署
redis-stat is a simple Redis monitoring tool written in Ruby.
It is based on INFO command of Redis, and thus generally won’t affect the performance of the Redis instance unlike the other monitoring tools based on MONITOR command.
redis-stat allows you to monitor Redis instances
  • either with vmstat-like output from the terminal
  • or with the dashboard page served by its embedded web server.

通常来说,不会像基于MONITOR命令的监控工具一样,对Redis本身有性能上的影响

Gitbuh地址

卸载原有Ruby

[Shell] 纯文本查看 复制代码
?
1
sudoapt-get autoremove --purge ruby*


安装Ruby
[Shell] 纯文本查看 复制代码
?
1
sudoapt-get installruby-full


安装Redis-stat

[Shell] 纯文本查看 复制代码
?
1
geminstallredis-stat


基本使用
  • redis-stat命令参数
[Plain Text] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
usage: redis-stat [HOST[:PORT] ...] [INTERVAL [COUNT]]
 
    -a, --auth=PASSWORD             设置密码
    -v, --verbose                   显示更多信息
        --style=STYLE               输出编码类型: unicode|ascii
        --no-color                  取消ANSI颜色编码
        --csv=OUTPUT_CSV_FILE_PATH  以CSV格式存储结果
        --es=ELASTICSEARCH_URL      把结果发送到 ElasticSearch: [http://]HOST[:PORT][/INDEX]
 
        --server[=PORT]             运行redis-stat的web server (默认端口号: 63790)
        --daemon                    使得redis-stat成为进程。必须使用 --server 选项
         
        --version                   显示版本号
        --help                      显示帮助信息


  • redis-stat运行命令行监控
[] 纯文本查看 复制代码
?
1
2
3
4
5
6
7
redis-stat
redis-stat 1
redis-stat 1 10
redis-stat --verbose
redis-stat localhost:6380 1 10
redis-stat localhost localhost:6380 localhost:6381 5
redis-stat localhost localhost:6380 1 10 --csv=/tmp/outpu.csv --verbose


  • Server端运行界面

 

  • Web界面中的redis-stat

当设置–server选项之后,redis-stat会在后台启动一个嵌入式的web server(默认端口号:63790),可以让你在浏览器中监控Redis

[Shell] 纯文本查看 复制代码
?
1
2
3
4
5
6
7
8
redis-stat --server
redis-stat --verbose --server=8080 5
 
# redis-stat server can be daemonized
redis-stat --server --daemon
 
# Kill the daemon
killall -9 redis-stat-daemon

  • Web端运行界面

然后在你的浏览器中输入:

[Plain Text] 纯文本查看 复制代码
?
1
http://你的Redis IP:63790

 

RedisLive 安装部署
Redis Live is a dashboard application with a number of useful widgets. At it’s heart is a monitoring script that periodically issues INFO and MONITOR command to the redis instances and stores the data for analytics.

长时间运行对Redis性能有所影响

Gitbuh地址

Real time dashboard for redis

安装运行依赖
  • tornado

[Shell] 纯文本查看 复制代码
?
1
pipinstalltornado


  • redis.py

[Shell] 纯文本查看 复制代码
?
1
pipinstallredis


  • python-dateutil

[Shell] 纯文本查看 复制代码
?
1
pipinstallpython-dateutil


下载RedisLive
[Shell] 纯文本查看 复制代码
?
1
git clone [url=https://github.com/kumarnitin/RedisLive.git]https://github.com/kumarnitin/RedisLive.git[/url]


conf配置
进入src目录

[Shell] 纯文本查看 复制代码
?
1
cpredis-live.conf.example ./redis-live.conf
[Shell] 纯文本查看 复制代码
?
1
vim redis-live.conf
[Plain Text] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
        "RedisServers": 
        [  
                
                  "server" : "你的Redis IP地址", 
                  "port"  : 6379 
                }
                ........
                可以多个
        ], 
           
  
        "DataStoreType" : "redis", 
  
        "RedisStatsServer": 
        
                "server" : "你的Redis 监控IP地址", 
                "port" : 6379 
        },
         
        "SqliteStatsStore" :
        {
                "path":  "to your sql lite file"
        }
}

  • 其中RedisServers为你要监控的redis实例,可以添加多个,RedisStatsServer是存储RedisLive监控数据的实例,如果redis有密码,可以在实例配置中加入password选项;如果没有存储RedisLive数据的实例,需要将DataStoreType改成”DataStoreType” : “sqlite”这种设置

启动RedisLive

  • 启动监控脚本,监控120秒,duration参数是以秒为单位

[Shell] 纯文本查看 复制代码
?
1
sudo./redis-monitor.py --duration=120


  • 启动webserver。
    RedisLive使用tornado作为web服务器,所以不需要单独安装服务器
    Tornado web server 是使用Python编写出來的一个极轻量级、高可伸缩性和非阻塞IO的Web服务器软件

[Shell] 纯文本查看 复制代码
?
1
sudo./redis-live.py


Web运行界面
然后在你的浏览器中输入:

[Plain Text] 纯文本查看 复制代码
?
1
http://你的Redis IP:8888/index.html


http://www.aboutyun.com/forum.php?mod=viewthread&tid=17907

0 0