浅谈Redis服务的集中监控

本文主要介绍在centos6.3上redmon和redis-live两款开源软件的使用情况,前者基于ruby,后者则基于python,从部署难度和功能上,我更青睐于后者!

一:redmon的安装和使用
1:安装rvm,rvm是ruby version manager的缩写,ruby语言是鬼子弄出来的,虽然不是程序员,我也一直不待见,真心觉得难用!


  1. #bash <<(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)

  2. # echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile

2:查看可用的ruby版本


  1. # /usr/local/rvm/bin/rvm list known

3:通过rvm安装ruby


  1. # /usr/local/rvm/bin/rvm install 1.9.2

  2. # /usr/local/rvm/bin/rvm alias create default ruby-1.9.2-p320

  3. # /usr/local/rvm/bin/rvm list

  4. rvm rubies

  5. =* ruby-1.9.2-p320 [ x86_64 ]

  6. # => - current

  7. # =* - current && default

  8. # * - default

  9. # ruby -v

  10. ruby 1.9.2p320 (2012-04-20 revision 35421) [x86_64-linux]

4:通过gem安装bundler


  1. # gem install bundler

5:通过git获取redmon源代码并安装


  1. # git clone https://github.com/steelThread/redmon.git
    Initialized empty Git repository in /root/redmon/.git/
    remote: Counting objects: 975, done.
    remote: Compressing objects: 100% (506/506), done.
    remote: Total 975 (delta 483), reused 928 (delta 436)
    Receiving objects: 100% (975/975), 2.57 MiB | 714 KiB/s, done.
    Resolving deltas: 100% (483/483), done.

  1. # grep -A 4 'option :redis_url' redmon/bin/redmon
    option :redis_url,
    :short => '-r URL',
    :long => '--redis URL',
    :default => 'redis://192.168.1.78:6377',
    :description => "The Redis url for monitor (default: redis://192.168.1.78:6377)"

  1. # grep -A 9 'class Config' redmon/lib/redmon/config.rb
    class Config
    DEFAULTS = {
    :namespace => 'redmon',
    :redis_url => 'redis://192.168.1.78:6377',
    :app => true,
    :worker => true,
    :web_interface => ['0.0.0.0', 4567],
    :poll_interval => 10,
    :secure => false
    }

  1. # cd redmon/
    # bundle exec /root/redmon/bin/redmon
    >> Maximum connections set to 1024
    >> Listening on 0.0.0.0:4567, CTRL+C to stop
    [12-09-25 11:03:20] listening on http#0.0.0.0:4567

6:web接口情况,使用上存在无法添加对多个redis实例的监控

163404750.png

redmon监控安装参考下列文章,在此感谢作者分享!
http://wangliang.me/?p=84
https://github.com/steelThread/redmon

二:redis-live的安装和使用,同redmon相比,添加多个redis实例监控显得非常容易!而且实时性强,大赞!


  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

  7. # git clone https://github.com/kumarnitin/RedisLive.git

  8. Initialized empty Git repository in /root/RedisLive/.git/

  9. remote: Counting objects: 715, done.

  10. remote: Compressing objects: 100% (377/377), done.

  11. remote: Total 715 (delta 338), reused 699 (delta 323)

  12. Receiving objects: 100% (715/715), 2.59 MiB | 353 KiB/s, done.

  13. Resolving deltas: 100% (338/338), done.

  14. # cd RedisLive/src

  15. # cat redis-live.conf

  16. {

  17. "RedisServers":

  18. [

  19. {

  20. "server" : "192.168.1.78",

  21. "port" : 6377

  22. },

  23. {

  24. "server" : "192.168.1.78",

  25. "port" : 6380

  26. },

  27. {

  28. "server" : "192.168.1.78",

  29. "port" : 6381

  30. }

  31. ],

  32. "DataStoreType" : "sqlite",

  33. "RedisStatsServer":

  34. {

  35. "server" : "127.0.0.1",

  36. "port" : 6381

  37. }

  38. }

  39. # ./redis-monitor.py --duration 120 &

  40. # ./redis-live.py &

  41. # netstat -ntpl |grep python

  42. tcp 0 0 0.0.0.0:8888 0.0.0.0:* LISTEN 6652/python

  43. tcp 0 0 :::8888 :::* LISTEN 6652/python

web接口情况:

163632170.png

官方文档:http://www.nkrode.com/article/real-time-dashboard-for-redis

你可能感兴趣的:(manager,python,程序员,version,开源软件)