linux redis 监控工具,Redis服务器监控工具redis-live

目前来说,越来越多的使用多了NOSQL的业务,但是这方面的监控缺不多。今天给大家介绍几个专业监控redis服务的工具,便于大家进行redis性能分析。

一、redmon

这个工具是用ruby语言写的,ruby是小鬼子弄出来的,个人真心觉得比较难用。这个语言的包需要安装rvm(ruby version manager)来管理。所以首先要部署rvm的环境,虽然说不是很复杂,但是真心觉得不想用这个,以后有时间了会给大家介绍这个的。

二、redis-live

Github 下载: RedisLive

Centos 安装 python-pip

2) 直接下载: wget https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz

3) 解压安装: tar zxvf pip-1.5.6.tar.gz ;   python setup.py install

Centos 安装setuptools

2) 直接下载: wget https://pypi.python.org/packages/source/s/setuptools/setuptools-5.4.1.tar.gz#md5=3540a44b90017cbb851840934156848e

3) 解压安装:tar zxvf setuptools-5.4.1.tar.gz ;  python setup.py install

今天的主要目的是redis-live这个软件。相对于redmon来说,部署相对来说简单的多了,而且功能上面也丝毫不逊色于redmon

安装redis-live:

因为redis-live是基于python开发的,所以首先要部署所需要的python环境

wget http://dl.fedoraproject.org/pub/epel/6/x86_64/python-pip-0.8-1.el6.noarch.rpm

rpm -ivh python-pip-0.8-1.el6.noarch.rpm

pip install tornado

pip install redis// 需安装,跟redis-server不同

pip install python-dateutil

pip 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的源码

Install Dependencies

tornado pip install tornado

redis.py pip install redis

python-dateutil pip install python-dateutil

You'll also need argparse if you're running Python < 2.7:

argparse pip install argparse

Get RedisLive

Clone the repo git clone https://github.com/kumarnitin/RedisLive.git , ordownload the latest release

Configuration

edit redis-live.conf :

update the value of the key RedisServers to the redis instances you want to monitor. You can monitor multiple instances by appending more values to the RedisServers list.

update the value of the key RedisStatsServer to the redis instance you will use to store RedisLive data (this redis instance is different from the redis instances you are monitoring).

passwords can be added as an optional parameter for any redis instance

if you don't have a spare redis instance to use to store Redis Live data, then you can configure to use sqlite by changing "DataStoreType" : "sqlite"

Start RedisLive

start the monitoring script ./redis-monitor.py --duration=120 duration is in seconds (see caveat)

start the webserver ./redis-live.py

Caveat on monitoring redis

Currently the only hook into monitoring a redis instance is Redis MONITOR command, which streams back every command processed and reduces the throughput of the redis instance. It is recommended to run redis-monitor with --duration suitable for your redis deployment and scheduling it to run periodically as a cron job.

安装好之后就可以配置了:

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

}

"SqliteStatsStore" :

{

"path": "db/redislive.sqlite"

}

}

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)

可以看到有日志大小,路径,级别等等的选项。

最后来看下监控效果图:

2320eb87610b802fd6f5bf7bcddc0895.png

参考推荐:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值