.NET开源MSSQL、Redis监控产品Opserver之Redis配置

来源:互联网 发布:linux 端口没有监听 编辑:程序博客网 时间:2024/06/05 17:36

Redis监控数据实例的加载可以查看Opserver.Core项目data/Redis文件夹下的RedisModule.cs,我加了点注释

/// <summary>        /// 加载Redis连接        /// </summary>        /// <returns></returns>        private static List<RedisConnectionInfo> LoadRedisConnections()        {            var result = new List<RedisConnectionInfo>();            //默认实例            var defaultServerInstances = Current.Settings.Redis.Defaults.Instances;            //Servers节点的子集            var allServerInstances = Current.Settings.Redis.AllServers.Instances;            foreach (var s in Current.Settings.Redis.Servers)            {                var count = result.Count;                // Add instances that belong to any servers 为Servers实例添加子集                allServerInstances?.ForEach(gi => result.Add(new RedisConnectionInfo(s.Name, gi)));                // Add instances defined on this server 添加定义在Servers里的实例                if (s.Instances.Count > 0)                    s.Instances.ForEach(i => result.Add(new RedisConnectionInfo(s.Name, i)));                // If we have no instances added at this point, defaults it is! 如果没有任何实例则添加默认的                if (defaultServerInstances != null && count == result.Count)                    defaultServerInstances.ForEach(gi => result.Add(new RedisConnectionInfo(s.Name, gi)));            }            return result;        }

allservers和default下的实例配置,会影响servers下的配置,allservers和default的实例被添加到servers的各个节点,可以理解allservers和default的配置为通用配置,另外如果allservers,servers下有实例 ,default下实例不起作用。如果要自定义实例加载,可以修改这段代码。实际配置中我们只要配置servers就可以了。

{  "Servers": [    {      "name": "127.0.0.1",      "instances": [        {          "name": "localhost",       
"port": "6379",
"password": "zoulu19900206" } ] }, { "name": "192.168.11.220", "instances": [ { "name": "work", "port": "6379",
"password": "Lz+18518095396+zL" } ] } ]}

好了,下面上几张效果图

 

面板展示的属性都是可以通过redis info命令获取到,opserver做了更清晰的展示。

Ops(/sec)  每秒处理量

memory(used)即used_memory_rss(used_memory)

used_memory_rss : 从操作系统的角度,返回 Redis 已分配的内存总量(俗称常驻集大小)。这个值和 top 、 ps等命令的输出一致。

used_memory_peak : Redis 的内存消耗峰值(以字节为单位)

used_memory : 由 Redis 分配器分配的内存总量,以字节(byte)为单位

 

Summary是总体概览部分。

Memory是内存使用情况,重要。

persistence 是RDB和AOF的状态。

 

keyspace key存储的情况,analyze进去可以查看详细分布。

 

stats  客户端命令的key命中率和处理量

 

clients 查看有哪个ip(或机器名)过来的连接数多,很方便的定位到那台应用端机器长时间没有释放连接,重要。

 

slow command log 服务端接受的命令日志。

相关文章:

  • 初识Opserver,StackExchange的监控解决方案

  • Opserver开源的服务器监控系统(ASP.NET)

原文地址:http://www.cnblogs.com/xiaopotian/p/6898634.html


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

原创粉丝点击