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 }