class LogStash::Outputs::WebSocket
This output runs a websocket server and publishes any messages to all connected websocket clients.
You can connect to it with ws://<host>:<port>/
If no clients are connected, any messages received are ignored.
Public Instance Methods
receive(event)
click to toggle source
# File lib/logstash/outputs/websocket.rb, line 41 def receive(event) @pubsub.publish(event.to_json) end
register()
click to toggle source
# File lib/logstash/outputs/websocket.rb, line 22 def register require "ftw" require "logstash/outputs/websocket/app" require "logstash/outputs/websocket/pubsub" @pubsub = LogStash::Outputs::WebSocket::Pubsub.new @pubsub.logger = @logger @server = Thread.new(@pubsub) do |pubsub| begin Rack::Handler::FTW.run(LogStash::Outputs::WebSocket::App.new(pubsub, @logger), :Host => @host, :Port => @port) rescue => e @logger.error("websocket server failed", :exception => e) sleep 1 retry end end end