gpt4 book ai didi

airflow - Prometheus:如何根据任何 Airflow Dag 而不是特定 Airflow Dag 的结果创建警报

转载 作者:行者123 更新时间:2023-12-04 15:14:31 28 4
gpt4 key购买 nike

我使用“pip install 'apache-airflow[statsd]' 安装了 airflow[statsd] 并安装了 statsd_exporter。现在我可以看到来自 Prometheus 的 Airflow 指标。但是所有与 Airflow 相关的指标都有 dag_id 和 task_id 作为一部分指标名称。

例如,对于任务 ID 为“task1”的 dag id“dag1”,完成任务所用时间的指标为:airflow_dag_dag1_task1_duration。对于任务 ID 为“task2”的 dag id“dag2”,指标为:airflow_dag_dag2_task2_duration。

我感兴趣的是:如果任何 dag 失败则触发警报,或者如果 dag 完成所需的时间超过 XXX 秒则触发警报。换句话说,我不想为每个单独的 dag 或任务创建规则和警报。我想提醒一般情况。

如何在 Prometheus 中为一般情况创建规则/警报?

最佳答案

您应该能够使用类似下面的内容并以此为基础发出警报:

{__name__=~"airflow_dag.+_duration"}

请注意,如果您只使用 {__name__=~".+"},这是一个昂贵的查询,可能会破坏需要重新启动 Prometheus 服务的实例。

已更新以包含示例警报:

- alert: Saf_Test
expr: ({__name__=~"windows_cpu.+_total"} > 5.8281319e+07)
for: 5m
labels:
severity: warning
annotations:
description: 'Alert text here'
summary: 'Summary here'

关于airflow - Prometheus:如何根据任何 Airflow Dag 而不是特定 Airflow Dag 的结果创建警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64566408/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com