Skip to content

hansmi/prometheus-ai-on-the-edge-device-exporter

Repository files navigation

Prometheus metrics for AI-on-the-edge devices

Latest release CI workflow Go reference

A Prometheus metrics exporter for AI-on-the-edge devices, an artificial intelligence-based system to digitize analog measurements by meters (water, gas, power, etc.) running on ESP32 microcontrollers.

Usage

docker run --rm -p 8081:8081 ghcr.io/hansmi/prometheus-ai-on-the-edge-device-exporter:latest

The exporter expects probe requests on the /probe endpoint. A single URL query parameter named target specifies the target URL.

$ curl http://localhost:8081/probe?target=http://water
…
ai_on_the_edge_device_cpu_temperature_celsius 46
ai_on_the_edge_device_flow_value{name="main"} 12.345
…

Scrape config

Example configuration for Prometheus:

scrape_configs:

# Metrics of exporter itself
- job_name: ai-on-the-edge-device-exporter
  static_configs:
    - targets: ["exporter:8081"]

- job_name: ai-on-the-edge-device
  metrics_path: /probe
  static_configs:
    - targets:
      - http://water
      - http://gas
  relabel_configs:
    - source_labels: [__address__]
      target_label: __param_target
    - source_labels: [__param_target]
      target_label: instance
    - target_label: __address__
      replacement: "exporter:8081"

Installation

Pre-built binaries:

  • Binary archives (.tar.gz)
  • Debian/Ubuntu (.deb)
  • RHEL/Fedora (.rpm)
  • Microsoft Windows (.zip)

Docker images via GitHub's container registry:

docker pull ghcr.io/hansmi/prometheus-ai-on-the-edge-device-exporter

With the source being available it's also possible to produce custom builds directly using Go or GoReleaser.