【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

Stack Overflow 监控系统内部架构初探

  • 2018-12-24
  • 本文字数:1566 字

    阅读完需:约 5 分钟

Stack Overflow监控系统内部架构初探

Stack Exchange 架构主管 Nick Craver 在最近的一篇文章中介绍了他们的监控系统。他在文章中讨论了监控策略背后的理念和动机,并介绍了他们的工具集——主要是 Bosun、Grafana 和 Opserver。


Stack Overflow 及其姐妹站点 Stack Exchange 运行在.NET 和 MS SQL Server、IIS Web 服务器、HAProxy(作为负载均衡器)以及 Redis 和 Elasticsearch 提供的服务上。他们的主要数据中心位于纽约,在俄勒冈州有一个故障转移中心。Craver 指出,Stack Exchange 的监控通常包括“日志、指标、运行状况检查和分析”,他们使用 Bosun、Opserver、Grafana 和 MiniProfiler 作为主要工具。


Stack Exchange 监控系统的数据源是日志、运行状况检查和时间序列指标。在日志方面,他们使用了标准机制和自定义库将日志推送到数据库中。日志包含了来自 HAProxy 负载均衡器的 HTTP 请求汇总日志以及来自 Logstash 的日志事件。他们的运行状况检查可以测试最终用户看到的内容,例如主页。度量指标被收集并保存在自己构建的开源监控工具 Bosun 中,Bosun 将 OpenTSDB 作为后端存储。Bosun 还会发送警报,Pagerduty 负责处理事故升级。他们还有一个叫作 Opserver 的工具——显示整个监控系统的仪表盘视图。



所有 Stack Exchange 的应用程序都使用一个叫作 StackExchange.Exceptional 的日志记录库,这个库将日志发送到 MSSQL Server。它其实是.NET 日志库 ELMAH 的一个分支。Redis、Elasticsearch 和 SQL Server 将日志记录到标准的位置,但不清楚这些日志是否会被发送到中央服务器进行聚合和搜索。来自网络设备的日志将被发送到 Logstash,并可以通过 Kibana 仪表盘查看。可以使用 MiniProfiler 详细分析页面加载时间,MiniProfiler 将显示跨越各层的方法调用时间。


Bosun 先是由 Stack Exchange 开发,然后被开源出来。Bosun 的主要功能是根据历史数据测试警报,提供了用于计算时间序列数据的查询语言、模板化警报以及时间序列趋势的警报和预测。与 Nagios、Zabbix 等传统监控工具不同,但与 Prometheus 等现代监控工具类似,Bosun 不需要为每台服务器设置单独的警报。对于跨所有服务器的时间序列测量(例如 CPU 使用率),设置单个阈值检查就足够了。警报当中包含了违反阈值的时间序列清单,可以用来识别有问题的服务器。


Bosun 支持多个后端存储,Stack Exchange 还使用了 OpenTSDB(和 HBase 一起)。Bosun 的原始作者之一 Kyle Brandt 在文章写道,这是他们的痛点之一,由于他们“在其他地方没有使用 HBase,所以管理 HBase 会占用他们大量的时间”。Bosun 的附加代理是 scollector,它负责从受监控的机器收集指标。它使用 Go 语言开发,用于替换 OpenTSDB 的 tcollector 代理。他们使用 BosunReporter 推送应用程序的指标。


健康检查侧重于检查最终用户体验以及内部服务的健康状况。Pingdom 检查外部可访问的 URL。Craver 写道,面向最终用户 URL(如主页)的检查非常关键,因为“主页检查可能会检查到我们无法检查到的问题,进行整体检查也很重要”。Fastly 充当 Stack Exchange 站点的 CDN 和代理,它的运行状况检查可以确保在主数据中心发生故障时可以故障转移到辅助数据中心。除服务器端监控外,他们还使用浏览器 API 跟踪客户端的时间。


