fluent-plugin-scalyr 0.8.7 → 0.8.8

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
- SHA256:
3
- metadata.gz: 07de29b14ab7bb4183d662138f847ee9b75e94ee1b4eabeb65bb30725baea31a
4
- data.tar.gz: 26261270771892d09baa36c4c7625492b69748c2f908dc9d1595fad609adae6a
2
+ SHA1:
3
+ metadata.gz: 525ad76a1b5dffcc9e95054ce47518f236b09f42
4
+ data.tar.gz: c6e7fc32d30c1af2c90a1370bf7acd52191e9725
5
5
  SHA512:
6
- metadata.gz: b2de1513bda2040d60c4f7ccfeb9a44f1c5a8965601833b7f656851d3fe7107e8070b42b6e0f7dca47a31827285670b01317020cea272f8186f56eaeaa97e1e7
7
- data.tar.gz: c07a6f90ffda567a2518a5d7de0b7c0af9d0320535ff3b080a1a23d40861a01a5a8193d3c44c03ea97ba0ddb2361f39d012f4dffb766e8e0c9d7be78ddfe703d
6
+ metadata.gz: b7906fea7f77596e7be212f82759970b3ca68db9fa9a192bfdced94d6f02342a76e0ce37cb2396d813dd3d4f24abe2214f437a0637aea1605911aa34bb0bcd5b
7
+ data.tar.gz: 8b18d99f72bdc39d0043d93cb37aa4cfaf71ea67ecba0003281ae567689089d6ed5ec15c41242abd76242b5b5b821c75172815dfc27dd75e7755a82faae85d6e
data/README.md CHANGED
@@ -33,7 +33,7 @@ Fluentd tag names will be used for the logfile name in Scalyr.
33
33
  Scalyr Parsers and Custom Fields
34
34
  --------------------------------
35
35
 
36
- You may also need to specify a Scalyr parser for your log message or add custom fields to each log event. This can be done using Fluentd's filter mechanism, in particular the [record_transformer filter](http://docs.fluentd.org/articles/filter_record_transformer).
36
+ You may also need to specify a Scalyr parser for your log message or add custom fields to each log event. This can be done using Fluentd's filter mechanism, in particular the [record_transformer filter](https://docs.fluentd.org/filter/record_transformer).
37
37
 
38
38
  For example, if you want to use Scalyr's ```accessLog``` parser for all events with the ```scalyr.access``` tag you would add the following to your fluent.conf file:
39
39
 
@@ -67,6 +67,7 @@ The following configuration options are also supported:
67
67
  #scalyr specific options
68
68
  api_write_token YOUR_SCALYR_WRITE_TOKEN
69
69
  compression_type bz2
