写点什么

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:001403

评论

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

Java程序员涨薪必备的性能调优知识点,收好了

三十而立

Java

我眼中的优秀PM

BY林子

团队管理 项目管理

如何防止AD域环境遭受恶意攻击?

嘉为蓝鲸

AD #运维

开发和测试融合,到底该怎么做?

BY林子

敏捷开发 敏捷测试

媒体赞誉丨九科信息入选“第一新声”2022高成长新锐企业榜、RPA高成长企业榜,并受邀参加“2022年高科技高成长年度峰会”

九科Ninetech

论文分享丨Holistic Evaluation of Language Models

华为云开发者联盟

人工智能 华为云 论文 华为云开发者联盟 企业号 3 月 PK 榜

谷歌架构师分享gRPC与云原生应用开发Go和Java为例文档

程序知音

Java 架构 云原生 编程语言 后端

户外广告屏为什么会坏?

Dylan

LED 户外LED显示屏

"我眼中的ChatGPT"征文获奖作品合集

InfoQ写作社区官方

技术专题合集 热门活动 ChatGPT

尚硅谷Java真题详解教程发布

小谷哥

延伸测试边界,银行测试团队转型建议

BY林子

软件测试 敏捷测试 测试转型

HummerRisk 使用教程:k8s检测

HummerCloud

硬核!阿里出品2023版Java架构师面试指南,涵盖Java所有核心技能

三十而立

Java java面试

得物社区计数系统设计与实现

得物技术

性能优化 重构 稳定性

4种API性能恶化根因分析

华为云开发者联盟

开发 API 华为云 华为云开发者联盟 企业号 3 月 PK 榜

9 个可以快速掌握的 Java 性能调优技巧,必须掌握

三十而立

Java

架构实战营第10期毕业设计-秒杀系统

Geek_4db2d5

面试处处碰壁?不慌,Java核心面试文档.PDF助你披荆斩棘

三十而立

机器学习算法(一): 基于逻辑回归的分类预测

汀丶人工智能

数据挖掘 机器学习 数据分析 逻辑回归

综合系统清理优化工具:MacCleaner PRO中文激活版

真大的脸盆

Mac Mac 软件 mac系统清理优化软件 清理工具 清理优化

如何构建内部开发者门户:企业参考指南

SEAL安全

企业号 3 月 PK 榜 开发者体验 内部开发者门户

SVN管理工具:Cornerstone 4 激活版

真大的脸盆

svn Mac Mac 软件 SVN客户端

Docker等容器技术应用到移动开发的探索

Onegun

容器 docker build 小程序容器

一站式管理多平台小程序的办法

Onegun

微信小程序 小程序管理平台 小程序管理

【程序员日记】---当“微服务”遇到了“电饼铛“

京东科技开发者

架构 微服务 系统架构 开发 企业号 3 月 PK 榜

场景重塑:乐播投屏搭载无影架构,打造“超级投屏空间”

云布道师

无影

HummerRisk 使用教程:资源态势

HummerCloud

低代码开发平台如何推动企业数字化转型

力软低代码开发平台

三月征文活动结果已出炉,快来看看有没有你

InfoQ写作社区官方

热门活动 ChatGPT

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