1
0
Fork 0
mirror of https://codeberg.org/icewind/prometheus-mdns-rs.git synced 2026-06-03 18:04:11 +02:00
mDNS service discovery for prometherus
  • Rust 50.4%
  • Nix 49.6%
Find a file
2025-06-02 21:29:59 +02:00
.forgejo/workflows workflow updates 2025-06-02 21:29:59 +02:00
nix flake reorg 2024-12-15 14:35:27 +01:00
src upgrades 2024-01-14 16:28:45 +01:00
.envrc flake 2022-07-26 22:12:40 +02:00
.gitignore flake 2022-07-26 22:12:40 +02:00
Cargo.lock updates 2024-12-15 14:40:14 +01:00
Cargo.toml updates 2024-12-15 14:40:14 +01:00
flake.lock flake update 2025-06-02 21:29:09 +02:00
flake.nix flake update 2025-06-02 21:29:09 +02:00
LICENSE-APACHE dockerfile, readme and licence 2019-09-08 17:19:23 +02:00
LICENSE-MIT dockerfile, readme and licence 2019-09-08 17:19:23 +02:00
README.md flake reorg 2024-12-15 14:35:27 +01:00

mDNS service discovery for Prometheus

Discovers mDNS/ZeroConf/Bonjour service announcements under _prometheus-http._tcp for ad-hoc discovery of devices on LAN networks.

Usage

Run the service discovery daemon

prometheus-mdns-sd-rs /etc/prometheus/mdns-sd.json

Configure prometheus to use the output file

- job_name: mdns-sd
  scrape_interval: 30s
  scrape_timeout: 10s
  metrics_path: /metrics
  scheme: http
  file_sd_configs:
    - files:
        - /etc/prometheus/mdns-sd.json
      refresh_interval: 5m

Advertising services

An example of advertising services using the esp8266 arduino sdk

if (!MDNS.begin(hostString)) {
    Serial.println("Error setting up MDNS responder!");
}
MDNS.addService("prometheus-http", "tcp", 80);
MDNS.addServiceTxt("prometheus-http", "tcp", "name", prometheus_name);

Credits

Wholly inspired by prometheus-mdns-sd by Morten Siebuhr