将所有这些结合在一起的是 Grafana 和 Opserver。Grafana 接入 Bosun 数据,用以显示时间序列指标。Opserver 专注于整个基础设施的整体监控状态。为什么团队要自己构建 Opserver,而不是使用 Nagios 或类似的工具?Craver 解释说,当时没有一种工具可以满足他们的所有需求。与大多数工具一样,它是根据特定要求而开发出来的。Opserver 仪表盘可用于深入查看各个服务和服务器。它需要以 JSON 格式进行静态配置,如果用于监控云环境(可能包含了一些临时主机)可能会有些问题。


查看英文原文:


https://www.infoq.com/news/2018/12/stackoverflow-monitoring


2018-12-24 15:333189
用户头像

发布了 731 篇内容, 共 433.7 次阅读, 收获喜欢 1997 次。

关注

评论 1 条评论

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

什么是谷歌SEO推广,谷歌SEO推广的6大优势!

九凌网络

更快更省更好用!天翼云云原生一体机iStack打通物云最后一公里!

天翼云开发者社区

云计算 云原生

Ghost Buster Pro for Mac直装激活版下载

影影绰绰一往直前

Linux 安装gradle

javaNice

Java Linux Gradle

和鲸 ModelWhale 入驻华为蓝鲸应用商城,助力大模型时代 AI 赋能应用落地

ModelWhale

人工智能 华为 AI 数据科学

使用Python调用API接口获取京东关键词详情数据

Noah

HarmonyOS三个设计原则教你如何设计高使用率万能卡片

新消费日报

Python系列:如何提高python程序代码的健壮性

树上有只程序猿

Python

软件测试 | 人工智能在自动化缺陷检测中的崭新前景

测吧(北京)科技有限公司

测试

和鲸科技创始人范向伟受邀出席“凌云出海,来中东吧”2023华为云上海路演活动

ModelWhale

人工智能 华为云 数据科学 出海 中东

代码混淆的原理是什么?常见代码混淆方法介绍

雪奈椰子

最新前端技术趋势——菜鸟必看

秃头小帅oi

前端

Mybatis和其他主流框架的整合使用

不在线第一只蜗牛

开源 mybatis 项目开发

Screen Recorder by Omi Mac(Omi录屏专家‬)v1.3.5激活版

影影绰绰一往直前

Aiseesoft Video Repair for Mac(视频修复软件) 1.0.12永久激活版

mac

苹果mac Windows软件 视频修复软件 AIseesoft Video RepAIr

推动NLP预训练模型的创新发展

百度开发者中心

nlp 大模型 LLM

华秋第九届硬创大赛全国总决赛,邀你一同见证~

华秋电子

软件测试 | 人工智能在自动化测试脚本生成中的应用

测吧(北京)科技有限公司

测试

Flyingbee PDF to PowerPoint for Mac(飞蜂pdf转ppt工具)v5.3.8激活版

影影绰绰一往直前

有完美的 React 框架吗?三巨头之战:Remix、Next.js 和 Gatsby

互联网工科生

前端开发 React

巴适得板!这次我们和四川一起加“数”前行!

天翼云开发者社区

云计算 大数据

预训练模型在迁移学习中的应用

百度开发者中心

深度学习 大模型 LLM

腾讯云大数据获“年度金融科技创新之星”,新一代数据架构首次公布

腾讯云大数据

大数据

Dynamic Wallpaper for Mac(精美的动态壁纸)v16.7免激活版

影影绰绰一往直前

云主机CPU和内存配比:优化资源分配的关键

天翼云开发者社区

云计算 cpu 云主机

合约跟单交易所开发流程

区块链技术

软件测试 | 基于ChatGPT的个性化人工智能应用开发:解锁交互新维度

测吧(北京)科技有限公司

测试

Magic Disk Cleaner for mac(磁盘垃圾清理工具)v2.5.2激活版

影影绰绰一往直前

华秋这场技术研讨邀请了哪些重磅嘉宾?

华秋电子

如何防止网站被黑,降低网站被攻击的风险?

九凌网络

一键整合,万用万灵,Python3.10项目嵌入式一键整合包的制作(Embed)

不在线第一只蜗牛

开发语言 #python

Stack Overflow监控系统内部架构初探_架构_Hrishikesh Barua_InfoQ精选文章