class LogStash::Inputs::CloudflareLogs
Public Instance Methods
cloudflare_access()
click to toggle source
# File lib/logstash/inputs/cloudflare_logs.rb, line 88 def cloudflare_access @access ||= CloudflareAccess.new(auth_key: @auth_key, auth_email: @auth_email, domain: @domain_key, logger: @logger, metadata_file: @metadata_file) end
process_logs(queue)
click to toggle source
# File lib/logstash/inputs/cloudflare_logs.rb, line 96 def process_logs(queue) cloudflare_access.logs.each do |log| log['fields.type'] = 'cloudflare' log['fields.env'] = @environment_name event = LogStash::Event.new(log) event.timestamp= LogStash::Timestamp.at(log['EdgeStartTimestamp'].to_i / 1_000_000_000) decorate(event) queue << event end cloudflare_access.update_metadata_file('start_time', cloudflare_access.end_time) @access = nil end
register()
click to toggle source
# File lib/logstash/inputs/cloudflare_logs.rb, line 84 def register @host = Socket.gethostname end
run(queue)
click to toggle source
# File lib/logstash/inputs/cloudflare_logs.rb, line 110 def run(queue) # we can abort the loop if stop? becomes true until stop? process_logs(queue) # because the sleep interval can be big, when shutdown happens # we want to be able to abort the sleep # Stud.stoppable_sleep will frequently evaluate the given block # and abort the sleep(@interval) if the return value is true Stud.stoppable_sleep(@interval) { stop? } end # loop end
stop()
click to toggle source
# File lib/logstash/inputs/cloudflare_logs.rb, line 123 def stop # nothing to do in this case so it is not necessary to define stop # examples of common 'stop' tasks: # * close sockets (unblocking blocking reads/accepts) # * cleanup temporary files # * terminate spawned threads end