Airflow 集成
编辑Airflow 集成
编辑概述
编辑Airflow 是一个开源平台,用于以编程方式创作、调度和监控工作流。它允许用户将工作流定义为任务的有向无环图 (DAG),这些任务随后由 Airflow 调度程序在遵循指定依赖关系的情况下在一系列工作器上执行。
使用 Airflow 集成可以
- 使用 StatsD 从 Airflow 收集详细的指标,以深入了解系统性能。
- 创建信息丰富的可视化效果,以跟踪使用趋势、衡量关键指标并得出可操作的业务见解。
- 实时监控工作流的性能和状态。
数据流
编辑Airflow 集成收集指标数据。
指标提供有关 Airflow 统计信息的深入信息。Airflow 集成收集的 Metric
数据流是 statsd
,使用户能够监控和排除 Airflow 实例的性能故障。
数据流
-
statsd
:收集与 Airflow 中的调度程序活动、池使用情况、任务执行详细信息、执行程序性能和工作器状态相关的指标。
注意
- 用户可以在
Discover
中metrics-*
索引模式下的 Airflow 摄入文档中监控和查看指标。
兼容性
编辑Airflow 模块已使用 Airflow 2.4.0
进行测试。它应该适用于 2.0.0
和更高版本。
先决条件
编辑用户需要 Elasticsearch 来存储和搜索用户数据,并需要 Kibana 来可视化和管理数据。他们可以使用 Elastic Cloud 上托管的 Elasticsearch 服务(推荐),或在自己的硬件上自行管理 Elastic Stack。
要从 Airflow 摄取数据,用户必须具有 StatsD 才能接收数据。
设置
编辑有关如何设置集成的分步说明,请参阅入门指南。
设置 Airflow 的步骤
编辑请务必遵循官方Airflow 安装指南来正确安装 Airflow。
在用户的 Airflow 配置文件(例如 airflow.cfg
)中包含以下行。将 statsd_prefix
留空,并将 %HOST%
替换为代理正在运行的地址
[metrics] statsd_on = True statsd_host = %HOST% statsd_port = 8125 statsd_prefix =
验证
编辑设置集成后,您可以单击 Airflow 集成中的“资产”选项卡以查看可用仪表板的列表。选择与您配置的数据流相对应的仪表板。仪表板应填充所需的数据。
故障排除
编辑- 通过检查日志中潜在的错误,检查 StatsD 服务器是否正在从 Airflow 接收数据。
- 确保 Airflow 配置文件中的
%HOST%
占位符已替换为 StatsD 服务器正在运行的计算机的正确地址。 - 如果未发出 Airflow 指标,请确认
airflow.cfg
文件中的[metrics]
部分已按照上述说明正确配置。
指标参考
编辑Statsd
编辑这是 statsd
数据流,它收集与 Airflow 中的调度程序活动、池使用情况、任务执行详细信息、执行程序性能和工作器状态相关的指标。
示例
statsd
的示例事件如下所示
{ "@timestamp": "2024-06-18T07:24:40.220Z", "agent": { "ephemeral_id": "82e52250-5f2d-4fad-9f19-b88a209229db", "id": "97400795-188c-4140-a1ee-0002078c785d", "name": "docker-fleet-agent", "type": "metricbeat", "version": "8.13.0" }, "airflow": { "scheduler_critical_section_duration": { "count": 1, "max": 7, "mean": 7, "mean_rate": 0.25568506211340597, "median": 7, "min": 7, "stddev": 0 } }, "data_stream": { "dataset": "airflow.statsd", "namespace": "ep", "type": "metrics" }, "ecs": { "version": "8.11.0" }, "elastic_agent": { "id": "97400795-188c-4140-a1ee-0002078c785d", "snapshot": false, "version": "8.13.0" }, "event": { "agent_id_status": "verified", "dataset": "airflow.statsd", "ingested": "2024-06-18T07:24:50Z", "module": "statsd" }, "host": { "architecture": "x86_64", "containerized": true, "hostname": "docker-fleet-agent", "id": "8259e024976a406e8a54cdbffeb84fec", "ip": [ "192.168.245.7" ], "mac": [ "02-42-C0-A8-F5-07" ], "name": "docker-fleet-agent", "os": { "codename": "focal", "family": "debian", "kernel": "3.10.0-1160.102.1.el7.x86_64", "name": "Ubuntu", "platform": "ubuntu", "type": "linux", "version": "20.04.6 LTS (Focal Fossa)" } }, "metricset": { "name": "server" }, "service": { "type": "statsd" } }
ECS 字段参考
有关 ECS 字段的详细信息,请参阅以下文档。
导出的字段
字段 | 描述 | 类型 | 指标类型 |
---|---|---|---|
@timestamp |
事件时间戳。 |
日期 |
|
agent.id |
关键词 |
||
airflow.*.count |
Airflow 计数器 |
对象 |
计数器 |
airflow.*.max |
Airflow 最大计时器指标 |
对象 |
|
airflow.*.mean |
Airflow 平均计时器指标 |
对象 |
|
airflow.*.mean_rate |
Airflow 平均速率计时器指标 |
对象 |
|
airflow.*.median |
Airflow 中值计时器指标 |
对象 |
|
airflow.*.min |
Airflow 最小计时器指标 |
对象 |
|
airflow.*.stddev |
Airflow 标准偏差计时器指标 |
对象 |
|
airflow.*.value |
Airflow 仪表 |
对象 |
仪表 |
airflow.dag_file |
Airflow dag 文件元数据 |
关键词 |
|
airflow.dag_id |
Airflow dag ID 元数据 |
关键词 |
|
airflow.job_name |
Airflow 作业名称元数据 |
关键词 |
|
airflow.operator_name |
Airflow 运算符名称元数据 |
关键词 |
|
airflow.pool_name |
Airflow 池名称元数据 |
关键词 |
|
airflow.scheduler_heartbeat.count |
Airflow 调度程序心跳 |
双精度 |
|
airflow.status |
Airflow 状态元数据 |
关键词 |
|
airflow.task_id |
Airflow 任务 ID 元数据 |
关键词 |
|
cloud.account.id |
用于在多租户环境中识别不同实体的云帐户或组织 ID。示例:AWS 账户 ID、Google Cloud ORG ID 或其他唯一标识符。 |
关键词 |
|
cloud.availability_zone |
此主机运行所在的可用区。 |
关键词 |
|
cloud.image.id |
云实例的映像 ID。 |
关键词 |
|
cloud.instance.id |
主机计算机的实例 ID。 |
关键词 |
|
cloud.provider |
云提供商的名称。示例值包括 aws、azure、gcp 或 digitalocean。 |
关键词 |
|
cloud.region |
此主机运行所在的区域。 |
关键词 |
|
container.id |
唯一容器 ID。 |
关键词 |
|
data_stream.dataset |
数据流数据集。 |
常量关键词 |
|
data_stream.namespace |
数据流命名空间。 |
常量关键词 |
|
data_stream.type |
数据流类型。 |
常量关键词 |
|
event.dataset |
事件数据集 |
常量关键词 |
|
event.module |
事件模块 |
常量关键词 |
|
host.containerized |
如果主机是容器。 |
布尔 |
|
host.name |
主机的名称。它可以包含 Unix 系统上 |
关键词 |
|
host.os.build |
操作系统构建信息。 |
关键词 |
|
host.os.codename |
操作系统代号(如果有)。 |
关键词 |
|
service.address |
服务地址 |
关键词 |
变更日志
编辑变更日志
版本 | 详细信息 | Kibana 版本 |
---|---|---|
0.9.0 |
增强 (查看拉取请求) |
— |
0.8.0 |
增强 (查看拉取请求) |
— |
0.7.0 |
增强 (查看拉取请求) |
— |
0.6.0 |
增强 (查看拉取请求) |
— |
0.5.1 |
错误修复 (查看拉取请求) |
— |
0.5.0 |
增强 (查看拉取请求) |
— |
0.4.0 |
增强 (查看拉取请求) |
— |
0.3.1 |
错误修复 (查看拉取请求) |
— |
0.3.0 |
增强 (查看拉取请求) |
— |
0.2.0 |
增强 (查看拉取请求) |
— |
0.1.0 |
增强 (查看拉取请求) |
— |
0.0.5 |
错误修复 (查看拉取请求) |
— |
0.0.4 |
增强 (查看拉取请求) |
— |
0.0.3 |
增强 (查看拉取请求) |
— |
0.0.2 |
增强 (查看拉取请求) |
— |
0.0.1 |
增强 (查看拉取请求) |
— |