28 lines
897 B
PHP
28 lines
897 B
PHP
<?php
|
|
|
|
// Prometheus metrics endpoint for temperatures.
|
|
$router->get('/metrics', function($req) use($db) {
|
|
header('Content-Type: text/plain; charset=UTF-8');
|
|
|
|
$results = $db->getDevices();
|
|
|
|
// Print temperature metrics
|
|
echo "# HELP temperature_celsius Temperature readings from the device\n";
|
|
echo "# TYPE temperature_celsius gauge\n";
|
|
foreach ($results as $index => $row) {
|
|
$temperature = $row['temperature'];
|
|
echo "temperature_celsius{device_id=\"{$row['id']}\"} $temperature\n";
|
|
}
|
|
|
|
// Print humidity metrics
|
|
echo "# HELP relative_humidity_percent Humidity readings from the device\n";
|
|
echo "# TYPE relative_humidity_percent gauge\n";
|
|
foreach ($results as $index => $row) {
|
|
$humidity = $row['humidity'];
|
|
echo "relative_humidity_percent{device_id=\"{$row['id']}\"} $humidity\n";
|
|
}
|
|
|
|
http_response_code(200);
|
|
});
|
|
|