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
2022-11-24 11:42:16 +00:00
.github/workflows ci 2021-12-12 15:23:25 +01:00
src Accept service name on cmdline 2022-11-24 11:42:16 +00:00
.dockerignore flake 2022-07-26 22:12:40 +02:00
.envrc flake 2022-07-26 22:12:40 +02:00
.gitignore flake 2022-07-26 22:12:40 +02:00
Cargo.lock bumb dependencies 2022-07-26 20:48:15 +02:00
Cargo.toml bumb dependencies 2022-07-26 20:48:15 +02:00
Dockerfile ci 2021-12-12 15:23:25 +01:00
flake.lock flake 2022-07-26 22:12:40 +02:00
flake.nix tweak serviceConfig 2022-08-02 20:23:36 +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 dockerfile, readme and licence 2019-09-08 17:19:23 +02: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