lxc-exporter/config.ru

22 lines
622 B
Ruby

require 'rack'
require_relative 'lib/lxc_collector'
require_relative 'lib/authorized_keys_collector'
require 'prometheus/client/formats/text'
run lambda {|env|
req = Rack::Request.new env
case req.path
when '/authorized_keys'
collector = AuthorizedKeysCollector.new
[200, {"Content-Type" => "text/javascript"}, [collector.collect.to_json]}]
when '/metrics'
collector = LxcCollector.new
[200, {"Content-Type" => "text/plain"}, [Prometheus::Client::Formats::Text.marshal( collector.collect)]]
else
[404, {"Content-Type" => "text/plain"}, ["Not found\nYou want to try /metrics?\n"]]
end
}