QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

初识 Opserver,StackExchange 的监控解决方案

  • 2013-12-12
  • 本文字数:1880 字

    阅读完需:约 6 分钟

Opserver 是闻名遐迩的网站 Stack Overflow 的开源监控解决方案,由 Stack Exchange 发布。它基于.NET 框架构建,这在监控工具领域有些与众不同。

旨在为每个受监控系统的健康状况提供一个快速的总体视图,还允许用户使用下钻方法进行深入挖掘。 Nick Craver 是 Opserver 的创建者之一,他告诉 InfoQ:

我们认为,监控系统应该在一个较高的层次上展示系统,出现了什么错误,并允许用户通过下钻来了解更多细节。

Opserver 以 Web 仪表板的形式进行组织,每个仪表板专门针对一个特定的系统。Opserver 目前支持 SQL Server ElasticSearch HAProxy StackExchange.Exceptional Redis Orion 是一款来自 SolarWinds 的商业工具。Opserver 还使用它提供基础设施和网络监控。一次 Opserver 安装并不需要使用所有这些系统,因为它们可以基于选择进行配置。

以 SQL Server 为例,Opserver 提供了关于 CPU 和内存消耗的高层次信息或者数据库的总体健康状况:

(点击图片可以查看大图)

在概览视图下面,Opserver 提供了额外的数据。例如,它提供了一个最常用查询的列表,可以按照多个条件进行排序(总执行时长、平均CPU 消耗)。对于每个查询,它提供了更多的细节信息,包括查询执行计划(查询执行步骤的详细分解)。

(点击图片可以查看大图)

SecuritySettings.config 文件定义诸如身份验证方法这样的设置项:

复制代码
<?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" />
-->

每个系统有一个配置文件。目前支持 JSON 格式。下面是 SQL Server 配置的一个例子:

复制代码
{
"defaultConnectionString": "Data Source=$ServerName$;
Initial Catalog=master;Integrated Security=SSPI;",
"clusters": [ // 集群只能用于 SQL Server 2012
{
"name": "NY-SQLCL04",
"refreshIntervalSeconds": 20,
"nodes": [
{ "name": "NY-SQL03" }
]
}
],
"instances": [
{ // 该实例不能使用 defaultConnectionString,因此它得自己指定。
"name": "NY-DB05",
"connectionString": "Data Source=NY-DB05;
Initial Catalog=bob;Integrated Security=SSPI;",
},
// defaultConnectionString 中的服务器名会被“name” 替换
{ "name": "NY-DESQL01" } ]
}

如果 Opserver 没有包含某个特定场景,那么它还提供了若干扩展点,用户可以通过它们使用额外的仪表板和配置选项来增强该工具。按照计划,这个过程将来会更简单易用而且功能更强大:

若时间允许,即将到来的最大变化是加入插件模型。人们将能够增加其他人也可以使用的选项卡、视图、轮询器等。例如,用户可以增加一个 MongoDB 监控选项卡,并在上面可以添加想要添加的任何层次的细节。

在该工具的路线图上,Opserver 团队还有其它目标:

它还会在很大程度上与我们的监控解决方案集成,保存历史数据而不仅仅是实时数据。

如果用户使用了其它的第三方工具,那么我计划在基本安装中包含针对这些工具的功能,从而增强 Opserver。例如, sp_WholsActive 已经集成进来了,诸如 sp_Blitz sp_AskBrent 这样的东西和像 SQL Sentry 那样更大的产品也将会绑定到里面。他们肯定不是必须的,只是如果有了它们会增加视图和细节……因为随后便可以获得它们提供的信息。

Opserver 还通过 JSON 以 REST-feeling 方式暴露它所拥有的几乎全部数据。我计划使所有数据都可以通过这种方式获得,那样,用户界面就是完全可选的。这允许任何人针对返回 JSON 的路径编写脚本,并以其它方式使用返回结果,那真的会开辟许多新的应用场景。

