class LogStash::Kibana::Runner

Constants

Settings

Public Instance Methods

run(args) click to toggle source
# File lib/logstash/kibana.rb, line 58
def run(args)
  settings = Settings.new
  settings.address = "0.0.0.0"
  settings.port = 9292
  settings.backend = "localhost"

  progname = File.basename($0)

  opts = OptionParser.new do |opts|
    opts.banner = "Usage: #{progname} [options]"
    opts.on("-a", "--address ADDRESS", "Address on which to start webserver. Default is 0.0.0.0.") do |address|
      settings.address = address
    end

    opts.on("-p", "--port PORT", "Port on which to start webserver. Default is 9292.") do |port|
      settings.port = port.to_i
    end

    #opts.on("-b", "--backend host",
            #"The backend host to use. Default is 'localhost'") do |host|
      #settings.backend = host
    #end
  end

  begin
    args = opts.parse(args)
  rescue SystemExit
    # if you ask for --help, optparse will exit.
    # capture it and return normally
    return []
  end

  @thread = Thread.new do
    Cabin::Channel.get.info("Starting web server", :settings => settings)
    ftw = Rack::Handler::FTW.new(LogStash::Kibana::App.new,
                           :Host => settings.address,
                           :Port => settings.port)
    trap_id = Stud::trap("INT") do
      puts "Stopping web..."
      ftw.stop rescue nil
      raise SystemExit
    end

    ftw.run
  end

  return args
end
wait() click to toggle source
# File lib/logstash/kibana.rb, line 108
def wait
  @thread.join if @thread
  return 0
end