Redis系列(五)-Opserver的监控
阅读目录:
基本介绍
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": ""
},
{
"name": "本地slave1",
"port": ""
},
{
"name": "本地master2",
"port": ""
}
] },
"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是内存使用情况,重要。
slow command log 服务端接受的命令日志。
Opserver 算是个比较轻量级的监控系统,部署修改都非常方便,比如增加连接数或者内存报警功能。
Redis系列(五)-Opserver的监控的更多相关文章
- Redis系列(五):Redis的过期键删除策略
本篇博客是Redis系列的第5篇,主要讲解下Redis的过期键删除策略. 本系列的前4篇可以点击以下链接查看: Redis系列(一):Redis简介及环境安装 Redis系列(二):Redis的5种数 ...
- Redis系列五 - 哨兵、持久化、主从
问:骚年,都说Redis很快,那你知道这是为什么吗? 答:英俊潇洒的面试官,您好.我们可以先看一下 关系型数据库 和 Redis 本质上的区别. Redis采用的是基于内存的,采用的是单进程单线程模型 ...
- Redis系列五:redis键管理和redis数据库管理
一.redis键管理 1 键重命名 rename oldKey newkey //格式rename oldKey newKey //若oldKey之前存在则被覆盖set name james :set ...
- Redis系列五 Redis持久化
Redis持久化 一.RDB(Redis DataBase) 1.介绍 在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里. Red ...
- Redis系列(五)--主从复制
单机环境存在的问题: 1.机器故障,直接凉凉 2.容量瓶颈 3.QPS瓶颈 主从复制 对于可拓展平台来说,复制(replication)是必不可少的.replication可以让其他服务器slave拥 ...
- Redis系列(六):设置/移除键的过期时间
本篇博客是Redis系列的第6篇,主要讲解以下内容: 数据库数量 切换目标数据库 设置键的过期时间 移除键的过期时间 本系列的前5篇可以点击以下链接查看: Redis系列(一):Redis简介及环境安 ...
- 采用Opserver来监控你的ASP.NET项目系列(一、Opserver监控的简介与平台搭建)
前言 之前有过2篇关于如何监控ASP.NET core项目的文章,有兴趣的也可以看看. 今天我们主要来讲讲如何监控我们的ASP.NET项目. 首先我们来介绍一下,什么是Opserver,它是Stack ...
- Python操作redis系列之 列表(list) (五)(转)
# -*- coding: utf-8 -*- import redis r =redis.Redis(host=") 1. Lpush 命令将一个或多个值插入到列表头部. 如果 key 不 ...
- Python操作redis系列之 列表(list) (五)
# -*- coding: utf- -*- import redis r =redis.Redis(host=,password=") 1. Lpush 命令将一个或多个值插入到列表头部. ...
随机推荐
- Win10 UI动画
<Button Content="Ship via Wells, Fargo & Co." HorizontalAlignment="Center" ...
- laravel5笔记
数据库表创建E:\PHP\learnlaravel5>php artisan migrate 创建modelE:\PHP\learnlaravel5>php artisan make:mo ...
- i春秋url地址编码问题
i春秋学院是国内比较知名的安全培训平台,前段时间看了下网站,顺便手工简单测试常见的XSS,发现网站搜索功能比较有意思. 其实是对用户输入的内容HTML编码和URL编码的处理方式在这里不合理,提交到乌云 ...
- 前端js调用七牛制作评价页面案例
一.需求 公司所有的上传页面都用七牛,前端不免要直接调用七牛的代码进行上传,以下是一个实现七牛上传的案例,制作一个常见的商品评价页面,页面需求很常见当上传到第五章图片的时候,上传按钮消失,上传需要显示 ...
- shell命令大全
请跳转至:http://www.lampweb.org/linux/2/3.html
- C#ListBox对Item进行重绘,包括颜色
别的不多说了,上代码,直接看 首先设置这行,或者属性窗口设置,这样才可以启动手动绘制,参数有三个 Normal: 自动绘制 OwnerDrawFixed:手动绘制,但间距相同 OwnerDrawVar ...
- C#获取当前程序运行路径的方法集合
//获取当前进程的完整路径,包含文件名(进程名).string str = this.GetType().Assembly.Location;result: X:\xxx\xxx\xxx.exe (. ...
- 【原】iOS学习之三种拨打电话方式的比较
拨打电话小编从网上找到三种,在这里做一些总结和比较 1.基本使用 NSString *str = [[NSMutableString alloc] initWithFormat:@"tel: ...
- ASCII和16进制对照表
十六进制代码 MCS 字符或缩写 DEC 多国字符名 ASCII 控制字符 1 00 NUL 空字符 01 SOH 标题起始 (Ctrl/A) 02 STX 文本起始 (Ctrl/B) 03 ETX ...
- python实现最简单的计算器功能源码
import re def calc(formula): formula = re.sub(' ', '', formula) formula_ret = 0 match_brackets = re. ...