写点什么

MeilleursAgents 是如何监控分布式任务队列的

  • 2018-03-04
  • 本文字数:1106 字

    阅读完需:约 4 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

MeilleursAgents 网站能够列出资产卖家的资产及其评估的价格,该网站分享了他们基于Celery 的分布式任务队列是如何监控的。由Python、StatsD、Bucky、Graphite 和Grafana 联合组成的管道能够监控任务的生命周期和执行率。

该文主要关注他们是如何监控Celery 运行的。 Celery 是一个由 Python 编写的分布式任务队列,它使用 broker- 客户端模式来分配任务给工作者(worker)。监控分布式任务队列是非常困难的,因为工作者节点是分布式的,很难跟踪特定请求的状态,如果跨多个系统的话,则会更加困难。但是,这种情况下的监控是关于整体成功 / 失败以及执行率的。每个阶段任务的累积数量,即已接收的(received)、已处理的(processed),也能反映出任务队列是否有速度减缓的情况。InfoQ 联系到了 MeilleursAgents 的工程主管 Pierre Boeuf 来学习这一话题。

指标收集管道包含 Python 客户端,它会监听 Celery 事件并使用 StatsD API 将数据推送至 StatsD 。然后,数据会被发送至 Bucky,Bucky 会将数据写入到 Graphite 中。 Bucky 会运行一个服务器,将传入的指标数据进行处理并转换成 Graphite 能够理解的格式。Bucky 所接收的指标可以是 StatsD 或 Collectd 这种指标工具所收集到的原始数据,如果 Graphite 无法理解传入的指标格式的话,那么 Bucky 就派上用场了。在 MeilleursAgents,Graphite 安装时使用了 Whisper 作为后端数据库。Boeuf 说团队在使用 Graphite 中还没有遇到扩展性方面的问题:

我们遇到的唯一扩展性相关的问题是因为将 StatsD 和 Graphite 放到了同一台服务器上。随着请求的增加,它出现了过载,所以我们现在在每台机器上都有本地 Bucky,它会推送指标数据。

Grafana 用来作为查询指标的前端。监控项包括任务、broker 以及工作者。按照 Boeuf 的说法,Web 和数据团队会使用仪表盘。

图片来源: https://medium.com/meilleursagents-engineering/how-we-monitor-asynchronous-tasks-da25728173d6?__s=6cjguhzuufdark8he4bm

他们组合使用 diffseries (在 Graphite 中,抽取时间序列的方式)和 Grafana着色(coloring)相关的配置可视化高亮显示可能存在的问题,比如红色背景代表某个应该为零的指标出现了非零的状况。 NewRelic Google Cloud Monitoring ,前者是一个外部工具,后者是产品所部署的云环境的一部分,这两个工具会负责告警部分。另外,NewRelic 还会监控 Celery 进程本身,确保它们处于运行状态。Grafana 也有内置的告警支持以及像 Pagerduty OpsGenie 这样的集成服务,但是团队并没有采用它们。

查看英文原文 Monitoring Distributed Task Queues at MeilleursAgents

2018-03-04 18:001731

评论

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

十年业务开发总结,如何做好高效高质量的价值交付

阿里技术

质量保障 交付质量

软件测试 | 跨平台API对接

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

测试

软件测试 | Android与iOS在app测试时有什么区别?

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

测试

软件测试 | pytest测试框架

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

测试

Clean Start与Session Expiry Interval - MQTT 5.0新特性

EMQ映云科技

物联网 IoT mqtt 客户端 企业号 3 月 PK 榜

软件测试 | python数据持久化技术

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

测试

ChatGPT开放API,上来就干到最低价,可以人手一个ChatGPT了

引迈信息

低代码 快速开发 openai ChatGPT

2022 IoTDB Summit:IoTDB PMC侯昊男《Apache IoTDB首创时序顺乱序分离存储引擎 IoTLSM》

Apache IoTDB

数据库 IoTDB

LeetCode题解:2373. 矩阵中的局部最大值,遍历,详细注释

Lee Chen

JavaScript LeetCode

2022 IoTDB Summit:IoTDB PMC 田原《大规模并行处理与边缘计算在 Apache IoTDB 中的实践》

Apache IoTDB

数据库 IoTDB

你知道目前master分支目前多大吗?

坚果

OpenHarmony

软件测试 | Java数据持久化技术

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

测试

软件测试 | parametrize实现参数化

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

测试

2022 IoTDB Summit:Apache IoTDB PMC 张金瑞《为物联网场景优化的时序数据库共识协议》

Apache IoTDB

大数据 IoTDB

一键接入 ChatGPT,让你的QQ群变得热闹起来

江户川码农

人工智能 聊天机器人 openai ChatGPT

4月 · CSM认证周末班【提前报名特惠】“全球金牌课程”CST导师亲授

ShineScrum

软件测试 | 后端web开发框架

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

测试

Hypium框架使能ArkTS应用高效测试

HarmonyOS开发者

HarmonyOS

软件测试/测试开发 | 学做测试平台开发-Vuetify 框架

测试人

软件测试 测试开发 测试平台

软件测试 | python跨平台API对接

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

测试

Atlassian Server用户新选择 | 数据中心产品是否适合您的企业(3)?

龙智—DevSecOps解决方案

Server Atlassian Jira 数据中心版

软件测试 | YAML是什么?

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

测试

高性能存储SIG月度动态:ANCK 5.10正式支持ublk、erofs容器镜像按需读时延优化60%

OpenAnolis小助手

操作系统 高性能存储 龙蜥社区 sig

OpenHarmonyApp启动页后记

白晓明

云数据库 HarmonyOS OpenHarmony 云函数 AppGallery Connect

软件测试 | Spring Boot的RESTful设计与实现

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

测试

研讨会回顾 | Perforce版本控制工具Helix Core入华十年,携手龙智赋能企业大规模研发

龙智—DevSecOps解决方案

版本控制 数字资产 游戏开发 数字资产管理 芯片研发

从智能进化模型看用友BIP的AI平台化能力

用友BIP

人工智能 用友 数智化 用友BIP

软件测试 | Spring Boot异常处理

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

测试

老铁们看过来!2023首场昇腾AI开发者创享日来到“东北黑土地”沈阳

科技热闻

软件测试 | 为什么使用Spring Boot

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

测试

软件测试 | Spring Boot集成Swargger

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

测试

MeilleursAgents是如何监控分布式任务队列的_DevOps & 平台工程_Hrishikesh Barua_InfoQ精选文章