Class: Syslogstash
- Inherits:
-
ServiceSkeleton
- Object
- ServiceSkeleton
- Syslogstash
- Defined in:
- lib/syslogstash.rb
Overview
Read syslog messages from one or more sockets, and send it to a logstash server.
Defined Under Namespace
Classes: SyslogReader
Instance Method Summary collapse
- #force_disconnect! ⇒ Object
-
#initialize(*_) ⇒ Syslogstash
constructor
A new instance of Syslogstash.
- #run ⇒ Object
- #shutdown ⇒ Object
Constructor Details
#initialize(*_) ⇒ Syslogstash
Returns a new instance of Syslogstash.
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/syslogstash.rb', line 20 def initialize(*_) super hook_signal("URG") do config.relay_to_stdout = !config.relay_to_stdout logger.info(logloc) { "SIGURG received; relay_to_stdout is now #{config.relay_to_stdout.inspect}" } end @shutdown_reader, @shutdown_writer = IO.pipe metrics.counter(:syslogstash_messages_received_total, "The number of syslog messages received from the log socket") metrics.counter(:syslogstash_messages_sent_total, "The number of logstash messages sent to each logstash server") metrics.gauge(:syslogstash_last_relayed_message_timestamp, "When the last message that was successfully relayed to logstash was originally received") metrics.gauge(:syslogstash_queue_size, "How many messages are currently in the queue to be sent") metrics.counter(:syslogstash_dropped_total, "Number of log entries that were not forwarded due to matching the drop regex") @writer = LogstashWriter.new(server_name: config.logstash_server, backlog: config.backlog_size, logger: config.logger, metrics_registry: metrics) @reader = SyslogReader.new(config, @writer, metrics) end |
Instance Method Details
#force_disconnect! ⇒ Object
55 56 57 |
# File 'lib/syslogstash.rb', line 55 def force_disconnect! @writer.force_disconnect! end |
#run ⇒ Object
40 41 42 43 44 45 46 |
# File 'lib/syslogstash.rb', line 40 def run @writer.run @reader.start! @shutdown_reader.getc @shutdown_reader.close end |
#shutdown ⇒ Object
48 49 50 51 52 53 |
# File 'lib/syslogstash.rb', line 48 def shutdown @reader.stop! @writer.stop @shutdown_writer.close end |