33 lines
848 B
C++
33 lines
848 B
C++
#include "DataSources/DnsmasqSource.h"
|
|
|
|
#include <iostream>
|
|
#include <chrono>
|
|
#include <thread>
|
|
|
|
#include <prometheus/exposer.h>
|
|
#include <prometheus/registry.h>
|
|
#include <prometheus/counter.h>
|
|
|
|
int main() {
|
|
prometheus::Exposer exposer{"0.0.0.0:9000"};
|
|
auto registry = std::make_shared<prometheus::Registry>();
|
|
DnsmasqSource dnsmasq;
|
|
|
|
auto& gouge = prometheus::BuildGauge()
|
|
.Name("aliencat_dnsmasq_leases")
|
|
.Help("Dnsmasq leases detail info")
|
|
.Register(*registry);
|
|
|
|
exposer.RegisterCollectable(registry);
|
|
|
|
for (;;) {
|
|
std::this_thread::sleep_for(std::chrono::seconds(1));
|
|
for(const auto& leaseLabels: dnsmasq.readLeases()) {
|
|
gouge.Add(leaseLabels).Set(1);
|
|
std::cout << "mac: " << leaseLabels.at("mac") << std::endl;
|
|
}
|
|
}
|
|
|
|
return 0;
|
|
}
|