logstash-output-librato 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: af38790c8c984bcef1c23c6e8d10be6330e5902e
4
- data.tar.gz: 12a42103ec99ab0b198b4bf2291fad75743776c6
3
+ metadata.gz: 8d8f6622975d71749bdcf732b227e20ae302e829
4
+ data.tar.gz: 405b9e76c811ed3cea2b1355ffd11e626ca9b5e6
5
5
  SHA512:
6
- metadata.gz: 02d70d9b0024458bc98f4d8cbb1550a451f847ff8d512090cc5ff9c017fd19bc44066f4a16fa49e23aa6da413efb87a09846f06694bf10b4f46361eabe840cc8
7
- data.tar.gz: a54d8cd55e1986c2a6637786d2f54324a416929c7fcbd7aad35f624ce0fac1bf33f964558015a9c923ba835e4bb4f5675e3b8f879cfdd30362e5f530f3a8188d
6
+ metadata.gz: e5d164e5f81608a2ec10ee7457af57cf021045f442575366320eec1c765b704548631a306f912920428eaf77f22b270ea55b435aae20e75484bfd481bec5299f
7
+ data.tar.gz: 545f60bea32dc01e560a06ade9474b0db15455f90b56157a161796fabe07dcbe40707407a3f9f38e62064d7db68ce6649321a5eab40232557996ef2d15f91380
@@ -1,12 +1,13 @@
1
1
  # encoding: utf-8
2
2
  require "logstash/outputs/base"
3
3
  require "logstash/namespace"
4
+ require "logstash/json"
4
5
 
5
6
 
6
7
  class LogStash::Outputs::Librato < LogStash::Outputs::Base
7
8
  # This output lets you send metrics, annotations and alerts to
8
9
  # Librato based on Logstash events
9
- #
10
+ #
10
11
  # This is VERY experimental and inefficient right now.
11
12
 
12
13
  config_name "librato"
@@ -71,7 +72,7 @@ class LogStash::Outputs::Librato < LogStash::Outputs::Base
71
72
  @client = Net::HTTP.new(@uri.host, @uri.port)
72
73
  @client.use_ssl = true
73
74
  @client.verify_mode = OpenSSL::SSL::VERIFY_NONE
74
-
75
+
75
76
  end # def register
76
77
 
77
78
  public
@@ -86,9 +87,9 @@ class LogStash::Outputs::Librato < LogStash::Outputs::Base
86
87
  g_hash.each do |k,v|
87
88
  g_hash[k] = v.to_f if k=="value"
88
89
  end
89
- g_hash['measure_time'] = event["@timestamp"].to_i unless g_hash['measure_time']
90
+ g_hash['measure_time'] = event.timestamp.to_i unless g_hash['measure_time']
90
91
  @logger.warn("Gauges hash", :data => g_hash)
91
- metrics_event['gauges'] = Array.new
92
+ metrics_event['gauges'] = Array.new
92
93
  metrics_event['gauges'] << g_hash
93
94
  @logger.warn("Metrics hash", :data => metrics_event)
94
95
  end
@@ -97,21 +98,21 @@ class LogStash::Outputs::Librato < LogStash::Outputs::Base
97
98
  c_hash.each do |k,v|
98
99
  c_hash[k] = v.to_f if k=="value"
99
100
  end
100
- c_hash['measure_time'] = event["@timestamp"].to_i unless c_hash['measure_time']
101
+ c_hash['measure_time'] = event.timestamp.to_i unless c_hash['measure_time']
101
102
  @logger.warn("Counters hash", :data => c_hash)
102
103
  metrics_event['counters'] = Array.new
103
104
  metrics_event['counters'] << c_hash
104
105
  @logger.warn("Metrics hash", :data => metrics_event)
105
106
  end
106
-
107
+
107
108
  # TODO (lusis)
108
109
  # Clean this mess up
109
110
  unless metrics_event.size == 0
110
111
  request = Net::HTTP::Post.new(@uri.path+"metrics")
111
112
  request.basic_auth(@account_id, @api_token)
112
-
113
+
113
114
  begin
114
- request.body = metrics_event.to_json
115
+ request.body = LogStash::Json.dump(metrics_event)
115
116
  request.add_field("Content-Type", 'application/json')
116
117
  response = @client.request(request)
117
118
  @logger.warn("Librato convo", :request => request.inspect, :response => response.inspect)
@@ -127,19 +128,19 @@ class LogStash::Outputs::Librato < LogStash::Outputs::Base
127
128
  @logger.warn("Original Annotation", :data => @annotation)
128
129
  annotation_event = Hash[*@annotation.collect{|k,v| [event.sprintf(k),event.sprintf(v)]}.flatten]
129
130
  @logger.warn("Annotation event", :data => annotation_event)
130
-
131
+
131
132
  annotation_path = "#{@uri.path}annotations/#{annotation_event['name']}"
132
133
  @logger.warn("Annotation path", :data => annotation_path)
133
134
  request = Net::HTTP::Post.new(annotation_path)
134
135
  request.basic_auth(@account_id, @api_token)
135
136
  annotation_event.delete('name')
136
- annotation_event['start_time'] = event["@timestamp"].to_i unless annotation_event['start_time']
137
- annotation_event['end_time'] = event["@timestamp"].to_i unless annotation_event['end_time']
137
+ annotation_event['start_time'] = event.timestamp.to_i unless annotation_event['start_time']
138
+ annotation_event['end_time'] = event.timestamp.to_i unless annotation_event['end_time']
138
139
  annotation_hash['annotations'] << annotation_event
139
140
  @logger.warn("Annotation event", :data => annotation_event)
140
141
 
141
142
  begin
142
- request.body = annotation_event.to_json
143
+ request.body = LogStash::Json.dump(annotation_event)
143
144
  request.add_field("Content-Type", 'application/json')
144
145
  response = @client.request(request)
145
146
  @logger.warn("Librato convo", :request => request.inspect, :response => response.inspect)
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
 
3
3
  s.name = 'logstash-output-librato'
4
- s.version = '0.1.2'
4
+ s.version = '0.1.3'
5
5
  s.licenses = ['Apache License (2.0)']
6
6
  s.summary = "This output lets you send metrics, annotations and alerts to Librato based on Logstash events"
7
7
  s.description = "This gem is a logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/plugin install gemname. This gem is not a stand-alone program"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-output-librato
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elasticsearch
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-27 00:00:00.000000000 Z
11
+ date: 2015-02-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -81,7 +81,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
81
81
  version: '0'
82
82
  requirements: []
83
83
  rubyforge_project:
84
- rubygems_version: 2.1.9
84
+ rubygems_version: 2.4.5
85
85
  signing_key:
86
86
  specification_version: 4
87
87
  summary: This output lets you send metrics, annotations and alerts to Librato based on Logstash events