Redis需要监控才知道具体运行信息,虽然Redis也提供了info等命令行,但是毕竟不方便而且不能保存历史信息。
redis-stat是一个用ruby写成的监控redis的程序,基于info命令获取信息,而不是通过monitor获取信息。
安装ruby环境
Redis-stat用ruby写成,第一步当然是安装ruby环境。很多习惯于使用centos的同学会直接使用yuminstall ruby来安装,实际上网上很多资料也是使用这种安装方式:
yum install gcc-c++
yum -y install ruby-devel
yum install ruby
yum install rubygems git
理论上来说这种方式没有什么问题,安装完执行ruby --version后发现确实正确执行了,输出了版本信息。不过在安装redis-stat的时候报错了,ruby过低,要求至少1.9以上版本,yum方式安装的是1.8的版本。没办法,只能采用源码编译的方式安装了。
Yum方式安装编译库,完善系统环境:
Yum install –y gcc* openssl* wget
yum -y install readline-devel(这个包与安装ruby环境无关,但是redis-stat运行的时候会用到,否则启动的时候报错)
(yum还是很方便的,能用yum解决的就不用源码编译方式解决)
执行如下命令,一步一步安装ruby环境,最后执行ruby –version,看安装是否成功
wget https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.3.tar.gz
tar zxvf ruby-2.2.3.tar.gz
cd ruby-2.2.3
./configure --prefix=/usr/local/ruby
make
make install
ln -sf /usr/local/ruby/bin/* /usr/bin/
安装openssl支持(使用net-ssh时,必须)
cd ruby-2.2.3(源码)/ext/openssl
ruby extconf.rb
make
make install
注:make时可能会报错
make: *** No rule to make target `/include/ruby.h', needed by`ossl_x509revoked.o'. Stop.
解决方法:修改Makefile 在最上面增加变量 top_srcdir = ../.. 即可
修改gem源为国内源
gem sources --remove https://rubygems.org/
gem sources -a https://ruby.taobao.org/
gem sources –l
安装redis-stat
git clone https://github.com/junegunn/redis-stat.git
gem install redis-stat
很多资料都写着执行这两个命令就可以成功安装redis-stat了。但是在运行git clone的时候会提示不是正确的http链接,可能是访问被限制了。没办法,只能先在本地从网站上把代码下载下来,在这个地方要注意一点的是本地git clone后打包到服务器上的时候不能正常安装,会提示没有本地repository,需要在网站上直接下载zip包,然后上传服务器解压。
安装完后启动redis-stat
进入解压的redis-stat/bin目录,执行./redis-stat 1,会输出redis-stat的信息。
命令行启动
# redis-stat xxx.xxx.xxx.xxx:6380 1 10
以webserver的形式启动
# ./redis-stat xxx.xxx.xxx.xxx:6379--server=8080 5 –daemon
更多命令参考help
# redis-stat–help
usage:redis-stat [HOST[:PORT] ...] [INTERVAL [COUNT]]
-a, --auth=PASSWORD Password
-v, --verbose Show more info
--style=STYLE Output style: unicode|ascii
--no-color Suppress ANSI color codes
--csv[=CSV_FILE] Print or save the result in CSV
--es=ELASTICSEARCH_URL Send results to ElasticSearch: [http://]HOST[:PORT][/INDEX]
--server[=PORT] Launch redis-stat web server (default port: 63790)
--daemon Daemonize redis-stat. Must be usedwith --server option.
--version Show version
--help Show this message
关注微信公众号和今日头条,精彩文章持续更新中。。。。。