写点什么

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

评论

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

游戏研发与产业的变革之路

百度开发者中心

#人工智能 生成式AI LLM

警惕U盘、FTP等传统文件摆渡方式的7大弊端

镭速

文件传输 大数据传输 文件摆渡

如何提升Java项目质量,代码是关键

飞算JavaAI开发助手

代码质量 Java 开发

软件开发中,如何为你的代码构建三层防护体系

华为云开发者联盟

软件开发 华为云 华为云开发者联盟 企业号9月PK榜

这个时代,由消费主导的敏态数据更值钱

ToB行业头条

【华秋干货铺】双面混装PCBA过波峰焊时,如何选用治具?

华秋电子

PCB

物联网、工业大数据平台 TDengine 与苍穹地理信息平台完成兼容互认证

TDengine

时序数据库 #TDengine 国产时序数据库

腾讯云ES:一站式接入,数据链路可视化重磅来袭!

腾讯云大数据

ES

同一份数据全域共享,HashData UnionStore实时性背后的故事

酷克数据HashData

观测云产品更新 | 优化日志数据转发、索引绑定、基础设施自定义等

观测云

可观测性用观测云

聊聊wireshark的进阶使用功能 | 京东云技术团队

京东科技开发者

网络协议 Wireshark 抓包 企业号9月PK榜

用友第五届开发者大赛初赛晋级公示,复赛火热进行中!

YonBuilder低代码开发平台

低代码引擎 TinyEngine 正式发布!!!

OpenTiny社区

开源 前端 低代码

用友BIP开发者生态亮相华为全联接大会

YonBuilder低代码开发平台

首购2元起!CDN与加速特惠专场来啦~

火山引擎边缘云

CDN CDN加速 边缘云 CDN技术

云GPU如何加速AI训练

青椒云云电脑

云服务器

一图回顾华为云开发者联盟扫地僧见面会

华为云开发者联盟

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

网络隔离下实现的文件传输,现有的方式真的安全吗?

镭速

文件传输 内外网数据交换 网络隔离

ByConity 技术详解之 ELT

字节跳动开源

大数据 开源 实时数仓 Clickhouse 数仓

深入探讨Java面试中内存泄漏:如何识别、预防和解决

程序那些事

Java 程序那些事 面试秘籍

华秋应邀精彩亮相IOTE物联网展

华秋电子

IOTE

入门有监督学习:数据、模型、度量

麦田的守望者

机器学习 有监督学习

企业应用的挑战与机遇

百度开发者中心

#人工智能 生成式AI 千帆大模型平台

赋能游戏产业的新引擎

百度开发者中心

#人工智能 生成式AI 千帆大模型平台

INFINI Labs 产品更新 | Gateway 支持基于 Kafka 的复制能力,发布 Helm Charts 部署方式

极限实验室

Helm Charts infini gateway INFINI Console easysearch

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