InfoQ 问 Stack Exchange,为什么决定构建自己的监控工具。Nick 告诉我们,它是自然长成的:

开始的时候,它是 StackExchange.Exceptional 数据库的中央异常日志查看器,是我们所有应用程序日志的集中存放位置。从那开始,作为一个业余项目,我开始添加还没有监控的方面,或者已经存在但还不准确的方面(例如,一个关于 SQL Server 2012 永远在线的监控问题)。

从那开始,我为我们想要留意的东西添加 SQL 功能,因为我想在一个位置查看所有系统。之后,我开始添加我们在 Stack Exchange 用到的所有系统……目标从弥补现有监控的缺陷变成了要有一个基础设施的单一界面管理视图。

查看英文原文:**** A first look at Opserver, Stack Exchange’s monitoring solution

2013-12-12 05:274510
用户头像

发布了 256 篇内容, 共 87.4 次阅读, 收获喜欢 12 次。

关注

评论

发布
暂无评论
发现更多内容

中文永久版Autodesk AutoCAD 2021 mac下载及安装教程 附cad2021密钥

理理

你可能不知道 xz 也是一种压缩格式,并且还相当惊艳

左诗右码

Media Encoder 2021 for Mac(ME 2021)中文版

Mac相关知识分享

vm虚拟机下载安装 附VMware Fusion Pro 13密钥

理理

Axure RP 9 for Mac(交互原型设计软件)

Mac相关知识分享

数据飞轮:互联网企业降本增效的数智化新范式

字节跳动数据平台

JProfiler for Mac(专业 Java 性能分析软件)

Mac相关知识分享

文件同步工具 Beyond Compare永久密钥分享-mac/win

Rose

java小知识-纳秒

京东科技开发者

踏入 Photoshop 2024 时代,重塑视觉艺术新高度

理理

加氢站管理系统(源码+文档+部署+讲解)

深圳亥时科技

Final Cut Pro(fcpx视频剪辑) - 专业剪辑王者,释放创意无限潜能

理理

Navicat Premium:以卓越功能,铸就数据库操作新高度

理理

Navicat Premium 16 for Mac(数据库管理软件)

Mac相关知识分享

一分钟带你了解LED全彩显示屏

Dylan

科技 LED显示屏 全彩LED显示屏 户外LED显示屏 led显示屏厂家

山西运城等保测评机构地址在哪里?电话多少?

行云管家

网络安全 等保 堡垒机 等保测评 运城

Downie 4:专业级视频下载神器,掌控网络视频流

理理

Microsoft Office 2019 免激活版 永久使用-mac/win

理理

智能会计精细核算,明细级核算夯实数据基础

用友智能财务

财务 企业数智化

基于PP-ShiTuv2新增PaddleX图像识别模型产线,显著提升商品识别等细粒度开放域产业场景检索性能

百度Geek说

Photoshop 2021下载安装(ps 2021中文直装版)

理理

易点天下与火山引擎ByteHouse共建高性能数仓,助力智能营销效率跃升

字节跳动数据平台

浙江企业采购堡垒机品牌就选行云!

行云管家

堡垒机 等保测评 浙江

Termius for Mac(SSH客户端)

Mac相关知识分享

Axure RP 9:交互设计神器焕新登场,重塑产品体验蓝图

理理

苹果电脑系统下载安装-macOS Big Sur 11

理理

淘宝商品API接口的对接及收益

科普小能手

淘宝 淘宝商品数据接口 淘宝商品描述接口 淘宝商品列表接口 淘宝商品API

产品经理如何去管理需求池

易成研发中心

需求管理

面对需求的频繁变更,如何做好项目管理

易成研发中心

项目管理 需求管理

集团企业身份管理体系的组织协同能力不足

芯盾时代

iam 统一身份管理平台

DevOps帮助数字化转型的5种方式

禅道项目管理

项目管理 程序员 DevOps 数字化转型 项目管理软件

初识Opserver,StackExchange的监控解决方案_DevOps & 平台工程_João Miranda_InfoQ精选文章