logstash-output-statsd 2.0.4 → 2.0.5
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 +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
|
+
[](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: []
|