12【在线日志分析】之RedisLive监控工具的详细安装

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: GitHub: https://github.com/nkrode/RedisLive 1.安装python2.7.5 和piphttp://blog.

GitHub: https://github.com/nkrode/RedisLive


1.安装python2.7.5 和pip
http://blog.itpub.net/30089851/viewspace-2132450/

2.下载RedisLive
[root@sht-sgmhadoopdn-04 app]# wget https://github.com/nkrode/RedisLive/archive/master.zip
[root@sht-sgmhadoopdn-04 app]# unzip master
[root@sht-sgmhadoopdn-04 app]# mv RedisLive-master RedisLive
[root@sht-sgmhadoopdn-04 app]# cd RedisLive/
[root@sht-sgmhadoopdn-04 RedisLive]# ll
total 20
drwxr-xr-x 2 root root 4096 Aug 20  2015 design
-rw-r--r-- 1 root root 1067 Aug 20  2015 MIT-LICENSE.txt
-rw-r--r-- 1 root root  902 Aug 20  2015 README.md
-rw-r--r-- 1 root root   58 Aug 20  2015 requirements.txt
drwxr-xr-x 7 root root 4096 Aug 20  2015 src
[root@sht-sgmhadoopdn-04 RedisLive]#

3.查看版本要求(刚开始安装没注意版本,直接pip导致后面各种问题,所以请仔细看下面过程)
[root@sht-sgmhadoopdn-04 RedisLive]# cat requirements.txt
argparse==1.2.1
python-dateutil==1.5
redis
tornado==2.1.1

[root@sht-sgmhadoopdn-04 RedisLive]# cd ../

4.pip安装环境要求
[root@sht-sgmhadoopdn-04 app]# pip install tornado
[root@sht-sgmhadoopdn-04 app]# pip install redis
[root@sht-sgmhadoopdn-04 app]# pip install python-dateutil
[root@sht-sgmhadoopdn-04 app]# pip install argparse


5.进入 /root/learnproject/app/RedisLive/src目录,配置redis-live.conf文件

[root@sht-sgmhadoopdn-04 app]# cd -
/root/learnproject/app/RedisLive
[root@sht-sgmhadoopdn-04 RedisLive]# cd src
[root@sht-sgmhadoopdn-04 src]# ll
total 40
drwxr-xr-x 4 root root 4096 Aug 20  2015 api
drwxr-xr-x 2 root root 4096 Aug 20  2015 dataprovider
drwxr-xr-x 2 root root 4096 Aug 20  2015 db
-rw-r--r-- 1 root root    0 Aug 20  2015 __init__.py
-rw-r--r-- 1 root root  381 Aug 20  2015 redis-live.conf.example
-rwxr-xr-x 1 root root 1343 Aug 20  2015 redis-live.py
-rwxr-xr-x 1 root root 9800 Aug 20  2015 redis-monitor.py
drwxr-xr-x 2 root root 4096 Aug 20  2015 util
drwxr-xr-x 4 root root 4096 Aug 20  2015 www
You have mail in /var/spool/mail/root
[root@sht-sgmhadoopdn-04 src]#
[root@sht-sgmhadoopdn-04 src]# cp redis-live.conf.example redis-live.conf
[root@sht-sgmhadoopdn-04 src]#
[root@sht-sgmhadoopdn-04 src]# vi redis-live.conf
{
        "RedisServers":
        [
                {
                        "server": "172.16.101.66",
                        "port" : 6379
                }

        ],

        "DataStoreType" : "redis",

        "RedisStatsServer":
        {
          "server" : "172.16.101.66",
          "port" : 6379
        }
}
~


6.第一次尝试启动redis-monitor.py抛错 _sqlite3

[root@sht-sgmhadoopdn-04 src]# ./redis-monitor.py --duration 120
ImportError: No module named _sqlite3

[root@sht-sgmhadoopdn-04 src]# yum install -y sqlite-devel
[root@sht-sgmhadoopdn-04 src]# yum install -y sqlite

[root@sht-sgmhadoopdn-04 ~]# find / -name _sqlite3.so
/usr/local/python27/lib/python2.7/lib-dynload/_sqlite3.so
/usr/local/Python-2.7.5/build/lib.linux-x86_64-2.7/_sqlite3.so
/usr/lib64/python2.6/lib-dynload/_sqlite3.so

