[RADIATOR] Prometheus statistics output
Tarko Tikan
tarko at lanparty.ee
Wed Jun 17 13:39:47 UTC 2020
hey,
Resurrecting old thread about native Prometheus metrics directly from
Radiator. Did some digging in the source and "creative use of game
mechanics" type of solution I came up with is following:
<ServerHTTP>
PageNotFoundHook file:"stats.pl"
</ServerHTTP>
sub {
my $uri = $_[0];
if($uri !~ /^\/metrics$/) {
return;
}
my $stats;
foreach (sort keys %Radius::ServerConfig::statistic_names)
{
my $name = "radiator_$_";
my $value = $main::config->{Statistics}{$_};
my $help = $Radius::ServerConfig::statistic_names{$_};
$stats .= sprintf "# HELP %s %s\n", $name, $help;
$stats .= sprintf "%s %f\n", $name, $value;
}
return (200, $stats);
}
I'm not sure it's ment to be used this way but it works and is not
horrible at all. I don't see any obvious drawbacks why it shouldn't be
used, just have to check for any security implications of enabling
ServerHTTP.
--
tarko
More information about the radiator
mailing list