使用 InfluxDB 和 Telegraf 监控空气质量
作者:Anais Dotis-Georgiou / 产品
2022 年 11 月 07 日
导航至
本文最初发表于 The New Stack,并经许可在此处转载。
如果您住在北半球,您可能会很高兴体验夏天。然而,随着夏季的到来,也带来了火灾季节,因此重要的是要记住 您可以做些什么来降低野火的风险。如果您居住在容易发生野火的地区,那么监测空气质量以保护自己免受烟雾的危害是明智的。
今天,我们将使用时间序列平台 InfluxDB 来监控空气质量并设置警报,以便在烟雾达到危险水平时通知我们。具体来说,我们将使用 空气质量模板 来轻松开始使用 InfluxDB。
InfluxDB 模板是预先打包的配置,可在平台上设置大量资源。空气质量模板包括一个仪表板,可轻松可视化您的空气质量数据,以及一个 Telegraf 配置,用于将空气质量数据写入您的 InfluxDB 实例。Telegraf 是一个用于指标和事件的开源收集代理。我们的 Telegraf 配置将使用 http 输入插件从 AirNow API 写入数据。
先决条件
本文假设您已完成以下步骤
- 首先,在此处获取 InfluxDB。我建议注册 InfluxDB Cloud,因为这是开始使用 InfluxDB 的最简单方法。
- 安装 Telegraf 代理。在此处 查找您首选的下载方法。
安装空气质量模板
要安装空气质量模板,请导航到**模板页面**,该页面位于左侧导航栏的**设置**下。
复制并粘贴以下 URL,然后单击**查找模板**
https://github.com/influxdata/community-templates/blob/master/airquality/airquality.yml
接下来,单击**安装模板**以添加所有关联的资源。
设置 AirNow
按照 Readme 中的说明,首先转到 https://docs.airnowapi.org/account/request/ 以请求 AirNow AP 的帐户访问权限。接下来,转到 https://docs.airnowapi.org/forecastsbyzip/query,并按如下方式构建您的 URL
- 输入您感兴趣的邮政编码。
- 从 **Format(格式)** 下拉列表中选择 application/json。
- 单击 **Build(构建)**。
- 复制 URL 字符串。
- 编辑 URL 字符串,删除日期(例如“&date=2022-06-14”)。
从 AirNow 复制生成的 URL,并在将其添加到您的 Telegraf 配置文件之前删除“&date=2022-06-14”。
删除日期后,您的 URL 应如下所示。
设置 Telegraf
接下来,您需要编辑 Telegraf 配置文件。您可以通过单击安装后的 **airquality(空气质量)** 模板,展开资源下拉列表,然后单击 **airquality-telegraf(空气质量-Telegraf)** 配置,轻松导航到正确的 Telegraf 配置文件。
这将带您进入“加载数据”页面。在这里,您可以单击配置名称进行编辑。
现在我们可以将编辑后的 AirNow URL 粘贴到第 17 行,然后单击 **Save Changes(保存更改)**。
现在单击 **Setup Instructions(设置说明)**(配置名称旁边),以使用此配置运行我们的 Telegraf 代理并将空气质量指标写入 InfluxDB。
空气质量仪表板
空气质量仪表板是空气质量模板随附的另一个资源。
让 Telegraf 运行一段时间,然后访问仪表板页面下的预构建仪表板。从左侧导航栏导航到仪表板页面。确保选择我们想要从中创建可视化的适当存储桶 airquality(空气质量)。它包括两个仪表可视化
- 当前 PM2.5:此仪表显示最新的细颗粒物 (PM2.5) 水平。
- 当前臭氧质量:此仪表显示最新的臭氧水平。
该图表显示了按严重程度级别分隔的空气质量指数 (AQI)。
向空气质量模板添加警报
我们可以轻松地向空气质量模板添加警报,以便在 AQI 达到危险水平时收到通知。您可以使用 InfluxDB 将警报发送到各种不同的端点,包括 Slack。导航到 **Alerts(警报)** 页面,然后单击 **+ Create(+ 创建)** 以创建新的检查。接下来,使用 **Query Builder(查询构建器)** 查询您的数据。设置一个时间间隔,以确定您希望多久检查一次数据,以查看数据是否超过了阈值。最后,设置您的通知端点。要了解如何配置您的 Slack 通知端点,请关注 这篇文章。
如何设置阈值检查以在 InfluxDB UI 中获得不安全 AQI 通知的示例。
最终想法
我希望这篇文章能启发您利用 InfluxDB 在今年夏天保持健康。我还鼓励您查看 Enviro+ Raspberry Pi 空气质量模板,以构建您自己的空气质量传感器。