首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >气流健康检查

气流健康检查
EN

Stack Overflow用户
提问于 2021-12-29 05:11:25
回答 1查看 843关注 0票数 3

我所使用的气流,有时管道等待很长时间才能安排好。也有过这样的情况:作业运行时间太长(想必占用了其他作业的资源)。

我正试图解决如何在没有任何额外框架的情况下,以编程方式识别调度程序的健康状况,并潜在地监视未来的运行状况。我开始查看元数据数据库表。我现在所能想到的就是从start_dateend_date中看到任务的dag_runduration。我应该看的其他指标是什么?非常感谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-02 11:46:30

没有必要“深入”数据库。

气流为您提供了可用于特定用途的度量标准:https://airflow.apache.org/docs/apache-airflow/stable/logging-monitoring/metrics.html

如果你向下滚动,你会看到所有有用的指标,其中一些正是你想要的(尤其是计时器)。

这可以通过通常的度量集成来完成。气流通过statsd发布度量标准,气流官方Helm图表(https://airflow.apache.org/docs/helm-chart/stable/index.html)甚至通过statsd出口商公开Prometheus的这些度量标准。

关于火花作业-是的-目前的实现火花提交挂钩/操作员是实现在“积极投票”模式。气流的“工人”过程轮询工作的状态。但是Airlfow可以并行运行多个工人作业。此外,如果您需要,您可以实现您自己的任务,这将采取不同的行为。

在“经典”气流中,您需要实现提交操作符(提交作业)和"poke_reschedule“传感器(等待作业完成),并以操作员之后触发传感器任务的方式实现DAG。"Poke“模式的工作方式是,传感器只在”轮询“时间内占用工作槽,然后释放该槽一段时间(直到再次检查)。

从气流2.2开始,您还可以编写一个Deferrable操作符(https://airflow.apache.org/docs/apache-airflow/stable/concepts/deferring.html?highlight=deferrable),其中您可以编写单个操作符--首先执行submision,然后在一个操作符中延迟状态检查。可删除操作符可以有效地处理(使用async.io)潜在的数千个等待/延迟运算符,而不占用插槽或过多的资源。

更新:如果您真的不能使用statsd (不需要helm,statsd就足够了),您就不应该使用DB获取有关DAGS的信息。使用稳定气流REST代替:https://airflow.apache.org/docs/apache-airflow/stable/stable-rest-api-ref.html

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70515361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档