[root@sht-sgmhadoopdn-04 ~]# cp /usr/local/python27/lib/python2.7/lib-dynload/_sqlite3.so /usr/local/lib/python2.7/lib-dynload/
[root@sht-sgmhadoopdn-04 ~]# python
Python 2.7.5 (default, Sep 17 2016, 15:34:31)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite3
>>>

参考: http://ju.outofmemory.cn/entry/97658


7.第二次尝试启动redis-monitor.py抛错 redis

[root@sht-sgmhadoopdn-04 src]# ./redis-monitor.py --duration 120
ImportError: No module named redis

[root@sht-sgmhadoopdn-04 src]# find / -name redis
/etc/rc.d/init.d/redis
/root/learnproject/app/redis
/root/learnproject/app/redis-monitor/src/main/java/sun/redis
/root/learnproject/app/redis-monitor/src/test/java/sun/redis
/usr/local/redis
/usr/local/python27/lib/python2.7/site-packages/redis
[root@sht-sgmhadoopdn-04 src]#
[root@sht-sgmhadoopdn-04 src]# cp -r  /usr/local/python27/lib/python2.7/site-packages/redis  /usr/local/lib/python2.7/lib-dynload/
[root@sht-sgmhadoopdn-04 src]# python
Python 2.7.5 (default, Sep 17 2016, 15:34:31)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import redis
>>>

8.第三次尝试启动redis-monitor.py,成功;按ctrl+c中断掉

[root@sht-sgmhadoopdn-04 src]# ./redis-monitor.py --duration 120
^Cshutting down...
You have mail in /var/spool/mail/root
[root@sht-sgmhadoopdn-04 src]#

 

9.尝试第一次启动redis-live.py ,tornado.ioloop

[root@sht-sgmhadoopdn-04 src]# ./redis-live.py
Traceback (most recent call last):
  File "./redis-live.py", line 3, in <module>
    import tornado.ioloop
ImportError: No module named tornado.ioloop
[root@sht-sgmhadoopdn-04 src]# find / -name  tornado
/usr/local/python27/lib/python2.7/site-packages/tornado
[root@sht-sgmhadoopdn-04 src]# cp -r /usr/local/python27/lib/python2.7/site-packages/tornado  /usr/local/lib/python2.7/lib-dynload/

10.尝试第二次启动redis-live.py ,singledispatch
[root@sht-sgmhadoopdn-04 src]# ./redis-live.py
Traceback (most recent call last):
  File "./redis-live.py", line 6, in <module>
    import tornado.web
  File "/usr/local/lib/python2.7/lib-dynload/tornado/web.py", line 84, in <module>
    from tornado import gen
  File "/usr/local/lib/python2.7/lib-dynload/tornado/gen.py", line 98, in <module>
    from singledispatch import singledispatch  # backport
ImportError: No module named singledispatch


###这个 singledispatch 错误,其实就是在tornado里的,谷歌和思考过后,怀疑是版本问题,于是果断卸载tornado
[root@sht-sgmhadoopdn-04 src]# pip uninstall tornado
[root@sht-sgmhadoopdn-04 src]# rm -rf  /usr/local/lib/python2.7/lib-dynload/tornado
[root@sht-sgmhadoopdn-04 src]# find / -name tornado
[root@sht-sgmhadoopdn-04 src]#
##假如find有的话 ,就要手工删除掉

11.于是想想其他也是要卸载掉
[root@sht-sgmhadoopdn-04 src]# pip uninstall argparse
[root@sht-sgmhadoopdn-04 src]# pip uninstall python-dateutil
[root@sht-sgmhadoopdn-04 src]# find / -name argparse
[root@sht-sgmhadoopdn-04 src]# find / -name python-dateutil
##假如find有的话 ,就要手工删除掉

 

12.关键一步: 根据step3的指定版本来安装

[root@sht-sgmhadoopdn-04 src]# pip install -v tornado==2.1.1
[root@sht-sgmhadoopdn-04 src]# pip install -v argparse==1.2.1
[root@sht-sgmhadoopdn-04 src]# pip install -v python-dateutil==1.5


13.再次尝试启动redis-live.py ,抛错dateutil.parser

