NoSQL做个简易的Redis监控(源码分享)[转发]

 

NoSQL 1

Linux下安装使用: http://www.cnblogs.com/madyina/p/4060556.html

NoSQL 2

 

-r 10 -i 1 INFO

 

 

 

ClientList()

 

 

 

 

 

此间得到IServer对象,所有服务器相关的不二法门和新闻都封装在那些目的中。

Ping()

 

 

 

 

 

设如若由于它除了可以监控Reidis,还足以监控Sql,Elasticsearch等,而且监控的听从也很强大。

 

public static class RedisConnectionHelp

{

    private static readonly ConcurrentDictionary<string,
ConnectionMultiplexer> ConnectionCache = new
ConcurrentDictionary<string, ConnectionMultiplexer>();

    /// <summary>

    /// 缓存获取

    /// </summary>

    /// <param name=”connectionString”></param>

    /// <returns></returns>

    public static ConnectionMultiplexer
GetConnectionMultiplexer(string connectionString)

    {

        if (!ConnectionCache.ContainsKey(connectionString))

        {

            ConnectionCache[connectionString] =
GetManager(connectionString);

        }

        return ConnectionCache[connectionString];

    }

    private static ConnectionMultiplexer GetManager(string
connectionString)

    {

        if (string.IsNullOrWhiteSpace(connectionString))

        {

            throw new Exception(“Redis 连接地址不可以为空”);

        }

        var connect = ConnectionMultiplexer.Connect(connectionString);

        return connect;

    }

}

 

 

只须要拔取那多少个方式,然后定时的基础代谢,将结果突显到页面,就能监督到Redis的新闻和境况了那边贴上多少个监督的职能图

法定地址:https://github.com/opserver/Opserver

连日客户端监控

Windows 下的应用表达:http://www.cnblogs.com/mushroom/p/4609365.html

 

ConnectionMultiplexer对象StackExchange.Redis最中枢的目的,大概拥有的操作都是依靠它来利用,代码如下:

这一个工具是Redis本身自带的,当大家下载Redis安装包的时候,就会发觉,里面自带了那个工具,使用也分外不难,只须求输入INFO
命令就足以博得Redis服务相关的音信,效果如下:

 

 

server.Ping();

 

 

 

 

 

监理图表

中间-r 是实施的次数,-i是历次执行的间隔时间(秒)

 

取得当前连连的持有客户端信息

server.InfoRaw()

官网地址:https://github.com/nkrode/RedisLive

毛润之曾经说过“自动下手,丰衣足食”。几乎看了下Opserver的源码,看到Opserver也是运用StackExchange.Redis
调用了Redis的INFO来做监控的,以前刚刚也看过StackExchange.Redis
的施用,而且StackExchange.Redis
对于获Server消息那块,都曾经封装好了,大约可以一向调用,于是就想干脆自己入手做一个概括的督察。

NoSQL 3

 

赢得服务器消息用到的多少个主意如下

 

只是个人感觉在行使上稍稍过于重量级,而且有关它的素材和官方的文档都很少。那里也提供下有关的资料:

用来测试获取服务器的响应时间

NoSQL 4

Opserver

InfoRaw()

原稿来自 http://www.cnblogs.com/qtqq/

 

 

 

 

 

 

 

 

对此StackExchange.Redis
的行使和通用类的包装,可以参照我前边写的一篇文章:http://www.cnblogs.com/qtqq/p/5951201.html 

 

源码下载

NoSQL 5

以此是由Stack
Overflow(http://www.stackoverflow.com/)的开源监控解决方案,个人感觉是一款强大而非常好的监控工具,为什么呢,因为它是用C\#
来写的(啊哈哈,开个玩笑~~)。

 

server.Info()

 

行使表达

在一初阶介绍的监察工具1的时候,截图中得以看出,info
命令输出的始末中包蕴了Server,Clients,Memory,Persistence等音信,Info()方法帮我们GroupBy了那么些信息,做好了分组,并且有着的目标都打包成了Dictionary的品种,使用起来卓殊有利于。

 

而StackExchange.Redis
怎么样取得Server音信和利用命令操作,可以参照官网的:https://github.com/StackExchange/StackExchange.Redis/blob/master/Docs/Configuration.md

 

 

关于INFO
命令的运用和参数表明,可以参照那个地址:http://www.runoob.com/redis/server-info.html

 

 

https://github.com/qq1206676756/RedisMonitor

取得服务器原始内容音信,输出的情节就是大家直接采纳info命令看到的同一。

 

RedisMonitor(自己造轮子)

那是一款 使用python编写 的督查工具,所以运行看重于python
环境和多少个三方库,但是监控的目标有点少,而且在windows上突发性觉得卡卡的,那里提供下相关的资料

Info()

NoSQL 6

var server =
RedisConnectionHelp.GetConnectionMultiplexer(readWriteHosts).GetServer(hostAndPort)

下载源码编译后,只须要修改Config文件夹下边的RedisServiceConfig.json文件,修改成温馨索要监控的Redis服务器地址就好了,ServerHost的安插能够参照https://github.com/StackExchange/StackExchange.Redis/blob/master/Docs/Configuration.md

 

server.ClientList()

 

详见监控

监察列表

NoSQL 7

Redis监控

 

先是是ConnectionMultiplexer对象封装

简易监控

 

 

端详页面

 

 

 

 

 

 

 

 

根本的来了,要做一个了然享受的程序员,源码地址:

redis-live

Redis
是眼前选用广泛的NoSQL,我做的品种中多数都是与Redis打交道,发现身边的爱人也更加多人在用,相对于memcached
来说,它的优势也真正是可圈可点。在随着事情,数据量等不断的恢弘后,对Redis的兴高采烈,品质等也更在的着重,从前就赶上过Redis导致服务器内存不足,做持久化的时候CPU飙高,Redis连接数过多等题材,那时候大家就须要有一个监察工具,可以看出各类目标的扭转,方便做跟踪分析,那里先列举下近来触及过多少个督察工具。

Windows下安装使用:http://www.cnblogs.com/mahatmasmile/p/5039084.html

理所当然,输入Info的话只好监控三遍,尽管想屡次三番监控,可以行任务令

 

 

GetServer(hostAndPort)

redis-cli 

网站地图xml地图