53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
# File 'lib/logstash/outputs/circonus.rb', line 53
def receive(event)
annotation_event = Hash[*@annotation.collect{|k,v| [event.sprintf(k),event.sprintf(v)]}.flatten]
@logger.warn("Annotation event", :data => annotation_event)
annotation_array = []
annotation_path = "#{@uri.path}annotation"
@logger.warn("Annotation path", :data => annotation_path)
request = Net::HTTP::Post.new(annotation_path)
annotation_event['start'] = event.timestamp.to_i unless annotation_event['start']
annotation_event['stop'] = event.timestamp.to_i unless annotation_event['stop']
@logger.warn("Annotation event", :data => annotation_event)
annotation_array << annotation_event
begin
request.set_form_data(:annotations => LogStash::Json.dump(annotation_array))
@logger.warn(annotation_event)
request.add_field("X-Circonus-Auth-Token", "#{@api_token}")
request.add_field("X-Circonus-App-Name", "#{event.sprintf(@app_name)}")
response = @client.request(request)
@logger.warn("Circonus convo", :request => request.inspect, :response => response.inspect)
raise unless response.code == '200'
rescue Exception => e
@logger.warn("Unhandled exception", :request => request.inspect, :response => response.inspect, :exception => e.inspect)
end
end
|