fluent-plugin-prometheus 0.4.0 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/fluent-plugin-prometheus.gemspec +1 -1
- data/lib/fluent/plugin/in_prometheus.rb +45 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: c8de232abd7ede7d5988f3280f6c8735de2c0371c831830ee56574ca5d38a056
|
4
|
+
data.tar.gz: 5042393a2e68e75dbcc35bf4ae7a857498f9d2e6ebbbd164f62a270e3274be65
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8acba008b1f5beafae1e7cac6214083ad033def64ea5af572724cbec3337b03c122cef09b1935a9617e375abc0f83b7b33269904f567f7e17ec90d7f79e8da40
|
7
|
+
data.tar.gz: 7187a5995e479c445bb0457081606b869456ad46bacd539962fb74147f5b9d72d0b78cb45b1d43a64c247328f673c91aa12ce86c53e915e171d6f5fb70e23afa
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |spec|
|
2
2
|
spec.name = "fluent-plugin-prometheus"
|
3
|
-
spec.version = "0.
|
3
|
+
spec.version = "0.5.0"
|
4
4
|
spec.authors = ["Masahiro Sano"]
|
5
5
|
spec.email = ["sabottenda@gmail.com"]
|
6
6
|
spec.summary = %q{A fluent plugin that collects metrics and exposes for Prometheus.}
|
@@ -10,6 +10,23 @@ module Fluent
|
|
10
10
|
config_param :port, :integer, :default => 24231
|
11
11
|
config_param :metrics_path, :string, :default => '/metrics'
|
12
12
|
|
13
|
+
desc 'Enable ssl configuration for the server'
|
14
|
+
config_section :ssl, multi: false, required: false do
|
15
|
+
config_param :enable, :bool, required: false, default: false
|
16
|
+
|
17
|
+
desc 'Path to the ssl certificate in PEM format. Read from file and added to conf as "SSLCertificate"'
|
18
|
+
config_param :certificate_path, :string, required: false, default: nil
|
19
|
+
|
20
|
+
desc 'Path to the ssl private key in PEM format. Read from file and added to conf as "SSLPrivateKey"'
|
21
|
+
config_param :private_key_path, :string, required: false, default: nil
|
22
|
+
|
23
|
+
desc 'Path to CA in PEM format. Read from file and added to conf as "SSLCACertificateFile"'
|
24
|
+
config_param :ca_path, :string, required: false, default: nil
|
25
|
+
|
26
|
+
desc 'Additional ssl conf for the server. Ref: https://github.com/ruby/webrick/blob/master/lib/webrick/ssl.rb'
|
27
|
+
config_param :extra_conf, :hash, multi: false, required: false, default: {:SSLCertName => [['CN','nobody'],['DC','example']]}, symbolize_keys: true
|
28
|
+
end
|
29
|
+
|
13
30
|
attr_reader :registry
|
14
31
|
|
15
32
|
def initialize
|
@@ -23,13 +40,39 @@ module Fluent
|
|
23
40
|
|
24
41
|
def start
|
25
42
|
super
|
26
|
-
|
43
|
+
config = {
|
27
44
|
BindAddress: @bind,
|
28
45
|
Port: @port,
|
29
46
|
MaxClients: 5,
|
30
47
|
Logger: WEBrick::Log.new(STDERR, WEBrick::Log::FATAL),
|
31
48
|
AccessLog: [],
|
32
|
-
|
49
|
+
}
|
50
|
+
unless @ssl.nil? || !@ssl['enable']
|
51
|
+
require 'webrick/https'
|
52
|
+
require 'openssl'
|
53
|
+
if (@ssl['certificate_path'] && @ssl['private_key_path'].nil?) || (@ssl['certificate_path'].nil? && @ssl['private_key_path'])
|
54
|
+
raise RuntimeError.new("certificate_path and private_key_path most both be defined")
|
55
|
+
end
|
56
|
+
ssl_config = {
|
57
|
+
SSLEnable: true
|
58
|
+
}
|
59
|
+
if @ssl['certificate_path']
|
60
|
+
cert = OpenSSL::X509::Certificate.new(File.read(@ssl['certificate_path']))
|
61
|
+
ssl_config[:SSLCertificate] = cert
|
62
|
+
end
|
63
|
+
if @ssl['private_key_path']
|
64
|
+
key = OpenSSL::PKey::RSA.new(File.read(@ssl['private_key_path']))
|
65
|
+
ssl_config[:SSLPrivateKey] = key
|
66
|
+
end
|
67
|
+
ssl_config[:SSLCACertificateFile] = @ssl['ca_path'] if @ssl['ca_path']
|
68
|
+
ssl_config = ssl_config.merge(@ssl['extra_conf'])
|
69
|
+
config = ssl_config.merge(config)
|
70
|
+
end
|
71
|
+
@log.on_debug do
|
72
|
+
@log.debug("WEBrick conf: #{config}")
|
73
|
+
end
|
74
|
+
|
75
|
+
@server = WEBrick::HTTPServer.new(config)
|
33
76
|
@server.mount(@metrics_path, MonitorServlet, self)
|
34
77
|
@thread = Thread.new { @server.start }
|
35
78
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-prometheus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Masahiro Sano
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-09-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fluentd
|
@@ -151,7 +151,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
151
151
|
version: '0'
|
152
152
|
requirements: []
|
153
153
|
rubyforge_project:
|
154
|
-
rubygems_version: 2.6
|
154
|
+
rubygems_version: 2.7.6
|
155
155
|
signing_key:
|
156
156
|
specification_version: 4
|
157
157
|
summary: A fluent plugin that collects metrics and exposes for Prometheus.
|