目前来说,越来越多的使用多了NOSQL的业务,但是这方面的监控缺不多。今天给大家介绍几个专业监控redis服务的工具,便于大家进行redis性能分析。 一、redmon: 这个工具是用ruby语言写的,ruby是小鬼子弄出来的,个人真心觉得比较难用。这个语言的包需要安装
目前来说,越来越多的使用多了NOSQL的业务,但是这方面的监控缺不多。今天给大家介绍几个专业监控redis服务的工具,便于大家进行redis性能分析。
一、redmon:
这个工具是用ruby语言写的,ruby是小鬼子弄出来的,个人真心觉得比较难用。这个语言的包需要安装rvm(ruby version manager)来管理。所以首先要部署rvm的环境,虽然说不是很复杂,但是真心觉得不想用这个,以后有时间了会给大家介绍这个的。
二、redis-live
今天的主要目的是redis-live这个软件。相对于redmon来说,部署相对来说简单的多了,而且功能上面也丝毫不逊色于redmon。
下面开始介绍安装redis-live:
因为redis-live是基于python开发的,所以首先要部署所需要的python环境
1.wget http://dl.fedoraproject.org/pub/epel/6/x86_64/python-pip-0.8-1.el6.noarch.rpm 2.rpm -ivh python-pip-0.8-1.el6.noarch.rpm 3.pip-python install tornado 4.pip-python install redis 5.pip-python install python-dateutil 6.pip-python install argparse
环境部署完了之后,就需要开始安装软件了。
git clone https://github.com/kumarnitin/RedisLive.git Initialized empty Git repository in /root/RedisLive/.git/ remote: Counting objects: 715, done. remote: Compressing objects: 100% (377/377), done. remote: Total 715 (delta 338), reused 699 (delta 323) Receiving objects: 100% (715/715), 2.59 MiB | 353 KiB/s, done. Resolving deltas: 100% (338/338), done.
因为没有打包的安装包,所以只能下载安装git的源码。
安装好之后就可以配置了:
cd RedisLive/src vi redis-live.conf { "RedisServers": [ { "server" : "127.0.0.1", "port" : 6379 } ], "DataStoreType" : "sqlite", "RedisStatsServer": { "server" : "127.0.0.1", "port" : 6381 } }
RedisServers这个是redis服务器的配置。
RedisStatsServer是redis服务器的监控信息可以存放在其他的redis服务器中.也就是RedisStatsServe.
一般的是把”DataStoreType”改成sqlite类型的,下面的RedisStatsServer就不用配置了.
注:因为有些redis服务器是需要密码进行访问的,所以如果有密码的话,需要在RedisServers里面写上密码:如下:
"RedisServers": [ { "server" : "127.0.0.1", "port" : 6379, "password":"xxxxxx" } ],
配置好之后,就可以启动服务了。
./redis-monitor.py –duration 120 &
./redis-live.py &
注:启动服务之后,如果访问web页面的话,会在当前终端输出日志,如果不想在终端输出,可以查看redis-live.py的参数
[root@localhost src]# ./redis-live.py --help Usage: ./redis-live.py [OPTIONS] Options: --help show this help information --log_file_max_size max size of log files before rollover (default 100000000) --log_file_num_backups number of log files to keep (default 10) --log_file_prefix=PATH Path prefix for log files. Note that if you are running multiple tornado processes, log_file_prefix must be different for each of them (e.g. include the port number) --log_to_stderr Send log output to stderr (colorized if possible). By default use stderr if --log_file_prefix is not set and no other logging is configured. --logging=debug|info|warning|error|none Set the Python log level. If 'none', tornado won't touch the logging configuration. (default info)
可以看到有日志大小,路径,级别等等的选项。
最后来看下监控效果图: