• Redis监控之redis-stat


    Redis监控之redis-stat

    监控的界面比较简单,也没有邮件报警之类的功能。

    命令行界面:

    web界面(记得关闭防火墙):

    安装的方式有3种

    1.java -jar启动jar包

    2.安装ruby后使用gem install redis-stat在线联网安装

    3.安装ruby后,gem离线安装

    其中,第1种最简单,这里先介绍第1种方式。

    java -jar启动jar包

    下载链接:https://github.com/junegunn/redis-stat/releases

    安装java环境:rpm -ivh jdk-8u301-linux-x64.rpm

    启动:java -jar redis-stat-0.4.14.jar 192.168.1.214:6380 192.168.1.214:6379 192.168.1.214:6381 --server=8090 --verbose

    这样就完成了。

    web访问使用192.168.1.179:8090即可。

    也可以使用nohup java -jar redis-stat-0.4.14.jar 192.168.1.214:6380 192.168.1.214:6379 192.168.1.214:6381 --server=8090 --verbose &放后台执行,但是要立刻exit推出SecureCRT会话。不然会报如下错误:

    [root@node3 redis-stat]# nohup java -jar redis-stat-0.4.14.jar 192.168.1.214:6380 192.168.1.214:6379 192.168.1.214:6381 --server=8090 --verbose &
    [1] 12387
    [root@node3 redis-stat]# nohup: ignoring input and appending output to ‘nohup.out’
    [root@node3 redis-stat]# 
    [1]+  Stopped                 nohup java -jar redis-stat-0.4.14.jar 192.168.1.214:6380 192.168.1.214:6379 192.168.1.214:6381 --server=8090 --verbose
    [root@node3 redis-stat]# jobs
    [1]+  Stopped                 nohup java -jar redis-stat-0.4.14.jar 192.168.1.214:6380 192.168.1.214:6379 192.168.1.214:6381 --server=8090 --verbose

    搞不懂。

    另外两种方式均需要安装ruby功能。

    参考我的另外一篇博客:ruby安装指南

    安装ruby后使用gem install redis-stat在线联网安装

    使用gem install redis-stat安装即可。

    如果是通过yum安装的ruby,在CentOS Linux 7下,有ruby版本过低的问题。

    [root@node1 ~]# ruby -v
    ruby 2.0.0p648 (2015-12-16) [x86_64-linux]
    [root@node1 ~]# gem install redis-stat
    ERROR:  Error installing redis-stat:
            faraday-em_http requires Ruby version >= 2.4.0.

    估计是redis-stat版本过高,但是安装指定的redis-stat又报错另外的。

    [root@node1 ~]# gem install redis-stat --version 0.3.9
    Building native extensions.  This could take a while...
    ERROR:  Error installing redis-stat:
            ERROR: Failed to build gem native extension.
    
        /usr/bin/ruby extconf.rb
    mkmf.rb can't find header files for ruby at /usr/share/include/ruby.h
    
    
    Gem files will remain installed in /usr/local/share/gems/gems/eventmachine-1.2.7 for inspection.
    Results logged to /usr/local/share/gems/gems/eventmachine-1.2.7/ext/gem_make.out

    通过编译安装的ruby,版本比较高则不会有问题。

    [root@node2 ~]# ruby -v
    ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux]
    [root@node2 ~]# gem -v
    3.2.22
    [root@node2 ~]# gem install redis-stat
    Fetching eventmachine-1.2.7.gem
    Fetching daemons-1.1.9.gem
    Fetching thin-1.5.1.gem
    Fetching unicode-display_width-2.0.0.gem
    Fetching tabularize-0.2.10.gem
    Fetching rack-protection-1.5.5.gem
    Fetching rack-1.6.13.gem
    Fetching tilt-1.4.1.gem
    Fetching sinatra-1.3.6.gem
    Fetching si-0.1.4.gem
    Fetching redis-3.0.7.gem
    Fetching parallelize-0.4.1.gem
    Fetching option_initializer-1.5.1.gem
    Fetching lps-0.2.1.gem
    Fetching json-1.8.6.gem
    Fetching insensitive_hash-0.3.3.gem
    Fetching multi_json-1.15.0.gem
    Fetching ruby2_keywords-0.0.5.gem
    Fetching multipart-post-2.1.1.gem
    Fetching faraday-patron-1.0.0.gem
    Fetching faraday-net_http_persistent-1.2.0.gem
    Fetching faraday-net_http-1.0.1.gem
    Fetching faraday-httpclient-1.0.1.gem
    Fetching faraday-excon-1.1.0.gem
    Fetching redis-stat-0.4.14.gem
    Fetching faraday-em_synchrony-1.0.0.gem
    Fetching faraday-em_http-1.0.0.gem
    Fetching faraday-1.5.1.gem
    Fetching elasticsearch-transport-1.0.18.gem
    Fetching elasticsearch-api-1.0.18.gem
    Fetching elasticsearch-1.0.18.gem
    Fetching ansi256-0.2.5.gem
    Successfully installed rack-1.6.13
    Building native extensions. This could take a while...
    Successfully installed eventmachine-1.2.7
    Successfully installed daemons-1.1.9
    Building native extensions. This could take a while...
    Successfully installed thin-1.5.1
    Successfully installed unicode-display_width-2.0.0
    Successfully installed tabularize-0.2.10
    Successfully installed tilt-1.4.1
    Successfully installed rack-protection-1.5.5
    Successfully installed sinatra-1.3.6
    Successfully installed si-0.1.4
    Successfully installed redis-3.0.7
    Successfully installed parallelize-0.4.1
    Successfully installed option_initializer-1.5.1
    Successfully installed lps-0.2.1
    Building native extensions. This could take a while...
    Successfully installed json-1.8.6
    Successfully installed insensitive_hash-0.3.3
    Successfully installed multi_json-1.15.0
    Successfully installed ruby2_keywords-0.0.5
    Successfully installed multipart-post-2.1.1
    Successfully installed faraday-patron-1.0.0
    Successfully installed faraday-net_http_persistent-1.2.0
    Successfully installed faraday-net_http-1.0.1
    Successfully installed faraday-httpclient-1.0.1
    Successfully installed faraday-excon-1.1.0
    Successfully installed faraday-em_synchrony-1.0.0
    Successfully installed faraday-em_http-1.0.0
    Successfully installed faraday-1.5.1
    Successfully installed elasticsearch-transport-1.0.18
    Successfully installed elasticsearch-api-1.0.18
    Successfully installed elasticsearch-1.0.18
    Successfully installed ansi256-0.2.5
    Successfully installed redis-stat-0.4.14
    Parsing documentation for rack-1.6.13
    Installing ri documentation for rack-1.6.13
    Parsing documentation for eventmachine-1.2.7
    Installing ri documentation for eventmachine-1.2.7
    Parsing documentation for daemons-1.1.9
    Installing ri documentation for daemons-1.1.9
    Parsing documentation for thin-1.5.1
    Installing ri documentation for thin-1.5.1
    Parsing documentation for unicode-display_width-2.0.0
    Installing ri documentation for unicode-display_width-2.0.0
    Parsing documentation for tabularize-0.2.10
    Installing ri documentation for tabularize-0.2.10
    Parsing documentation for tilt-1.4.1
    Installing ri documentation for tilt-1.4.1
    Parsing documentation for rack-protection-1.5.5
    Installing ri documentation for rack-protection-1.5.5
    Parsing documentation for sinatra-1.3.6
    Installing ri documentation for sinatra-1.3.6
    Parsing documentation for si-0.1.4
    Installing ri documentation for si-0.1.4
    Parsing documentation for redis-3.0.7
    Installing ri documentation for redis-3.0.7
    Parsing documentation for parallelize-0.4.1
    Installing ri documentation for parallelize-0.4.1
    Parsing documentation for option_initializer-1.5.1
    Installing ri documentation for option_initializer-1.5.1
    Parsing documentation for lps-0.2.1
    Installing ri documentation for lps-0.2.1
    Parsing documentation for json-1.8.6
    Installing ri documentation for json-1.8.6
    Parsing documentation for insensitive_hash-0.3.3
    Installing ri documentation for insensitive_hash-0.3.3
    Parsing documentation for multi_json-1.15.0
    Installing ri documentation for multi_json-1.15.0
    Parsing documentation for ruby2_keywords-0.0.5
    Installing ri documentation for ruby2_keywords-0.0.5
    Parsing documentation for multipart-post-2.1.1
    Installing ri documentation for multipart-post-2.1.1
    Parsing documentation for faraday-patron-1.0.0
    Installing ri documentation for faraday-patron-1.0.0
    Parsing documentation for faraday-net_http_persistent-1.2.0
    Installing ri documentation for faraday-net_http_persistent-1.2.0
    Parsing documentation for faraday-net_http-1.0.1
    Installing ri documentation for faraday-net_http-1.0.1
    Parsing documentation for faraday-httpclient-1.0.1
    Installing ri documentation for faraday-httpclient-1.0.1
    Parsing documentation for faraday-excon-1.1.0
    Installing ri documentation for faraday-excon-1.1.0
    Parsing documentation for faraday-em_synchrony-1.0.0
    Installing ri documentation for faraday-em_synchrony-1.0.0
    Parsing documentation for faraday-em_http-1.0.0
    Installing ri documentation for faraday-em_http-1.0.0
    Parsing documentation for faraday-1.5.1
    Installing ri documentation for faraday-1.5.1
    Parsing documentation for elasticsearch-transport-1.0.18
    Installing ri documentation for elasticsearch-transport-1.0.18
    Parsing documentation for elasticsearch-api-1.0.18
    Installing ri documentation for elasticsearch-api-1.0.18
    Parsing documentation for elasticsearch-1.0.18
    Installing ri documentation for elasticsearch-1.0.18
    Parsing documentation for ansi256-0.2.5
    Installing ri documentation for ansi256-0.2.5
    Parsing documentation for redis-stat-0.4.14
    Installing ri documentation for redis-stat-0.4.14
    Done installing documentation for rack, eventmachine, daemons, thin, unicode-display_width, tabularize, tilt, rack-protection, sinatra, si, redis, parallelize, option_initializer, lps, json, insensitive_hash, multi_json, ruby2_keywords, multipart-post, faraday-patron, faraday-net_http_persistent, faraday-net_http, faraday-httpclient, faraday-excon, faraday-em_synchrony, faraday-em_http, faraday, elasticsearch-transport, elasticsearch-api, elasticsearch, ansi256, redis-stat after 17 seconds
    32 gems installed
    View Code

    就是使用redis-stat报错。。。

    [root@node2 ~]# 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 used with --server option.
    
            --version                    Show version
            --help                       Show this message
    [root@node2 ~]# 
    [root@node2 ~]# 
    [root@node2 ~]# 
    [root@node2 ~]# redis-stat 192.168.1.214:6380 
    undefined method `display_width' for "┌────────────────────────":String
    Did you mean?  display

    目前尚未找到解决方法。

    感觉是ruby版本过高导致的,有时间试试2.4.0版本的ruby。

    安装ruby后,gem离线安装

    待补充。

  • 相关阅读:
    网络编程
    GUI编程
    Java数组
    Day24
    Day23
    Day22
    Day21
    Day20
    Day19
    Day18
  • 原文地址:https://www.cnblogs.com/PiscesCanon/p/15080098.html
Copyright © 2020-2023  润新知