fluent-plugin-loki 0.2.0 → 0.3.0

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
- SHA1:
3
- metadata.gz: 3e5f70e68080255a5f28f5b702e46e2e660f353a
4
- data.tar.gz: b34c36c0fca7ca9f9ea4af6cd6f5c6854128a0cf
2
+ SHA256:
3
+ metadata.gz: 81073839ffb94f94fca6fb985e7198c1fbd3c83cddbfb7be0e8ca9d84052608d
4
+ data.tar.gz: 953ebade1319eaa5e9916706682a3df9a4bb25d9a58da61fe16c5facf6f7ef07
5
5
  SHA512:
6
- metadata.gz: 6b485714200470651ada989bc5e51ed0de5b81d2a337ae8189780758b4d139de3e1f1861964f51bf69e182b9bd8c6ee68b9e319ebe88dbe0d93c990b306d9d86
7
- data.tar.gz: bd99be8cf63ab1148564f1ca36c6bf0738d0424baadb08b71e576267ded090a45b33bdde36ccffd71c623f6e9c207fe7bf57a5a1c439becfe2dd7b12bb041409
6
+ metadata.gz: c1c97ce4da2402367629a304f05b56a491c411d20f47f0a7537c33019e0e4a1121c0a3e8f206d02e8347e159501ef00a75f2dc86a81e5c1cbc9941751d3776f3
7
+ data.tar.gz: ae319239ddea0888cc55281a9f0f0a74166eb7115a227b71266fddce05ee7c9d34f82f408751bfb537b3bc87c7abcd8df9d68c865dc204ed9671b50f8261ec26
data/README.md CHANGED
@@ -5,13 +5,19 @@
5
5
  - Can be used to ship docker logs to Loki (using [Fluentd docker logging driver](https://docs.docker.com/config/containers/logging/fluentd/))
6
6
  - Enable easier transtion to Loki - an alternative to Loki's Promtail
7
7
 
8
- **Under devlopment!!**
8
+ ## Installation
9
+
10
+ ### RubyGems
11
+
12
+ ```
13
+ $ gem install fluent-plugin-loki
14
+ ```
9
15
 
10
16
  ## Configuration
11
17
  sample configuration:
12
18
  ```
13
19
  <match *>
14
- @type http
20
+ @type loki
15
21
  endpoint_url http://127.0.0.1:3100
16
22
  labels {"env":"prod","farm":"a"} # default: nil
17
23
  tenant abcd # default: nil
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |gem|
4
4
  gem.name = "fluent-plugin-loki"
5
- gem.version = "0.2.0"
5
+ gem.version = "0.3.0"
6
6
  gem.authors = ["Edan Shahmoon"]
7
7
  gem.email = ["edan100@gmail.com"]
8
8
  gem.summary = %q{A Fluentd output plugin to send logs to Grafana Loki}
@@ -1,6 +1,7 @@
1
1
  require 'net/http'
2
2
  require 'uri'
3
3
  require 'yajl'
4
+ require 'json'
4
5
  require 'fluent/plugin/output'
5
6
 
6
7
  class Fluent::Plugin::LokiOutput < Fluent::Plugin::Output
@@ -47,6 +48,9 @@ class Fluent::Plugin::LokiOutput < Fluent::Plugin::Output
47
48
  # Switch non-buffered/buffered plugin
48
49
  config_param :buffered, :bool, :default => false
49
50
 
51
+ # Support multiple JSON encoders
52
+ config_param :encoder, :enum, list: [:yajl, :json], default: :yajl
53
+
50
54
  config_section :buffer do
51
55
  config_set_default :@type, DEFAULT_BUFFER_TYPE
52
56
  config_set_default :chunk_keys, ['tag']
@@ -56,12 +60,18 @@ class Fluent::Plugin::LokiOutput < Fluent::Plugin::Output
56
60
  compat_parameters_convert(conf, :buffer)
57
61
  super
58
62
 
63
+ @encoder = case @encoder
64
+ when :yajl
65
+ Yajl
66
+ when :json
67
+ JSON
68
+ end
69
+
59
70
  @ssl_verify_mode = if @ssl_no_verify
60
71
  OpenSSL::SSL::VERIFY_NONE
61
72
  else
62
73
  OpenSSL::SSL::VERIFY_PEER
63
74
  end
64
-
65
75
  @ca_file = @cacert_file
66
76
  @last_request_time = nil
67
77
  raise Fluent::ConfigError, "'tag' in chunk_keys is required." if !@chunk_key_tag && @buffered
@@ -99,7 +109,7 @@ class Fluent::Plugin::LokiOutput < Fluent::Plugin::Output
99
109
  end
100
110
 
101
111
  def set_json_body(req, data)
102
- req.body = Yajl.dump(data)
112
+ req.body = @encoder.dump(data)
103
113
  req['Content-Type'] = 'application/json'
104
114
  end
105
115
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-loki
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Edan Shahmoon
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-01-06 00:00:00.000000000 Z
11
+ date: 2021-11-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: yajl-ruby
@@ -121,8 +121,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
121
121
  - !ruby/object:Gem::Version
122
122
  version: '0'
123
123
  requirements: []
124
- rubyforge_project:
125
- rubygems_version: 2.5.2.1
124
+ rubygems_version: 3.1.2
126
125
  signing_key:
127
126
  specification_version: 4
128
127
  summary: A Fluentd output plugin to send logs to Grafana Loki