zoukankan      html  css  js  c++  java
  • .NET开源MSSQL、Redis监控产品Opserver之Redis配置

    安全与基础配置地址:http://www.cnblogs.com/xiaopotian/p/6898310.html

    edis监控数据实例的加载可以查看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系列目录 http://www.cnblogs.com/xiaopotian/category/1007536.html

  • 相关阅读:
    CF1153C. Serval and Parenthesis Sequence
    LGOJ P2048 [NOI2010]超级钢琴
    BZOJ4551: [Tjoi2016&Heoi2016]树
    性能分析 | Java进程CPU占用高导致的网页请求超时的故障排查
    SQL优化 | sql执行过长的时间,如何优化?
    性能优化 | JVM性能调优篇——来自阿里P7的经验总结
    性能优化 | 线上百万级数据查询接口优化过程
    性能分析 | 线上CPU100%排查
    性能测试 | Web端性能测试
    自动化测试 | 好用的自动化测试工具Top 10
  • 原文地址:https://www.cnblogs.com/xiaopotian/p/6898634.html
Copyright © 2011-2022 走看看