22 lines
622 B
Ruby
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
|
|
}
|