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

  • 相关阅读:
    不常用的cmd命令
    js获取宽度
    Marshaling Data with Platform Invoke 概览
    Calling a DLL Function 之三 How to: Implement Callback Functions
    Marshaling Data with Platform Invoke 之四 Marshaling Arrays of Types
    Marshaling Data with Platform Invoke 之一 Platform Invoke Data Types
    Marshaling Data with Platform Invoke 之三 Marshaling Classes, Structures, and Unions(用时查阅)
    Calling a DLL Function 之二 Callback Functions
    WCF 引论
    Marshaling Data with Platform Invoke 之二 Marshaling Strings (用时查阅)
  • 原文地址:https://www.cnblogs.com/mushroom/p/4609365.html
Copyright © 2011-2022 走看看