70
+ use_hostname_for_serverhost true
70
71
  server_attributes {
71
72
  "serverHost": "front-1",
72
73
  "serverType": "frontend",
@@ -98,7 +99,7 @@ The following configuration options are also supported:
98
99
  </match>
99
100
  ```
100
101
 
101
- ####Scalyr specific options
102
+ ### Scalyr specific options
102
103
 
103
104
  ***compression_type*** - compress Scalyr traffic to reduce network traffic. Options are `bz2` and `deflate`. See [here](https://www.scalyr.com/help/scalyr-agent#compressing) for more details. This feature is optional.
104
105
 
@@ -106,6 +107,8 @@ The following configuration options are also supported:
106
107
 
107
108
  ***server_attributes*** - a JSON hash containing custom server attributes you want to include with each log request. This value is optional and defaults to *nil*.
108
109
 
110
+ ***use_hostname_for_serverhost*** - if `true` then if `server_attributes` is nil or it does *not* include a field called `serverHost` then the plugin will add the `serverHost` field with the value set to the hostname that fluentd is running on. Defaults to `true`.
111
+
109
112
  ***scalyr_server*** - the Scalyr server to send API requests to. This value is optional and defaults to https://agent.scalyr.com/
110
113
 
111
114
  ***ssl_ca_bundle_path*** - a path on your server pointing to a valid certificate bundle. This value is optional and defaults to */etc/ssl/certs/ca-bundle.crt*.
@@ -132,7 +135,7 @@ The cURL project maintains CA certificate bundles automatically converted from m
132
135
 
133
136
  ***replace_invalid_utf8*** - If this value is true and ***force_message_encoding*** is set to 'UTF-8' then all invalid UTF-8 sequences in log messages will be replaced with <?>. Defaults to false. This flag has no effect if ***force_message_encoding*** is not set to 'UTF-8'.
134
137
 
135
- ####Buffer options
138
+ ### Buffer options
136
139
 
137
140
  ***retry_max_times*** - the maximum number of times to retry a failed post request before giving up. Defaults to *40*.
138
141
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.8.7
1
+ 0.8.8
@@ -26,6 +26,7 @@ require 'rbzip2'
26
26
  require 'stringio'
27
27
  require 'zlib'
28
28
  require 'securerandom'
29
+ require 'socket'
29
30
  require 'thread'
30
31
 
31
32
  module Scalyr
@@ -36,6 +37,7 @@ module Scalyr
36
37
 
37
38
  config_param :api_write_token, :string
38
39
  config_param :server_attributes, :hash, :default => nil
40
+ config_param :use_hostname_for_serverhost, :bool, :default => true
39
41
  config_param :scalyr_server, :string, :default => "https://agent.scalyr.com/"
40
42
  config_param :ssl_ca_bundle_path, :string, :default => "/etc/ssl/certs/ca-bundle.crt"
41
43
  config_param :ssl_verify_peer, :bool, :default => true
@@ -109,6 +111,22 @@ module Scalyr
109
111
  @server_attributes = new_attributes
110
112
  end
111
113
 
114
+ # See if we should use the hostname as the server_attributes.serverHost
115
+ if @use_hostname_for_serverhost
116
+
117
+ # ensure server_attributes is not nil
118
+ if @server_attributes.nil?
119
+ @server_attributes = {}
120
+ end
121
+
122
+ # only set serverHost if it doesn't currently exist in server_attributes
123
+ # Note: Use strings rather than symbols for the key, because keys coming
124
+ # from the config file will be strings
125
+ if !@server_attributes.key? 'serverHost'
126
+ @server_attributes['serverHost'] = Socket.gethostname
127
+ end
128
+ end
129
+
112
130
  @scalyr_server << '/' unless @scalyr_server.end_with?('/')
113
131
 
114
132
  @add_events_uri = URI @scalyr_server + "addEvents"
@@ -17,12 +17,15 @@
17
17
 
18
18
 
19
19
  require 'helper'
20
+ require 'socket'
20
21
 
21
22
  class ConfigTest < Scalyr::ScalyrOutTest
22
23
 
23
24
  def test_default_params
24
25
  d = create_driver
25
- assert_nil( d.instance.server_attributes, "Default server_attributes not nil" )
26
+ hostname = Socket.gethostname
27
+ assert_not_nil( d.instance.server_attributes, "Default server_attributes should not be nil" )
28
+ assert_equal( hostname, d.instance.server_attributes['serverHost'], "Default serverHost is not hostname" )
26
29
  assert( d.instance.ssl_verify_peer, "Default ssl_verify_peer should be true" )
27
30
 
28
31
  #check default buffer limits because they are set outside of the config_set_default
@@ -30,6 +33,17 @@ class ConfigTest < Scalyr::ScalyrOutTest
30
33
  assert_equal( 1024, d.instance.buffer.buffer_queue_limit, "Buffer queue limit should be 1024" )
31
34
  end
32
35
 
36
+ def test_custom_serverhost_not_overwritten
37
+ hostname = "customHost"
38
+ d = create_driver CONFIG + "server_attributes { \"serverHost\":\"#{hostname}\" }\nuse_hostname_for_serverhost true"
39
+ assert_equal( hostname, d.instance.server_attributes['serverHost'], "Custom serverHost should not be overwritten" )
40
+ end
41
+
42
+ def test_configure_use_hostname_for_serverhost
43
+ d = create_driver CONFIG + 'use_hostname_for_serverhost false'
44
+ assert_nil( d.instance.server_attributes, "Default server_attributes should be nil" )
45
+ end
46
+
33
47
  def test_configure_ssl_verify_peer
34
48
  d = create_driver CONFIG + 'ssl_verify_peer false'
35
49
  assert( !d.instance.ssl_verify_peer, "Config failed to set ssl_verify_peer" )
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-scalyr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.7
4
+ version: 0.8.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Imron Alston
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-02-13 00:00:00.000000000 Z
11
+ date: 2019-07-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd
@@ -169,13 +169,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
169
169
  version: '0'
170
170
  requirements: []
171
171
  rubyforge_project:
172
- rubygems_version: 2.7.6
172
+ rubygems_version: 2.6.10
173
173
  signing_key:
174
174
  specification_version: 4
175
175
  summary: Scalyr plugin for fluentd
176
176
  test_files:
177
- - test/test_events.rb
178
- - test/test_config.rb
179
177
  - test/helper.rb
180
- - test/test_handle_response.rb
181
178
  - test/test_ssl_verify.rb
179
+ - test/test_handle_response.rb
180
+ - test/test_events.rb
181
+ - test/test_config.rb