6 个版本 (破坏性更新)
0.5.1 | 2023年10月21日 |
---|---|
0.5.0 | 2023年10月16日 |
0.4.0 | 2022年3月13日 |
0.3.0 | 2022年2月6日 |
0.1.0 | 2022年2月2日 |
#1 在 #nws
38KB
487 行
nws_exporter
为 api.weather.gov 提供的 Prometheus 指标导出器
功能
nws_exporter
使用 NWS 站点 的 api.weather.gov API 获取特定站点的天气信息,并将其作为 Prometheus 指标输出。用户必须选择一个特定的站点来获取天气信息。以下指标在可用时输出(并非所有字段对所有站点都可用)。
nws_station{station=$STATION, station_id=$STATION_ID, station_name=$STATION_NAME}
- 站点元数据nws_elevation_meters{station=$STATION}
- 站点海拔,单位为米。nws_temperature_degrees{station=$STATION}
- 温度,单位为摄氏度。nws_dewpoint_degrees{station=$STATION}
- 露点,单位为摄氏度。nws_barometric_pressure_pascals{station=$STATION}
- 气压,单位为帕斯卡。nws_visibility_meters{station=$STATION}
- 能见度,单位为米。nws_relative_humidity{station=$STATION}
- 相对湿度(0-100)。nws_wind_chill_degrees{station=$STATION}
- 风寒温度,单位为摄氏度。
安装
以下列出了多种安装 nws_exporter
的方法。
二进制文件
为每个版本,都发布了适用于GNU/Linux (x86_64)、Windows (x86_64) 和 MacOS (x86_64 和 aarch64) 的二进制文件。请参阅此处。
Docker
为GNU/Linux (amd64) 发布了Docker镜像,可在每个版本中找到。
Cargo
使用Rust的cargo
工具,可以从源代码下载和构建nws_exporter
及其依赖项。请注意,这需要您已安装Rust工具链。
安装
cargo install nws_exporter
卸载
cargo uninstall nws_exporter
源代码
使用Rust的cargo
工具,可以从Github上最新的源代码构建nws_exporter
及其依赖项。请注意,这需要您已安装Git和Rust工具链。
获取源代码
git clone https://github.com/56quarters/nws_exporter.git && cd nws_exporter
从本地源安装
cargo install --path .
卸载
cargo uninstall nws_exporter
使用方法
选择站点
为了导出NWS预报信息,nws_exporter
需要知道请求信息的NWS站点。您可以通过使用API本身来获取您所在州的可用站点列表。以下是一个使用curl
的示例。
curl -sS 'https://api.weather.gov/stations?state=MA' | jq | less
此命令列出了马萨诸塞州的所有可用站点。每个站点的properties.stationIdentifier
字段是您应该与nws_exporter
一起使用的ID。例如,KBOS
是波士顿洛根机场站点的ID。
然后您可以像下面演示的那样运行nws_exporter
。
./nws_exporter KBOS
运行
您可以使用提供的单元文件将nws_exporter
作为Systemd服务运行。此单元文件假设您已将生成的nws_exporter
二进制文件复制到/usr/local/bin/nws_exporter
。请确保编辑单元文件以使用您在上一步中选择的附近的站点。
sudo cp target/release/nws_exporter /usr/local/bin/nws_exporter
sudo cp ext/nws_exporter.service /etc/systemd/system/nws_exporter.service
sudo sed -i 's/KBOS/YOUR_STATION/' /etc/systemd/system/nws_exporter.service
sudo systemctl daemon-reload
sudo systemctl enable nws_exporter.service
sudo systemctl start nws_exporter.serivce
Prometheus
在9782
端口上的/metrics
暴露Prometheus指标。一旦nws_exporter
运行,请通过Prometheus服务器配置对它的抓取。按照以下示例,将运行nws_exporter
的主机添加到Prometheus的scrape_configs
部分下作为目标。
# Sample config for Prometheus.
global:
scrape_interval: 15s
evaluation_interval: 15s
external_labels:
monitor: 'my_prom'
scrape_configs:
- job_name: nws_exporter
static_configs:
- targets: ['example:9782']
许可证
nws_exporter
在GPL版本3的条款下可用。请参阅此处。
贡献
除非您明确声明,否则您提交的任何贡献都将按照上述条款许可,没有其他额外条款或条件。
依赖项
~12–27MB
~432K SLoC