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

  • 相关阅读:
    浅析搭建视频监控汇聚平台的必要性及场景应用
    浅析搭建校园在线教学视频汇聚平台的必要性及解决方案
    基于海康EhomeDemo工具排查公网部署出现的视频播放异常问题
    开发那些事儿:Linux系统中如何安装离线版本MySQL?
    Docker学习笔记(目录)目录
    NetCore中间件的一些知识
    linux自带的守护进程systemd(系统)与systemctl(命令)
    C#默认构造函数
    Vue使用Nginx时遇到刷新后404
    C#RabbitMQ学习笔记
  • 原文地址:https://www.cnblogs.com/mushroom/p/4609365.html
Copyright © 2020-2023  润新知