zoukankan      html  css  js  c++  java
  • Redis系列(五)-Opserver的监控

    阅读目录:

    1. 基本介绍
    2. 使用配置
    3. 部署实例
    4. 面板属性

    基本介绍

    Opserver是Stack Exchange的一个开源监控系统,基于Net、MVC开发,所以Net程序员可以轻松基于它二次开发。它主要监控:

    • servers
    • SQL clusters/instances
    • redis
    • elastic search
    • exception logs
    • haproxy

    Opserver提供详细的面板,用来快速展示被监控系统的总体情况。 下面Opserver的监控UI界面示例,非常详细:

    使用配置

    项目地址:https://github.com/opserver/Opserver

    下载后用VS打开或IIS直接部署即可,下面是它的支持监控系统的view目录,结构比较清晰。

    安全配置

    Opserver系统本身后登陆验证,支持3种安全认证方式:

    <?xml version="1.0" encoding="utf-8"?>
    <SecuritySettings provider="AD">
        <!-- 可选, 下面的网络可以不用验证直接访问 -->
        <InternalNetworks>
            <Network name="SE Internal" cidr="10.0.0.0/8" />
        </InternalNetworks>
    </SecuritySettings>
    
    <!-- 
    每个人都是管理都可访问
    <SecuritySettings provider="alladmin" />
    -->

    如果使用活动目录验证,可以直接在web.config配置ViewGroups、AdminGroups,也可以单独在每个系统监控json配置文件里面添加ViewGroups、AdminGroups:

    "viewGroups": "*",
    "adminGroups": "SysAdmins",
    "user": "user",
    "password": "pass",
    "adminUser": "adminuser",
    "adminPassword": "adminpass",

    监控配置

    配置监控的地方在/Config/目录,Stack Exchange提供对应系统的配置示例,如图: 如果没有配置任何系统监控文件,浏览OpServer页面时,会报'No Configuration'的警告提示。 这里以Redis为例,监控配置如下:

    {
        "allServers": {
            "name": "All",
            "instances": [
                  {
                    "name": "本地master",
                    "port": "6379"
                },
                {
                    "name": "本地slave1",
                    "port": "6380"
                },
                {
                    "name": "本地master2",
                    "port": "6382"
                }
            ]
              
        },
        "Servers": [
            { "name": "127.0.0.1" }
        ]
    }

    部署实例

    认证配置<SecuritySettings provider="alladmin">所有人都是管理员,打开浏览器访问,输入账号admin,密码admin:

    可以看到有2组实例,其中6380是slave,6379是master,从图表上可以清晰看到层架关系。

    实例列表:

    点击单个Redis实例进去看到。

    面板属性

    面板展示的属性都是可以通过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 算是个比较轻量级的监控系统,部署修改都非常方便,比如增加连接数或者内存报警功能。 

  • 相关阅读:
    Pro mvvm读书笔记mvvm中的VM
    pro mvvm 读书笔记
    WPF/Silverlight中的RichTextBox总结
    wpf treeview中的两个事件
    CLR执行模型与常见的几个概念
    IntelliJ IDEA 2017版 使用笔记(十二) 其他操作:IDEA 快捷键
    IntelliJ IDEA 2017版 使用笔记(十一) Debug操作:IDEA 快捷键
    IntelliJ IDEA 2017版 编译器使用学习笔记(十) (图文详尽版);IDE快捷键使用;IDE关联一切
    IntelliJ IDEA 2017版 编译器使用学习笔记(九)(图文详尽版);IDE使用的有趣的插件;IDE代码统计器;Mybatis插件
    IntelliJ IDEA 2017版 编译器使用学习笔记(八) (图文详尽版);IDE快捷键使用;IDE代码重构(寻找修改痕迹)
  • 原文地址:https://www.cnblogs.com/mushroom/p/4609365.html
Copyright © 2011-2022 走看看