logstash-output-statsd 2.0.4 → 2.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -1
- data/README.md +3 -0
- data/lib/logstash/outputs/statsd.rb +46 -32
- data/logstash-output-statsd.gemspec +1 -2
- metadata +21 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c657a3cd065de2a88a6b864835c2559dd4dd5924
|
4
|
+
data.tar.gz: a901e6c81be6c2a1a695a5897f2ad9ce3bf5823c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 537b0f1883a15ebfb612cc01c3336ca99dd80eb30d03951a6a4684f6521ea7aa76dcb508853f4023a81b348ea796e49aea55e2a5961d579d1927d49f8a0c24ff
|
7
|
+
data.tar.gz: 2b3d9bb64089f630de55acf760ce4df4bcbb0d9e70e073c2f60dfef74acfac2cc0305b1f9425347230be999df7a61e82894d1e293fcd77640e3184a2bd9971f0
|
data/CHANGELOG.md
CHANGED
@@ -1,7 +1,10 @@
|
|
1
|
+
## 2.0.5
|
2
|
+
- Doc improvements.
|
3
|
+
|
1
4
|
## 2.0.2
|
2
5
|
- Avoid rspec.configure global after and before :all blocks
|
3
6
|
## 2.0.0
|
4
|
-
- Plugins were updated to follow the new shutdown semantic, this mainly allows Logstash to instruct input plugins to terminate gracefully,
|
7
|
+
- Plugins were updated to follow the new shutdown semantic, this mainly allows Logstash to instruct input plugins to terminate gracefully,
|
5
8
|
instead of using Thread.raise on the plugins' threads. Ref: https://github.com/elastic/logstash/pull/3895
|
6
9
|
- Dependency on logstash-core update to 2.0
|
7
10
|
|
data/README.md
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
# Logstash Plugin
|
2
2
|
|
3
|
+
[![Build
|
4
|
+
Status](http://build-eu-00.elastic.co/view/LS%20Plugins/view/LS%20Outputs/job/logstash-plugin-output-statsd-unit/badge/icon)](http://build-eu-00.elastic.co/view/LS%20Plugins/view/LS%20Outputs/job/logstash-plugin-output-statsd-unit/)
|
5
|
+
|
3
6
|
This is a plugin for [Logstash](https://github.com/elastic/logstash).
|
4
7
|
|
5
8
|
It is fully free and fully open source. The license is Apache 2.0, meaning you are pretty much free to use it however you want in whatever way.
|
@@ -3,76 +3,90 @@ require "logstash/outputs/base"
|
|
3
3
|
require "logstash/namespace"
|
4
4
|
|
5
5
|
# statsd is a network daemon for aggregating statistics, such as counters and timers,
|
6
|
-
# and shipping over UDP to backend services, such as Graphite or Datadog.
|
7
|
-
#
|
8
|
-
#
|
9
|
-
#
|
10
|
-
#
|
11
|
-
# `namespace.sender.metric`
|
12
|
-
#
|
13
|
-
# The general idea is that you send statsd count or latency data and every few
|
14
|
-
# seconds it will emit the aggregated values to the backend. Example aggregates are
|
15
|
-
# `average`, `max`, `stddev`, etc.
|
6
|
+
# and shipping over UDP to backend services, such as Graphite or Datadog. The general
|
7
|
+
# idea is that you send metrics to statsd and every few seconds it will emit the
|
8
|
+
# aggregated values to the backend. Example aggregates are sums, average and maximum
|
9
|
+
# values, their standard deviation, etc. This plugin makes it easy to send such
|
10
|
+
# metrics based on data in Logstash events.
|
16
11
|
#
|
17
12
|
# You can learn about statsd here:
|
18
13
|
#
|
19
|
-
# *
|
14
|
+
# * https://codeascraft.com/2011/02/15/measure-anything-measure-everything/[Etsy blog post announcing statsd]
|
20
15
|
# * https://github.com/etsy/statsd[statsd on github]
|
21
16
|
#
|
22
|
-
#
|
23
|
-
#
|
17
|
+
# Typical examples of how this can be used with Logstash include counting HTTP hits
|
18
|
+
# by response code, summing the total number of bytes of traffic served, and tracking
|
19
|
+
# the 50th and 95th percentile of the processing time of requests.
|
24
20
|
#
|
25
|
-
#
|
21
|
+
# Each metric emitted to statsd has a dot-separated path, a type, and a value. The
|
22
|
+
# metric path is built from the `namespace` and `sender` options together with the
|
23
|
+
# metric name that's picked up depending on the type of metric. All in all, the
|
24
|
+
# metric path will follow this pattern:
|
26
25
|
#
|
27
|
-
#
|
26
|
+
# namespace.sender.metric
|
28
27
|
#
|
29
|
-
# With regards to this plugin, the default namespace is "logstash", the default
|
30
|
-
# is the
|
31
|
-
# in the `increment`, `decrement`, `timing`, `count
|
28
|
+
# With regards to this plugin, the default namespace is "logstash", the default
|
29
|
+
# sender is the `host` field, and the metric name depends on what is set as the
|
30
|
+
# metric name in the `increment`, `decrement`, `timing`, `count`, `set` or `gauge`
|
31
|
+
# options. In metric paths, colons (":"), pipes ("|") and at signs ("@") are reserved
|
32
|
+
# and will be replaced by underscores ("_").
|
32
33
|
#
|
33
34
|
# Example:
|
34
35
|
# [source,ruby]
|
35
36
|
# output {
|
36
|
-
#
|
37
|
-
#
|
38
|
-
#
|
39
|
-
#
|
37
|
+
# statsd {
|
38
|
+
# host => "statsd.example.org"
|
39
|
+
# count => {
|
40
|
+
# "http.bytes" => "%{bytes}"
|
41
|
+
# }
|
40
42
|
# }
|
41
|
-
# }
|
42
43
|
# }
|
44
|
+
#
|
45
|
+
# If run on a host named hal9000 the configuration above will send the following
|
46
|
+
# metric to statsd if the current event has 123 in its `bytes` field:
|
47
|
+
#
|
48
|
+
# logstash.hal9000.http.bytes:123|c
|
43
49
|
class LogStash::Outputs::Statsd < LogStash::Outputs::Base
|
44
50
|
## Regex stolen from statsd code
|
45
51
|
RESERVED_CHARACTERS_REGEX = /[\:\|\@]/
|
46
52
|
config_name "statsd"
|
47
53
|
|
48
|
-
# The address of the statsd server.
|
54
|
+
# The hostname or IP address of the statsd server.
|
49
55
|
config :host, :validate => :string, :default => "localhost"
|
50
56
|
|
51
57
|
# The port to connect to on your statsd server.
|
52
58
|
config :port, :validate => :number, :default => 8125
|
53
59
|
|
54
|
-
# The statsd namespace to use for this metric.
|
60
|
+
# The statsd namespace to use for this metric. `%{fieldname}` substitutions are
|
61
|
+
# allowed.
|
55
62
|
config :namespace, :validate => :string, :default => "logstash"
|
56
63
|
|
57
|
-
# The name of the sender. Dots will be replaced with underscores.
|
64
|
+
# The name of the sender. Dots will be replaced with underscores. `%{fieldname}`
|
65
|
+
# substitutions are allowed.
|
58
66
|
config :sender, :validate => :string, :default => "%{host}"
|
59
67
|
|
60
|
-
# An increment metric. Metric names as array.
|
68
|
+
# An increment metric. Metric names as array. `%{fieldname}` substitutions are
|
69
|
+
# allowed in the metric names.
|
61
70
|
config :increment, :validate => :array, :default => []
|
62
71
|
|
63
|
-
# A decrement metric. Metric names as array.
|
72
|
+
# A decrement metric. Metric names as array. `%{fieldname}` substitutions are
|
73
|
+
# allowed in the metric names.
|
64
74
|
config :decrement, :validate => :array, :default => []
|
65
75
|
|
66
|
-
# A timing metric. `metric_name => duration` as hash
|
76
|
+
# A timing metric. `metric_name => duration` as hash. `%{fieldname}` substitutions
|
77
|
+
# are allowed in the metric names.
|
67
78
|
config :timing, :validate => :hash, :default => {}
|
68
79
|
|
69
|
-
# A count metric. `metric_name => count` as hash
|
80
|
+
# A count metric. `metric_name => count` as hash. `%{fieldname}` substitutions are
|
81
|
+
# allowed in the metric names.
|
70
82
|
config :count, :validate => :hash, :default => {}
|
71
83
|
|
72
|
-
# A set metric. `metric_name => "string"` to append as hash
|
84
|
+
# A set metric. `metric_name => "string"` to append as hash. `%{fieldname}`
|
85
|
+
# substitutions are allowed in the metric names.
|
73
86
|
config :set, :validate => :hash, :default => {}
|
74
87
|
|
75
|
-
# A gauge metric. `metric_name => gauge` as hash.
|
88
|
+
# A gauge metric. `metric_name => gauge` as hash. `%{fieldname}` substitutions are
|
89
|
+
# allowed in the metric names.
|
76
90
|
config :gauge, :validate => :hash, :default => {}
|
77
91
|
|
78
92
|
# The sample rate for the metric.
|
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
|
3
3
|
s.name = 'logstash-output-statsd'
|
4
|
-
s.version = '2.0.
|
4
|
+
s.version = '2.0.5'
|
5
5
|
s.licenses = ['Apache License (2.0)']
|
6
6
|
s.summary = "Send metrics to StatsD"
|
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"
|
@@ -27,4 +27,3 @@ Gem::Specification.new do |s|
|
|
27
27
|
|
28
28
|
s.add_development_dependency 'logstash-devutils'
|
29
29
|
end
|
30
|
-
|
metadata
CHANGED
@@ -1,17 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-output-statsd
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Elastic
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-01-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
|
14
|
+
name: logstash-core
|
15
|
+
version_requirements: !ruby/object:Gem::Requirement
|
15
16
|
requirements:
|
16
17
|
- - '>='
|
17
18
|
- !ruby/object:Gem::Version
|
@@ -19,10 +20,7 @@ dependencies:
|
|
19
20
|
- - <
|
20
21
|
- !ruby/object:Gem::Version
|
21
22
|
version: 3.0.0
|
22
|
-
|
23
|
-
prerelease: false
|
24
|
-
type: :runtime
|
25
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirement: !ruby/object:Gem::Requirement
|
26
24
|
requirements:
|
27
25
|
- - '>='
|
28
26
|
- !ruby/object:Gem::Version
|
@@ -30,48 +28,50 @@ dependencies:
|
|
30
28
|
- - <
|
31
29
|
- !ruby/object:Gem::Version
|
32
30
|
version: 3.0.0
|
31
|
+
prerelease: false
|
32
|
+
type: :runtime
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
|
+
name: logstash-input-generator
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - '>='
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '0'
|
34
40
|
requirement: !ruby/object:Gem::Requirement
|
35
41
|
requirements:
|
36
42
|
- - '>='
|
37
43
|
- !ruby/object:Gem::Version
|
38
44
|
version: '0'
|
39
|
-
name: logstash-input-generator
|
40
45
|
prerelease: false
|
41
46
|
type: :runtime
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: statsd-ruby
|
42
49
|
version_requirements: !ruby/object:Gem::Requirement
|
43
50
|
requirements:
|
44
|
-
- - '
|
51
|
+
- - '='
|
45
52
|
- !ruby/object:Gem::Version
|
46
|
-
version:
|
47
|
-
- !ruby/object:Gem::Dependency
|
53
|
+
version: 1.2.0
|
48
54
|
requirement: !ruby/object:Gem::Requirement
|
49
55
|
requirements:
|
50
56
|
- - '='
|
51
57
|
- !ruby/object:Gem::Version
|
52
58
|
version: 1.2.0
|
53
|
-
name: statsd-ruby
|
54
59
|
prerelease: false
|
55
60
|
type: :runtime
|
61
|
+
- !ruby/object:Gem::Dependency
|
62
|
+
name: logstash-devutils
|
56
63
|
version_requirements: !ruby/object:Gem::Requirement
|
57
64
|
requirements:
|
58
|
-
- - '
|
65
|
+
- - '>='
|
59
66
|
- !ruby/object:Gem::Version
|
60
|
-
version:
|
61
|
-
- !ruby/object:Gem::Dependency
|
67
|
+
version: '0'
|
62
68
|
requirement: !ruby/object:Gem::Requirement
|
63
69
|
requirements:
|
64
70
|
- - '>='
|
65
71
|
- !ruby/object:Gem::Version
|
66
72
|
version: '0'
|
67
|
-
name: logstash-devutils
|
68
73
|
prerelease: false
|
69
74
|
type: :development
|
70
|
-
version_requirements: !ruby/object:Gem::Requirement
|
71
|
-
requirements:
|
72
|
-
- - '>='
|
73
|
-
- !ruby/object:Gem::Version
|
74
|
-
version: '0'
|
75
75
|
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
|
76
76
|
email: info@elastic.co
|
77
77
|
executables: []
|