【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

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

评论

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

设计电商秒杀系统

好吃不贵

配置手机测试环境

IT蜗壳-Tango

8月日更

写作业写作业写作业

Nydia

Linux之iostat命令

入门小站

Linux

iOS 开发没市场了吗?移动开发真的凉了吗? | 【话题讨论】

HelloWorld杰少

话题讨论 iOS Developer

Git的实战教学 | 从0到1

卢卡多多

git 8月日更

15分钟的字节跳动视频面试,工作感悟

Geek_f90455

Java 程序员 后端

多核心Linux内核路径优化的不二法门之-slab与伙伴系统

奔着腾讯去

cpu Linux Kenel linuix

2020-2021华为Java面试真题,统统都会!

Geek_f90455

Java 程序员 后端

一波三折,终于找到src漏洞挖掘的方法了【建议收藏】

网络安全学海

黑客 网络安全 信息安全 渗透测试 漏洞挖掘

3分钟搭建一个网站?腾讯云Serverless开发体验

Zhendong

腾讯云 Serverless 云原生 云开发

Linux内核这么复杂,我该如何学习?

奔着腾讯去

学习 面试 内存 Linux Kenel 进程管理

SpringBoot 中使用Redis缓存

xcbeyond

redis 8月日更

10万字Mysql实战文档,Java面试题汇总

Geek_f90455

Java 程序员 后端

10天拿到字节跳动Java岗位offer,互联网行业“中年”危机

Geek_f90455

Java 程序员 后端

网络攻防学习笔记 Day93

穿过生命散发芬芳

网络攻防 8月日更

2020-2021阿里巴巴Java面试真题解析,详细的Java学习指南

Geek_f90455

Java 程序员 后端

2021Java大厂高频面试题,原理+实战+视频+源码

Geek_f90455

Java 程序员 后端

【设计模式】建造者

Andy阿辉

C# 编程 后端 设计模式 8月日更

02 设计模式之策略模式

陈皮的JavaLib

Java 设计模式 策略模式 8月日更

webstorm之开发工具Vim(一)

Augus

8月日更

社会心理学-自尊

箭上有毒

读书笔记 8月日更

12年高级工程师的“飞升之路”,面试题+笔记+项目实战

Geek_f90455

Java 程序员 后端

即战力:职场上如鱼得水的一种能力

非著名程序员

个人成长 提升认知 职场成长 8月日更

借助AI模型目标检测打标签工具 :Makesense.ai , 解放双手 ! ! !

码农的后花园

人工智能 深度学习 目标检测 yolo YOLOv5

架构师实战营 模块十总结

代廉洁

架构实战营

2020-2021华为Java面试真题,内含福利

Geek_f90455

Java 程序员 后端

别再用平板和手机当泡面盖了,将平板和手机同时作为电脑的外接显示屏,效率不只提升一点点 ! ! !

码农的后花园

ipad #windows #Mac 平板 电脑

怎么对数据指标管理

水滴

指标体系 数据指标 8月日更 指标管理

在线分数加减乘除计算器

入门小站

工具

醍醐灌顶学习RTMP,从总体介绍到各个细节

hanaper

音视频

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