阅读目录:
基本介绍
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是内存使用情况,重要。
slow command log 服务端接受的命令日志。
Opserver 算是个比较轻量级的监控系统,部署修改都非常方便,比如增加连接数或者内存报警功能。