[root@sht-sgmhadoopdn-04 src]# ./redis-live.py
Traceback (most recent call last):
  File "./redis-live.py", line 10, in <module>
    from api.controller.ServerListController import ServerListController
  File "/root/learnproject/app/RedisLive/src/api/controller/ServerListController.py", line 1, in <module>
    from BaseController import BaseController
  File "/root/learnproject/app/RedisLive/src/api/controller/BaseController.py", line 4, in <module>
    import dateutil.parser
ImportError: No module named dateutil.parser
[root@sht-sgmhadoopdn-04 src]#
[root@sht-sgmhadoopdn-04 src]#
[root@sht-sgmhadoopdn-04 src]#
[root@sht-sgmhadoopdn-04 src]#
[root@sht-sgmhadoopdn-04 src]# find / -name dateutil
/usr/local/python27/lib/python2.7/site-packages/dateutil
[root@sht-sgmhadoopdn-04 src]# cp -r /usr/local/python27/lib/python2.7/site-packages/dateutil  /usr/local/lib/python2.7/lib-dynload/
You have mail in /var/spool/mail/root

14.再在尝试启动redis-live.py ,成功了,然后按ctrl+c中断掉

[root@sht-sgmhadoopdn-04 src]# ./redis-live.py
^CTraceback (most recent call last):
  File "./redis-live.py", line 36, in <module>
    tornado.ioloop.IOLoop.instance().start()
  File "/usr/local/lib/python2.7/lib-dynload/tornado/ioloop.py", line 283, in start
    event_pairs = self._impl.poll(poll_timeout)
KeyboardInterrupt
[root@sht-sgmhadoopdn-04 src]#

 
15.启动

[root@sht-sgmhadoopdn-04 src]# ./redis-monitor.py --duration 120 &
[root@sht-sgmhadoopdn-04 src]# ./redis-live.py  &

打开web界面

http://172.16.101.66:8888/index.html

 

16.总结
a.安装 python2.7+pip
b.pip指定版本去安装那几个组件


17.说明: 
redis live   -- 实时redis监控面板
可以同时监控多个redis实例 , 包括 内存使用 、分db显示的key数、客户端连接数、 命令处理数、 系统运行时间 , 以及各种直观的折线图柱状图.
缺点是使用了monitor 命令监控 , 对性能有影响 ,最好不要长时间启动 .

redis-monitor.py:  用来调用redis的monitor命令来收集redis的命令来进行统计
redis-live.py:    启动web服务


 

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
3月前
|
存储
优秀开源日志平台GrayLog5.0一键安装脚本
优秀开源日志平台GrayLog5.0一键安装脚本
90 0
|
监控 Docker 索引
docker安装filebeat 进行日志收集
docker安装filebeat 进行日志收集
737 0
docker安装filebeat 进行日志收集
|
2月前
|
应用服务中间件 API nginx
|
3月前
|
Linux Shell
开源日志平台GrayLog5.1.10 CentOS7一键安装脚本
开源日志平台GrayLog5.1.10 CentOS7一键安装脚本
97 0
|
3月前
|
Linux
开源日志平台GrayLog5.1.7 CentOS7一键安装脚本
开源日志平台GrayLog5.1.7 CentOS7一键安装脚本
82 1
|
3月前
开源日志平台GrayLog5.1.2一键安装脚本
开源日志平台GrayLog5.1.2一键安装脚本
59 0
|
4月前
|
消息中间件 开发工具 数据安全/隐私保护
RabbitMQ【部署 01】一篇学会RabbitMQ服务依赖的下载安装及简单使用(首次登录 User can only log in via localhost 问题处理)
RabbitMQ【部署 01】一篇学会RabbitMQ服务依赖的下载安装及简单使用(首次登录 User can only log in via localhost 问题处理)
78 0
|
5月前
|
应用服务中间件 Shell Linux
nginx下载安装和日志切割
nginx下载安装和日志切割
76 0
nginx下载安装和日志切割
|
8月前
|
运维 监控 应用服务中间件
【运维知识进阶篇】集群架构-Nginx基础(安装+启动+配置+多业务实现+日志管理)(下)
【运维知识进阶篇】集群架构-Nginx基础(安装+启动+配置+多业务实现+日志管理)(下)
153 0
|
8月前
|
存储 运维 前端开发
【运维知识进阶篇】集群架构-Nginx基础(安装+启动+配置+多业务实现+日志管理)(上)
【运维知识进阶篇】集群架构-Nginx基础(安装+启动+配置+多业务实现+日志管理)
151 0

热门文章

最新文章