logstash-output-librato 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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