fluent-plugin-http-cwm 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +41 -0
- data/.github/workflows/publish.yml +58 -0
- data/.rubocop.yml +17 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +63 -0
- data/README.md +52 -35
- data/Rakefile +2 -0
- data/fluent-plugin-http-cwm.gemspec +6 -5
- data/lib/fluent/plugin/in_http_cwm.rb +53 -31
- data/test/helper.rb +3 -0
- data/test/logs.txt +29 -0
- data/test/plugin/test_in_http_cwm.rb +63 -5
- metadata +53 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0fd32dfa032f161178f7cdbced98e810a58150161c8549505225951197c8b335
|
4
|
+
data.tar.gz: 18a3d8dcde2bd06e01bcefbc405ed7457f6dffae68c84d43e0e69b67b3e0708e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 69211562baa2f6e837823bd92bf58b6aa3be9d55657cc0b2a44aef1e718bbe248c44097df3cc91ef510fa851e9b109122e732e57cfa2743cc83f46a60613c5b0
|
7
|
+
data.tar.gz: bc0b0cee0e7b24b254f6d432804530399bdcfffb86e1b98bafc52d3f25f74a3ee8c0dcff004b322ea1ce791db356ebf8ae66d2ba43d65618127b37e05f870888
|
@@ -0,0 +1,41 @@
|
|
1
|
+
name: ci
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
paths-ignore:
|
6
|
+
- '**.md'
|
7
|
+
- '.rubocop.yml'
|
8
|
+
pull_request:
|
9
|
+
paths-ignore:
|
10
|
+
- '**.md'
|
11
|
+
- '.rubocop.yml'
|
12
|
+
|
13
|
+
jobs:
|
14
|
+
run-tests:
|
15
|
+
name: Run tests
|
16
|
+
strategy:
|
17
|
+
matrix:
|
18
|
+
os: [ubuntu-18.04]
|
19
|
+
ruby-version: ['2.5', '2.6', '2.7']
|
20
|
+
|
21
|
+
runs-on: ${{ matrix.os }}
|
22
|
+
|
23
|
+
steps:
|
24
|
+
- uses: actions/checkout@v2
|
25
|
+
|
26
|
+
- name: Set up Ruby
|
27
|
+
uses: ruby/setup-ruby@v1
|
28
|
+
with:
|
29
|
+
ruby-version: ${{ matrix.ruby-version }}
|
30
|
+
bundler-cache: true
|
31
|
+
|
32
|
+
- name: Bundle install
|
33
|
+
run: |
|
34
|
+
gem install bundler && \
|
35
|
+
bundle install --jobs 4 --retry 3
|
36
|
+
|
37
|
+
- name: Install Redis
|
38
|
+
run: sudo apt install redis-server
|
39
|
+
|
40
|
+
- name: Tests
|
41
|
+
run: bundle exec rake test
|
@@ -0,0 +1,58 @@
|
|
1
|
+
name: publish
|
2
|
+
|
3
|
+
on:
|
4
|
+
workflow_run:
|
5
|
+
workflows:
|
6
|
+
- ci
|
7
|
+
branches:
|
8
|
+
- main
|
9
|
+
types:
|
10
|
+
- completed
|
11
|
+
|
12
|
+
jobs:
|
13
|
+
publish:
|
14
|
+
if: github.event.workflow_run.conclusion == 'success' #&& startsWith(github.ref, 'refs/tags/v')
|
15
|
+
|
16
|
+
name: Publish Gem
|
17
|
+
runs-on: ubuntu-18.04
|
18
|
+
|
19
|
+
steps:
|
20
|
+
- uses: actions/checkout@v2
|
21
|
+
- name: Set up Ruby 2.6
|
22
|
+
uses: ruby/setup-ruby@v1
|
23
|
+
with:
|
24
|
+
ruby-version: 2.6
|
25
|
+
- run: bundle install
|
26
|
+
|
27
|
+
- name: Build and publish RubyGem
|
28
|
+
env:
|
29
|
+
GEM_HOST_API_KEY: ${{ secrets.RUBYGEMS_AUTH_TOKEN }}
|
30
|
+
run: |
|
31
|
+
mkdir -p $HOME/.gem && \
|
32
|
+
touch $HOME/.gem/credentials && \
|
33
|
+
chmod 0600 $HOME/.gem/credentials && \
|
34
|
+
printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials && \
|
35
|
+
gem build *.gemspec && \
|
36
|
+
gem push *.gem && \
|
37
|
+
echo "Gem published successfully!"
|
38
|
+
|
39
|
+
- name: Update version file on CloudWebManage/cwm-worker-logger
|
40
|
+
env:
|
41
|
+
DEPLOY_KEY: ${{ secrets.CWM_WORKER_LOGGER_DEPLOY_KEY }}
|
42
|
+
DEPLOY_KEY_FILE: cwm_worker_logger_deploy_key
|
43
|
+
GEM_NAME: fluent-plugin-http-cwm
|
44
|
+
run: |
|
45
|
+
version=$(ruby -e 'puts Gem::Specification::load("fluent-plugin-http-cwm.gemspec").version') && \
|
46
|
+
echo "Version: " $version && \
|
47
|
+
echo "$DEPLOY_KEY" > $DEPLOY_KEY_FILE && \
|
48
|
+
chmod 400 $DEPLOY_KEY_FILE && \
|
49
|
+
export GIT_SSH_COMMAND="ssh -i $(pwd)/$DEPLOY_KEY_FILE -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" && \
|
50
|
+
git clone git@github.com:CloudWebManage/cwm-worker-logger.git && \
|
51
|
+
cd cwm-worker-logger && \
|
52
|
+
git config user.name "$GEM_NAME CI" && \
|
53
|
+
git config user.email "$GEM_NAME-ci@localhost" && \
|
54
|
+
echo $version > $GEM_NAME.version && \
|
55
|
+
git add $GEM_NAME.version && \
|
56
|
+
git commit -m "Automatic version update for $GEM_NAME gem." && \
|
57
|
+
git push origin main && \
|
58
|
+
echo "Version updated successfully!"
|
data/.rubocop.yml
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
AllCops:
|
2
|
+
NewCops: disable
|
3
|
+
|
4
|
+
Gemspec/RequiredRubyVersion:
|
5
|
+
Enabled: false
|
6
|
+
|
7
|
+
Metrics/ClassLength:
|
8
|
+
Enabled: false
|
9
|
+
|
10
|
+
Metrics/MethodLength:
|
11
|
+
Enabled: false
|
12
|
+
|
13
|
+
Metrics/AbcSize:
|
14
|
+
Enabled: false
|
15
|
+
|
16
|
+
Layout/LineLength:
|
17
|
+
Enabled: false
|
data/Gemfile
CHANGED
data/Gemfile.lock
ADDED
@@ -0,0 +1,63 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
fluent-plugin-http-cwm (0.2.0)
|
5
|
+
fluentd (>= 0.14.10, < 2)
|
6
|
+
json (~> 2.3, >= 2.3.0)
|
7
|
+
redis (~> 4.2, >= 4.2.5)
|
8
|
+
|
9
|
+
GEM
|
10
|
+
remote: https://rubygems.org/
|
11
|
+
specs:
|
12
|
+
concurrent-ruby (1.1.8)
|
13
|
+
cool.io (1.7.1)
|
14
|
+
docile (1.3.5)
|
15
|
+
fluentd (1.12.2)
|
16
|
+
bundler
|
17
|
+
cool.io (>= 1.4.5, < 2.0.0)
|
18
|
+
http_parser.rb (>= 0.5.1, < 0.7.0)
|
19
|
+
msgpack (>= 1.3.1, < 2.0.0)
|
20
|
+
serverengine (>= 2.2.2, < 3.0.0)
|
21
|
+
sigdump (~> 0.2.2)
|
22
|
+
strptime (>= 0.2.2, < 1.0.0)
|
23
|
+
tzinfo (>= 1.0, < 3.0)
|
24
|
+
tzinfo-data (~> 1.0)
|
25
|
+
webrick (>= 1.4.2, < 1.8.0)
|
26
|
+
yajl-ruby (~> 1.0)
|
27
|
+
http_parser.rb (0.6.0)
|
28
|
+
json (2.5.1)
|
29
|
+
msgpack (1.4.2)
|
30
|
+
power_assert (2.0.0)
|
31
|
+
rake (12.3.3)
|
32
|
+
redis (4.2.5)
|
33
|
+
serverengine (2.2.3)
|
34
|
+
sigdump (~> 0.2.2)
|
35
|
+
sigdump (0.2.4)
|
36
|
+
simplecov (0.21.2)
|
37
|
+
docile (~> 1.1)
|
38
|
+
simplecov-html (~> 0.11)
|
39
|
+
simplecov_json_formatter (~> 0.1)
|
40
|
+
simplecov-html (0.12.3)
|
41
|
+
simplecov_json_formatter (0.1.2)
|
42
|
+
strptime (0.2.5)
|
43
|
+
test-unit (3.4.0)
|
44
|
+
power_assert
|
45
|
+
tzinfo (2.0.4)
|
46
|
+
concurrent-ruby (~> 1.0)
|
47
|
+
tzinfo-data (1.2021.1)
|
48
|
+
tzinfo (>= 1.0.0)
|
49
|
+
webrick (1.7.0)
|
50
|
+
yajl-ruby (1.4.1)
|
51
|
+
|
52
|
+
PLATFORMS
|
53
|
+
ruby
|
54
|
+
|
55
|
+
DEPENDENCIES
|
56
|
+
bundler (>= 1.14, < 3)
|
57
|
+
fluent-plugin-http-cwm!
|
58
|
+
rake (~> 12.3, >= 12.3.3)
|
59
|
+
simplecov
|
60
|
+
test-unit (~> 3.0)
|
61
|
+
|
62
|
+
BUNDLED WITH
|
63
|
+
2.1.4
|
data/README.md
CHANGED
@@ -1,13 +1,20 @@
|
|
1
1
|
# fluent-plugin-http-cwm
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
![GitHub Workflow Status (branch)](https://img.shields.io/github/workflow/status/iamAzeem/fluent-plugin-http-cwm/ci/main?label=build&style=flat-square)
|
4
|
+
![GitHub Workflow Status (branch)](https://img.shields.io/github/workflow/status/iamAzeem/fluent-plugin-http-cwm/publish/main?label=publish&style=flat-square)
|
5
|
+
![GitHub release (latest by date)](https://img.shields.io/github/v/release/iamAzeem/fluent-plugin-http-cwm?style=flat-square)
|
6
|
+
[![License: Apache-2.0](https://img.shields.io/badge/license-Apache-blue.svg?style=flat-square)](https://github.com/iamAzeem/fluent-plugin-http-cwm/blob/master/LICENSE)
|
5
7
|
|
6
|
-
[
|
7
|
-
[
|
8
|
+
[![RubyGems Downloads](https://img.shields.io/gem/dt/fluent-plugin-http-cwm?color=blue&style=flat-square)](https://rubygems.org/gems/fluent-plugin-http-cwm)
|
9
|
+
![Lines of code](https://img.shields.io/tokei/lines/github/iamAzeem/fluent-plugin-http-cwm?label=LOC&style=flat-square)
|
10
|
+
![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/iamAzeem/fluent-plugin-http-cwm?style=flat-square)
|
11
|
+
![GitHub repo size](https://img.shields.io/github/repo-size/iamAzeem/fluent-plugin-http-cwm?style=flat-square)
|
8
12
|
|
9
13
|
## Overview
|
10
14
|
|
15
|
+
[Fluentd](https://fluentd.org/) HTTP input plugin for
|
16
|
+
[CloudWebManage](https://github.com/CloudWebManage) Logging Component.
|
17
|
+
|
11
18
|
This plugin:
|
12
19
|
|
13
20
|
1. receives the incoming JSON logs from MinIO using an HTTP endpoint,
|
@@ -23,7 +30,6 @@ This plugin:
|
|
23
30
|
|
|
24
31
|
| JSON
|
25
32
|
| logs
|
26
|
-
|
|
27
33
|
v
|
28
34
|
+------------------+
|
29
35
|
| fluentd |
|
@@ -48,13 +54,13 @@ This plugin:
|
|
48
54
|
|
49
55
|
The following metrics are aggregated:
|
50
56
|
|
51
|
-
| metric | description
|
52
|
-
|
53
|
-
| `bytes_in` | size of Request header and its Content-Length
|
54
|
-
| `bytes_out` | size of Response header and its Content-Length
|
55
|
-
| `num_requests_in` | count of APIs [WebUpload, PutObject, DeleteObject]
|
56
|
-
| `num_requests_out` | count of APIs [WebDownload, GetObject]
|
57
|
-
| `num_requests_misc` | count of APIs other than `in` and `out`
|
57
|
+
| metric | description |
|
58
|
+
| :------------------ | :------------------------------------------------- |
|
59
|
+
| `bytes_in` | size of Request header and its Content-Length |
|
60
|
+
| `bytes_out` | size of Response header and its Content-Length |
|
61
|
+
| `num_requests_in` | count of APIs [WebUpload, PutObject, DeleteObject] |
|
62
|
+
| `num_requests_out` | count of APIs [WebDownload, GetObject] |
|
63
|
+
| `num_requests_misc` | count of APIs other than `in` and `out` |
|
58
64
|
|
59
65
|
## Installation
|
60
66
|
|
@@ -69,7 +75,7 @@ gem install fluent-plugin-http-cwm
|
|
69
75
|
Add the following line to your Gemfile:
|
70
76
|
|
71
77
|
```ruby
|
72
|
-
gem
|
78
|
+
gem 'fluent-plugin-http-cwm'
|
73
79
|
```
|
74
80
|
|
75
81
|
And then execute:
|
@@ -80,26 +86,28 @@ bundle
|
|
80
86
|
|
81
87
|
## Configuration
|
82
88
|
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
89
|
+
- `host` (string) (optional): The address to bind to.
|
90
|
+
- Default value: `localhost`.
|
91
|
+
- `port` (integer) (optional): The port to listen to.
|
92
|
+
- Default value: `8080`.
|
93
|
+
- `tag` (string) (required): The tag for the event.
|
88
94
|
|
89
95
|
### `<redis>` section (optional) (single)
|
90
96
|
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
97
|
+
- `host` (string) (optional): The address of Redis server.
|
98
|
+
- Default value: `localhost`.
|
99
|
+
- `port` (integer) (optional): The port of Redis server.
|
100
|
+
- Default value: `6379`.
|
101
|
+
- `db` (integer) (optional): The db to use.
|
102
|
+
- Default value: `0`.
|
103
|
+
- `grace_period` (time) (optional): The grace period for last update.
|
104
|
+
- Default value: `300s`.
|
105
|
+
- `flush_interval` (time) (optional): The flush interval to send metrics.
|
106
|
+
- Default value: `300s`.
|
107
|
+
- `last_update_prefix` (string) (optional): The prefix for last update key.
|
108
|
+
- Default value: `deploymentid:last_action`.
|
109
|
+
- `metrics_prefix` (string) (optional): The prefix for metrics key.
|
110
|
+
- Default value: `deploymentid:minio-metrics`.
|
103
111
|
|
104
112
|
### Sample Configuration
|
105
113
|
|
@@ -119,6 +127,7 @@ bundle
|
|
119
127
|
<redis>
|
120
128
|
host localhost
|
121
129
|
port 6379
|
130
|
+
db 0
|
122
131
|
grace_period 10s
|
123
132
|
flush_interval 10s
|
124
133
|
last_update_prefix deploymentid:last_action
|
@@ -147,10 +156,18 @@ Example:
|
|
147
156
|
|
148
157
|
# ...
|
149
158
|
</source>
|
150
|
-
|
159
|
+
```
|
160
|
+
|
161
|
+
## Contribute
|
162
|
+
|
163
|
+
- Fork the project.
|
164
|
+
- Check out the latest `main` branch.
|
165
|
+
- Create a feature or bugfix branch from `main`.
|
166
|
+
- Commit and push your changes.
|
167
|
+
- Make sure to add tests.
|
168
|
+
- Run Rubocop locally and fix all the lint warnings.
|
169
|
+
- Submit the PR.
|
151
170
|
|
152
|
-
##
|
171
|
+
## License
|
153
172
|
|
154
|
-
|
155
|
-
* License
|
156
|
-
* Apache License, Version 2.0
|
173
|
+
[Apache 2.0](./LICENSE)
|
data/Rakefile
CHANGED
@@ -5,7 +5,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = 'fluent-plugin-http-cwm'
|
8
|
-
spec.version = '0.
|
8
|
+
spec.version = '0.2.0'
|
9
9
|
spec.authors = ['Azeem Sajid']
|
10
10
|
spec.email = ['azeem.sajid@gmail.com']
|
11
11
|
|
@@ -20,10 +20,11 @@ Gem::Specification.new do |spec|
|
|
20
20
|
spec.test_files = test_files
|
21
21
|
spec.require_paths = ['lib']
|
22
22
|
|
23
|
-
spec.add_development_dependency 'bundler', '
|
24
|
-
spec.add_development_dependency 'rake', '~> 12.
|
23
|
+
spec.add_development_dependency 'bundler', '>= 1.14', '< 3'
|
24
|
+
spec.add_development_dependency 'rake', '~> 12.3', '>= 12.3.3'
|
25
|
+
spec.add_development_dependency 'simplecov', '~> 0.12', '<= 0.12.2'
|
25
26
|
spec.add_development_dependency 'test-unit', '~> 3.0'
|
26
|
-
spec.add_runtime_dependency 'fluentd',
|
27
|
-
spec.add_runtime_dependency 'json', '~>
|
27
|
+
spec.add_runtime_dependency 'fluentd', '>= 0.14.10', '< 2'
|
28
|
+
spec.add_runtime_dependency 'json', '~> 2.3', '>= 2.3.0'
|
28
29
|
spec.add_runtime_dependency 'redis', '~> 4.2', '>= 4.2.5'
|
29
30
|
end
|
@@ -50,6 +50,9 @@ module Fluent
|
|
50
50
|
desc 'The port of Redis server.'
|
51
51
|
config_param :port, :integer, default: 6379
|
52
52
|
|
53
|
+
desc 'The db to use.'
|
54
|
+
config_param :db, :integer, default: 0
|
55
|
+
|
53
56
|
desc 'The grace period for last update.'
|
54
57
|
config_param :grace_period, :time, default: '300s'
|
55
58
|
|
@@ -63,15 +66,6 @@ module Fluent
|
|
63
66
|
config_param :metrics_prefix, :string, default: 'deploymentid:minio-metrics'
|
64
67
|
end
|
65
68
|
|
66
|
-
def default_api_metrics_hash
|
67
|
-
Hash.new do |h, k|
|
68
|
-
h[k] = {
|
69
|
-
'bytes_in' => 0, 'bytes_out' => 0,
|
70
|
-
'num_requests_in' => 0, 'num_requests_out' => 0, 'num_requests_misc' => 0
|
71
|
-
}
|
72
|
-
end
|
73
|
-
end
|
74
|
-
|
75
69
|
def initialize
|
76
70
|
super
|
77
71
|
|
@@ -79,21 +73,6 @@ module Fluent
|
|
79
73
|
@deployment_api_metrics = default_api_metrics_hash
|
80
74
|
end
|
81
75
|
|
82
|
-
def set_up_redis
|
83
|
-
log.info("Connecting with Redis [#{@redis_config.host}:#{@redis_config.port}]")
|
84
|
-
@redis = Redis.new(host: @redis_config.host, port: @redis_config.port)
|
85
|
-
ready = false
|
86
|
-
until ready
|
87
|
-
sleep(1)
|
88
|
-
begin
|
89
|
-
@redis.ping
|
90
|
-
ready = true
|
91
|
-
rescue StandardError => e
|
92
|
-
log.error("Unable to connect to Redis server! ERROR: '#{e}'. Retrying...")
|
93
|
-
end
|
94
|
-
end
|
95
|
-
end
|
96
|
-
|
97
76
|
def configure(conf)
|
98
77
|
super
|
99
78
|
|
@@ -112,9 +91,7 @@ module Fluent
|
|
112
91
|
http_server_create_http_server(:http_server, addr: @host, port: @port, logger: log) do |server|
|
113
92
|
server.post("/#{tag}") do |req|
|
114
93
|
data = parse_data(req.body)
|
115
|
-
if data
|
116
|
-
route(data) if update_deployment_metrics(data)
|
117
|
-
end
|
94
|
+
route(data) if update_deployment_metrics(data)
|
118
95
|
|
119
96
|
# return HTTP 200 OK response to MinIO
|
120
97
|
[200, { 'Content-Type' => 'text/plain' }, nil]
|
@@ -122,6 +99,35 @@ module Fluent
|
|
122
99
|
end
|
123
100
|
end
|
124
101
|
|
102
|
+
private
|
103
|
+
|
104
|
+
def default_api_metrics_hash
|
105
|
+
Hash.new do |h, k|
|
106
|
+
h[k] = {
|
107
|
+
'bytes_in' => 0, 'bytes_out' => 0,
|
108
|
+
'num_requests_in' => 0, 'num_requests_out' => 0, 'num_requests_misc' => 0
|
109
|
+
}
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
113
|
+
def set_up_redis
|
114
|
+
host = @redis_config.host
|
115
|
+
port = @redis_config.port
|
116
|
+
db = @redis_config.db
|
117
|
+
log.info("Connecting with Redis [address: #{host}:#{port}, db: #{db}]")
|
118
|
+
@redis = Redis.new(host: host, port: port, db: db)
|
119
|
+
ready = false
|
120
|
+
until ready
|
121
|
+
sleep(1)
|
122
|
+
begin
|
123
|
+
@redis.ping
|
124
|
+
ready = true
|
125
|
+
rescue StandardError => e
|
126
|
+
log.error("Unable to connect to Redis server! ERROR: '#{e}'. Retrying...")
|
127
|
+
end
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
125
131
|
def parse_data(data)
|
126
132
|
JSON.parse(data)
|
127
133
|
rescue StandardError => e
|
@@ -146,11 +152,25 @@ module Fluent
|
|
146
152
|
curdt = DateTime.now
|
147
153
|
|
148
154
|
begin
|
155
|
+
log.debug("checking existing last action entry [key: #{key}]")
|
149
156
|
lastval = @redis.get(key)
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
157
|
+
|
158
|
+
is_grace_period_expired = false
|
159
|
+
if lastval
|
160
|
+
lastdt = DateTime.parse(lastval, FMT_DATETIME)
|
161
|
+
dt_diff_secs = days_to_seconds((curdt - lastdt).to_f)
|
162
|
+
if dt_diff_secs > @redis_config.grace_period
|
163
|
+
is_grace_period_expired = true
|
164
|
+
log.debug("grace period [#{@redis_config.grace_period}] expired [#{lastdt} => #{curdt}]")
|
165
|
+
end
|
166
|
+
else
|
167
|
+
log.debug('last action entry not found. going to be set for the first time.')
|
168
|
+
end
|
169
|
+
|
170
|
+
if lastdt.nil? || is_grace_period_expired
|
171
|
+
last_action = curdt.strftime(FMT_DATETIME)
|
172
|
+
@redis.set(key, last_action)
|
173
|
+
log.debug("Updated last action entry [#{key} => #{last_action}]")
|
154
174
|
end
|
155
175
|
rescue StandardError => e
|
156
176
|
log.error("Unable to update last action! ERROR: '#{e}'.")
|
@@ -164,6 +184,8 @@ module Fluent
|
|
164
184
|
end
|
165
185
|
|
166
186
|
def update_deployment_metrics(data)
|
187
|
+
return false unless data
|
188
|
+
|
167
189
|
log.debug('Updating deployment metrics')
|
168
190
|
|
169
191
|
deploymentid = validate_and_get_value(data, 'deploymentid')
|
data/test/helper.rb
CHANGED
data/test/logs.txt
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
|
2
|
+
{}
|
3
|
+
{"version":"1","deploymentid":"docker-compose-https","time":"2020-12-13T09:59:53.452955009Z","api":{"name":"WebUpload","bucket":"test","object":"test2/pray.svg","status":"OK","statusCode":200,"timeToResponse":"2245254ns"},"remotehost":"172.20.0.1","requestID":"16503E531076BE1D","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36","requestClaims":{"accessKey":"12345678","exp":1607939949,"sub":"12345678"},"requestHeader":{"Accept":"*/*","Accept-Encoding":"gzip, deflate, br","Accept-Language":"en-US,en;q=0.9,he;q=0.8,lb;q=0.7,de;q=0.6","Authorization":"Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhY2Nlc3NLZXkiOiIxMjM0NTY3OCIsImV4cCI6MTYwNzkzOTk0OSwic3ViIjoiMTIzNDU2NzgifQ.zXmWWBSu6PCh1UP-aPALSo4BrVFaHtuH6Gk33927fdc-VvDxIa6TYc6gKVdB6UOlmPMYAOenapyJ_36W5iXIsw","Content-Length":"5982","Content-Type":"image/svg+xml","Origin":"https://local.cwm-worker-minio:8443","Referer":"https://local.cwm-worker-minio:8443/minio/test/test2/","Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"same-origin","User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36","X-Amz-Date":"20201213T095953Z"},"responseHeader":{"Access-Control-Allow-Credentials":"true","Access-Control-Allow-Origin":"https://local.cwm-worker-minio:8443","Access-Control-Expose-Headers":"Date, Etag, Server, Connection, Accept-Ranges, Content-Range, Content-Encoding, Content-Length, Content-Type, Content-Disposition, Last-Modified, Content-Language, Cache-Control, Retry-After, X-Amz-Bucket-Region, Expires, X-Amz*, X-Amz*, *","Content-Security-Policy":"block-all-mixed-content","ETag":"","Vary":"Origin","X-Amz-Request-Id":"16503E531076BE1D","X-Xss-Protection":"1; mode=block"}}
|
4
|
+
{"version":"1","deploymentid":"docker-compose-https","time":"2020-12-13T10:00:11.162262185Z","api":{"name":"WebUpload","bucket":"test2","object":"Misc.csv","status":"OK","statusCode":200,"timeToResponse":"2414404ns"},"remotehost":"172.20.0.1","requestID":"16503E573002726A","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36","requestClaims":{"accessKey":"12345678","exp":1607939949,"sub":"12345678"},"requestHeader":{"Accept":"*/*","Accept-Encoding":"gzip, deflate, br","Accept-Language":"en-US,en;q=0.9,he;q=0.8,lb;q=0.7,de;q=0.6","Authorization":"Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhY2Nlc3NLZXkiOiIxMjM0NTY3OCIsImV4cCI6MTYwNzkzOTk0OSwic3ViIjoiMTIzNDU2NzgifQ.zXmWWBSu6PCh1UP-aPALSo4BrVFaHtuH6Gk33927fdc-VvDxIa6TYc6gKVdB6UOlmPMYAOenapyJ_36W5iXIsw","Content-Length":"867","Content-Type":"text/csv","Origin":"https://local.cwm-worker-minio:8443","Referer":"https://local.cwm-worker-minio:8443/minio/test2/","Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"same-origin","User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36","X-Amz-Date":"20201213T100011Z"},"responseHeader":{"Access-Control-Allow-Credentials":"true","Access-Control-Allow-Origin":"https://local.cwm-worker-minio:8443","Access-Control-Expose-Headers":"Date, Etag, Server, Connection, Accept-Ranges, Content-Range, Content-Encoding, Content-Length, Content-Type, Content-Disposition, Last-Modified, Content-Language, Cache-Control, Retry-After, X-Amz-Bucket-Region, Expires, X-Amz*, X-Amz*, *","Content-Security-Policy":"block-all-mixed-content","ETag":"","Vary":"Origin","X-Amz-Request-Id":"16503E573002726A","X-Xss-Protection":"1; mode=block"}}
|
5
|
+
{"version":"1","deploymentid":"docker-compose-https","time":"2020-12-13T10:00:11.163519081Z","api":{"name":"WebUpload","bucket":"test2","object":"Constru.csv","status":"OK","statusCode":200,"timeToResponse":"2857463ns"},"remotehost":"172.20.0.1","requestID":"16503E57300F4542","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36","requestClaims":{"accessKey":"12345678","exp":1607939949,"sub":"12345678"},"requestHeader":{"Accept":"*/*","Accept-Encoding":"gzip, deflate, br","Accept-Language":"en-US,en;q=0.9,he;q=0.8,lb;q=0.7,de;q=0.6","Authorization":"Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhY2Nlc3NLZXkiOiIxMjM0NTY3OCIsImV4cCI6MTYwNzkzOTk0OSwic3ViIjoiMTIzNDU2NzgifQ.zXmWWBSu6PCh1UP-aPALSo4BrVFaHtuH6Gk33927fdc-VvDxIa6TYc6gKVdB6UOlmPMYAOenapyJ_36W5iXIsw","Content-Length":"844","Content-Type":"text/csv","Origin":"https://local.cwm-worker-minio:8443","Referer":"https://local.cwm-worker-minio:8443/minio/test2/","Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"same-origin","User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36","X-Amz-Date":"20201213T100011Z"},"responseHeader":{"Access-Control-Allow-Credentials":"true","Access-Control-Allow-Origin":"https://local.cwm-worker-minio:8443","Access-Control-Expose-Headers":"Date, Etag, Server, Connection, Accept-Ranges, Content-Range, Content-Encoding, Content-Length, Content-Type, Content-Disposition, Last-Modified, Content-Language, Cache-Control, Retry-After, X-Amz-Bucket-Region, Expires, X-Amz*, X-Amz*, *","Content-Security-Policy":"block-all-mixed-content","ETag":"","Vary":"Origin","X-Amz-Request-Id":"16503E57300F4542","X-Xss-Protection":"1; mode=block"}}
|
6
|
+
{"version":"1","deploymentid":"docker-compose-https","time":"2020-12-13T10:00:11.164228465Z","api":{"name":"WebUpload","bucket":"test2","object":"Hasadna.csv","status":"OK","statusCode":200,"timeToResponse":"3569188ns"},"remotehost":"172.20.0.1","requestID":"16503E57300F3E83","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36","requestClaims":{"accessKey":"12345678","exp":1607939949,"sub":"12345678"},"requestHeader":{"Accept":"*/*","Accept-Encoding":"gzip, deflate, br","Accept-Language":"en-US,en;q=0.9,he;q=0.8,lb;q=0.7,de;q=0.6","Authorization":"Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhY2Nlc3NLZXkiOiIxMjM0NTY3OCIsImV4cCI6MTYwNzkzOTk0OSwic3ViIjoiMTIzNDU2NzgifQ.zXmWWBSu6PCh1UP-aPALSo4BrVFaHtuH6Gk33927fdc-VvDxIa6TYc6gKVdB6UOlmPMYAOenapyJ_36W5iXIsw","Content-Length":"2074","Content-Type":"text/csv","Origin":"https://local.cwm-worker-minio:8443","Referer":"https://local.cwm-worker-minio:8443/minio/test2/","Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"same-origin","User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36","X-Amz-Date":"20201213T100011Z"},"responseHeader":{"Access-Control-Allow-Credentials":"true","Access-Control-Allow-Origin":"https://local.cwm-worker-minio:8443","Access-Control-Expose-Headers":"Date, Etag, Server, Connection, Accept-Ranges, Content-Range, Content-Encoding, Content-Length, Content-Type, Content-Disposition, Last-Modified, Content-Language, Cache-Control, Retry-After, X-Amz-Bucket-Region, Expires, X-Amz*, X-Amz*, *","Content-Security-Policy":"block-all-mixed-content","ETag":"","Vary":"Origin","X-Amz-Request-Id":"16503E57300F3E83","X-Xss-Protection":"1; mode=block"}}
|
7
|
+
{"version":"1","deploymentid":"docker-compose-https","time":"2020-12-13T10:00:11.166982552Z","api":{"name":"WebUpload","bucket":"test2","object":"personal.csv","status":"OK","statusCode":200,"timeToResponse":"3350434ns"},"remotehost":"172.20.0.1","requestID":"16503E57303C9CA9","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36","requestClaims":{"accessKey":"12345678","exp":1607939949,"sub":"12345678"},"requestHeader":{"Accept":"*/*","Accept-Encoding":"gzip, deflate, br","Accept-Language":"en-US,en;q=0.9,he;q=0.8,lb;q=0.7,de;q=0.6","Authorization":"Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhY2Nlc3NLZXkiOiIxMjM0NTY3OCIsImV4cCI6MTYwNzkzOTk0OSwic3ViIjoiMTIzNDU2NzgifQ.zXmWWBSu6PCh1UP-aPALSo4BrVFaHtuH6Gk33927fdc-VvDxIa6TYc6gKVdB6UOlmPMYAOenapyJ_36W5iXIsw","Content-Length":"1300","Content-Type":"text/csv","Origin":"https://local.cwm-worker-minio:8443","Referer":"https://local.cwm-worker-minio:8443/minio/test2/","Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"same-origin","User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36","X-Amz-Date":"20201213T100011Z"},"responseHeader":{"Access-Control-Allow-Credentials":"true","Access-Control-Allow-Origin":"https://local.cwm-worker-minio:8443","Access-Control-Expose-Headers":"Date, Etag, Server, Connection, Accept-Ranges, Content-Range, Content-Encoding, Content-Length, Content-Type, Content-Disposition, Last-Modified, Content-Language, Cache-Control, Retry-After, X-Amz-Bucket-Region, Expires, X-Amz*, X-Amz*, *","Content-Security-Policy":"block-all-mixed-content","ETag":"","Vary":"Origin","X-Amz-Request-Id":"16503E57303C9CA9","X-Xss-Protection":"1; mode=block"}}
|
8
|
+
{"version":"1","deploymentid":"docker-compose-http","time":"2020-12-13T10:02:28.146379165Z","api":{"name":"PutObject","bucket":"warp-benchmark-bucket","object":"XTSAfFmC/wmAgfs(Y5gfvrUvH.rnd","status":"OK","statusCode":200,"timeToResponse":"5600028ns"},"remotehost":"172.20.0.1","requestID":"16503E7714B596E7","userAgent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","requestHeader":{"Authorization":"AWS4-HMAC-SHA256 Credential=12345678/20201213/us-east-1/s3/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date;x-amz-decoded-content-length,Signature=f9617e6380d377f96574e8789b369de3e3c1873a5142ab43a94da2df845195db","Content-Length":"10415","Content-Type":"application/octet-stream","User-Agent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","X-Amz-Content-Sha256":"STREAMING-AWS4-HMAC-SHA256-PAYLOAD","X-Amz-Date":"20201213T100228Z","X-Amz-Decoded-Content-Length":"10240"},"responseHeader":{"Accept-Ranges":"bytes","Content-Length":"0","Content-Security-Policy":"block-all-mixed-content","ETag":"7567b673c6b45518b054f71053745bbb","Server":"MinIO","Vary":"Origin","X-Amz-Request-Id":"16503E7714B596E7","X-Xss-Protection":"1; mode=block"}}
|
9
|
+
{"version":"1","deploymentid":"docker-compose-http","time":"2020-12-13T10:02:28.148376209Z","api":{"name":"PutObject","bucket":"warp-benchmark-bucket","object":"MpIBxAbZ/19VPLXm3I2ucVYIa.rnd","status":"OK","statusCode":200,"timeToResponse":"4019987ns"},"remotehost":"172.20.0.1","requestID":"16503E7714EC5781","userAgent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","requestHeader":{"Authorization":"AWS4-HMAC-SHA256 Credential=12345678/20201213/us-east-1/s3/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date;x-amz-decoded-content-length,Signature=6b9fe765f9d66be6e4f31ef045919d95084d6eed5c3b4100689599d8eacba174","Content-Length":"10415","Content-Type":"application/octet-stream","User-Agent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","X-Amz-Content-Sha256":"STREAMING-AWS4-HMAC-SHA256-PAYLOAD","X-Amz-Date":"20201213T100228Z","X-Amz-Decoded-Content-Length":"10240"},"responseHeader":{"Accept-Ranges":"bytes","Content-Length":"0","Content-Security-Policy":"block-all-mixed-content","ETag":"1e36a820bbd64d49a99805bb704ce524","Server":"MinIO","Vary":"Origin","X-Amz-Request-Id":"16503E7714EC5781","X-Xss-Protection":"1; mode=block"}}
|
10
|
+
{"version":"1","deploymentid":"docker-compose-http","time":"2020-12-13T10:02:28.150866606Z","api":{"name":"PutObject","bucket":"warp-benchmark-bucket","object":"uPe9zwVp/TEV(fS)CtKQj9)Kk.rnd","status":"OK","statusCode":200,"timeToResponse":"6407612ns"},"remotehost":"172.20.0.1","requestID":"16503E7714EDEC3C","userAgent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","requestHeader":{"Authorization":"AWS4-HMAC-SHA256 Credential=12345678/20201213/us-east-1/s3/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date;x-amz-decoded-content-length,Signature=4905027a735dbff6cee19490fe93a560bad6589255f18d347ee876229ab19331","Content-Length":"10415","Content-Type":"application/octet-stream","User-Agent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","X-Amz-Content-Sha256":"STREAMING-AWS4-HMAC-SHA256-PAYLOAD","X-Amz-Date":"20201213T100228Z","X-Amz-Decoded-Content-Length":"10240"},"responseHeader":{"Accept-Ranges":"bytes","Content-Length":"0","Content-Security-Policy":"block-all-mixed-content","ETag":"103806e3c82de16ed70fc943573c4248","Server":"MinIO","Vary":"Origin","X-Amz-Request-Id":"16503E7714EDEC3C","X-Xss-Protection":"1; mode=block"}}
|
11
|
+
{"version":"1","deploymentid":"docker-compose-http","time":"2020-12-13T10:02:28.150997904Z","api":{"name":"PutObject","bucket":"warp-benchmark-bucket","object":"SACTQyFh/6Khq9rqx5iR9S313.rnd","status":"OK","statusCode":200,"timeToResponse":"6598556ns"},"remotehost":"172.20.0.1","requestID":"16503E7714ED097A","userAgent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","requestHeader":{"Authorization":"AWS4-HMAC-SHA256 Credential=12345678/20201213/us-east-1/s3/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date;x-amz-decoded-content-length,Signature=888587f0d7a475dbc31654d9bbfb5090973057601bc4981ebe9bb3d458cb819d","Content-Length":"10415","Content-Type":"application/octet-stream","User-Agent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","X-Amz-Content-Sha256":"STREAMING-AWS4-HMAC-SHA256-PAYLOAD","X-Amz-Date":"20201213T100228Z","X-Amz-Decoded-Content-Length":"10240"},"responseHeader":{"Accept-Ranges":"bytes","Content-Length":"0","Content-Security-Policy":"block-all-mixed-content","ETag":"3c226393e1fda01fba77eeee8cdfba94","Server":"MinIO","Vary":"Origin","X-Amz-Request-Id":"16503E7714ED097A","X-Xss-Protection":"1; mode=block"}}
|
12
|
+
{"version":"1","deploymentid":"docker-compose-http","time":"2020-12-13T10:02:28.152358033Z","api":{"name":"PutObject","bucket":"warp-benchmark-bucket","object":"U9dAIeMw/xFlwgtYWHmWDU92i.rnd","status":"OK","statusCode":200,"timeToResponse":"6643027ns"},"remotehost":"172.20.0.1","requestID":"16503E7715012723","userAgent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","requestHeader":{"Authorization":"AWS4-HMAC-SHA256 Credential=12345678/20201213/us-east-1/s3/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date;x-amz-decoded-content-length,Signature=ecca35dd261dae1875de09ce62b2ffc9aa98d1734fcd1f3d3e0ca9020937d895","Content-Length":"10415","Content-Type":"application/octet-stream","User-Agent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","X-Amz-Content-Sha256":"STREAMING-AWS4-HMAC-SHA256-PAYLOAD","X-Amz-Date":"20201213T100228Z","X-Amz-Decoded-Content-Length":"10240"},"responseHeader":{"Accept-Ranges":"bytes","Content-Length":"0","Content-Security-Policy":"block-all-mixed-content","ETag":"122d13e787596645b9310a6e56a51a17","Server":"MinIO","Vary":"Origin","X-Amz-Request-Id":"16503E7715012723","X-Xss-Protection":"1; mode=block"}}
|
13
|
+
{"version":"1","deploymentid":"docker-compose-http","time":"2020-12-13T10:02:31.307623369Z","api":{"name":"DeleteObject","bucket":"warp-benchmark-bucket","object":"DsrjeNDy/oeGegUiJWIDTWOOq.rnd","status":"No Content","statusCode":204,"timeToResponse":"1819254ns"},"remotehost":"172.20.0.1","requestID":"16503E77D15C32DB","userAgent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","requestHeader":{"Authorization":"AWS4-HMAC-SHA256 Credential=12345678/20201213/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=25804b0b3ed5ba119fd6504f8492e2ba47a0fc2ca4f22d865592022c5728b332","User-Agent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","X-Amz-Content-Sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","X-Amz-Date":"20201213T100231Z"},"responseHeader":{"Accept-Ranges":"bytes","Content-Length":"0","Content-Security-Policy":"block-all-mixed-content","ETag":"","Server":"MinIO","Vary":"Origin","X-Amz-Request-Id":"16503E77D15C32DB","X-Xss-Protection":"1; mode=block"}}
|
14
|
+
{"version":"1","deploymentid":"docker-compose-http","time":"2020-12-13T10:02:31.311626518Z","api":{"name":"DeleteObject","bucket":"warp-benchmark-bucket","object":"DsrjeNDy/(60XuwNT(uVnBWFc.rnd","status":"No Content","statusCode":204,"timeToResponse":"1070737ns"},"remotehost":"172.20.0.1","requestID":"16503E77D1A4F9F1","userAgent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","requestHeader":{"Authorization":"AWS4-HMAC-SHA256 Credential=12345678/20201213/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=a3a705dbe6a5b8d74ec26b1961b19553571753d745c8687e08d362490dca40de","User-Agent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","X-Amz-Content-Sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","X-Amz-Date":"20201213T100231Z"},"responseHeader":{"Accept-Ranges":"bytes","Content-Length":"0","Content-Security-Policy":"block-all-mixed-content","ETag":"","Server":"MinIO","Vary":"Origin","X-Amz-Request-Id":"16503E77D1A4F9F1","X-Xss-Protection":"1; mode=block"}}
|
15
|
+
{"version":"1","deploymentid":"docker-compose-http","time":"2020-12-13T10:02:31.312482136Z","api":{"name":"DeleteObject","bucket":"warp-benchmark-bucket","object":"uPe9zwVp/kSu7mJneCaD)Fuit.rnd","status":"No Content","statusCode":204,"timeToResponse":"296524ns"},"remotehost":"172.20.0.1","requestID":"16503E77D1BDD9DE","userAgent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","requestHeader":{"Authorization":"AWS4-HMAC-SHA256 Credential=12345678/20201213/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=817281c9cb6ecc0d6f6f46949b71f7d62cf8d845c51b38c2e3a25b375ed248fd","User-Agent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","X-Amz-Content-Sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","X-Amz-Date":"20201213T100231Z"},"responseHeader":{"Accept-Ranges":"bytes","Content-Length":"0","Content-Security-Policy":"block-all-mixed-content","ETag":"","Server":"MinIO","Vary":"Origin","X-Amz-Request-Id":"16503E77D1BDD9DE","X-Xss-Protection":"1; mode=block"}}
|
16
|
+
{"version":"1","deploymentid":"docker-compose-http","time":"2020-12-13T10:02:31.31500656Z","api":{"name":"DeleteObject","bucket":"warp-benchmark-bucket","object":"uPe9zwVp/CG2EVQTBBoZS(A2Q.rnd","status":"No Content","statusCode":204,"timeToResponse":"1104650ns"},"remotehost":"172.20.0.1","requestID":"16503E77D1D80933","userAgent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","requestHeader":{"Authorization":"AWS4-HMAC-SHA256 Credential=12345678/20201213/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=50b12d8a0ea7b9aa1a6616ecbf49c49b5e96a17c39fc14b81564fc6f147f332a","User-Agent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","X-Amz-Content-Sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","X-Amz-Date":"20201213T100231Z"},"responseHeader":{"Accept-Ranges":"bytes","Content-Length":"0","Content-Security-Policy":"block-all-mixed-content","ETag":"","Server":"MinIO","Vary":"Origin","X-Amz-Request-Id":"16503E77D1D80933","X-Xss-Protection":"1; mode=block"}}
|
17
|
+
{"version":"1","deploymentid":"docker-compose-http","time":"2020-12-13T10:02:31.315527682Z","api":{"name":"DeleteObject","bucket":"warp-benchmark-bucket","object":"MpIBxAbZ/BsNwtds2hjH06r2T.rnd","status":"No Content","statusCode":204,"timeToResponse":"322966ns"},"remotehost":"172.20.0.1","requestID":"16503E77D1EBE9B1","userAgent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","requestHeader":{"Authorization":"AWS4-HMAC-SHA256 Credential=12345678/20201213/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=1fac2438b2611e1efe51cc70891a62a23534f6559dfcbf5084200c400a57cc65","User-Agent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","X-Amz-Content-Sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","X-Amz-Date":"20201213T100231Z"},"responseHeader":{"Accept-Ranges":"bytes","Content-Length":"0","Content-Security-Policy":"block-all-mixed-content","ETag":"","Server":"MinIO","Vary":"Origin","X-Amz-Request-Id":"16503E77D1EBE9B1","X-Xss-Protection":"1; mode=block"}}
|
18
|
+
{"version":"1","deploymentid":"docker-compose-http","time":"2020-12-13T10:02:31.315755898Z","api":{"name":"GetObject","bucket":"warp-benchmark-bucket","object":"uPe9zwVp/xaS)33LTUGT1SqAk.rnd","status":"OK","statusCode":200,"timeToFirstByte":"547107ns","timeToResponse":"560938ns"},"remotehost":"172.20.0.1","requestID":"16503E77D1EBBD86","userAgent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","requestHeader":{"Authorization":"AWS4-HMAC-SHA256 Credential=12345678/20201213/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=f9acf5cad5bbde784b8f15680ed50e3987a5b63231a84246ff871e7a9856b613","User-Agent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","X-Amz-Content-Sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","X-Amz-Date":"20201213T100231Z"},"responseHeader":{"Accept-Ranges":"bytes","Content-Length":"10240","Content-Security-Policy":"block-all-mixed-content","Content-Type":"application/octet-stream","ETag":"28f85d9558fa9c2f2eca1b70dae20832","Last-Modified":"Sun, 13 Dec 2020 10:02:28 GMT","Server":"MinIO","Vary":"Origin","X-Amz-Request-Id":"16503E77D1EBBD86","X-Cache":"MISS","X-Cache-Lookup":"MISS","X-Xss-Protection":"1; mode=block"}}
|
19
|
+
{"version":"1","deploymentid":"docker-compose-http","time":"2020-12-13T10:02:31.316316176Z","api":{"name":"GetObject","bucket":"warp-benchmark-bucket","object":"SACTQyFh/r3VI4ADkZo2KA8MT.rnd","status":"OK","statusCode":200,"timeToFirstByte":"734869ns","timeToResponse":"750395ns"},"remotehost":"172.20.0.1","requestID":"16503E77D1F15E91","userAgent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","requestHeader":{"Authorization":"AWS4-HMAC-SHA256 Credential=12345678/20201213/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=bba0dd4a5b46361a146631bee00a77a5c2a541979dc4ab7d0d8e3156bb2be69b","User-Agent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","X-Amz-Content-Sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","X-Amz-Date":"20201213T100231Z"},"responseHeader":{"Accept-Ranges":"bytes","Content-Length":"10240","Content-Security-Policy":"block-all-mixed-content","Content-Type":"application/octet-stream","ETag":"adab22732f9746f00ff7c3cbe93d5a75","Last-Modified":"Sun, 13 Dec 2020 10:02:28 GMT","Server":"MinIO","Vary":"Origin","X-Amz-Request-Id":"16503E77D1F15E91","X-Cache":"MISS","X-Cache-Lookup":"MISS","X-Xss-Protection":"1; mode=block"}}
|
20
|
+
{"version":"1","deploymentid":"docker-compose-http","time":"2020-12-13T10:02:31.316583584Z","api":{"name":"GetObject","bucket":"warp-benchmark-bucket","object":"SACTQyFh/33lecLH841eGQqij.rnd","status":"OK","statusCode":200,"timeToFirstByte":"552973ns","timeToResponse":"1377348ns"},"remotehost":"172.20.0.1","requestID":"16503E77D1EBEB39","userAgent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","requestHeader":{"Authorization":"AWS4-HMAC-SHA256 Credential=12345678/20201213/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=6b616c836152a0d3e342bc0c0ddcdb037185066d942e87cdac0f03de9110f2e4","User-Agent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","X-Amz-Content-Sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","X-Amz-Date":"20201213T100231Z"},"responseHeader":{"Accept-Ranges":"bytes","Content-Length":"10240","Content-Security-Policy":"block-all-mixed-content","Content-Type":"application/octet-stream","ETag":"a074a4c7facee1c0dbb440545f7d6579","Last-Modified":"Sun, 13 Dec 2020 10:02:28 GMT","Server":"MinIO","Vary":"Origin","X-Amz-Request-Id":"16503E77D1EBEB39","X-Cache":"MISS","X-Cache-Lookup":"MISS","X-Xss-Protection":"1; mode=block"}}
|
21
|
+
{"version":"1","deploymentid":"docker-compose-http","time":"2020-12-13T10:02:31.317006173Z","api":{"name":"GetObject","bucket":"warp-benchmark-bucket","object":"U9dAIeMw/ZdueXA8roNczk4pp.rnd","status":"OK","statusCode":200,"timeToFirstByte":"625551ns","timeToResponse":"641906ns"},"remotehost":"172.20.0.1","requestID":"16503E77D1FD94CA","userAgent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","requestHeader":{"Authorization":"AWS4-HMAC-SHA256 Credential=12345678/20201213/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=6695dd830a24e33807d442ea0d3dccf7b326fcb4e2fda06ee043f448743e7430","User-Agent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","X-Amz-Content-Sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","X-Amz-Date":"20201213T100231Z"},"responseHeader":{"Accept-Ranges":"bytes","Content-Length":"10240","Content-Security-Policy":"block-all-mixed-content","Content-Type":"application/octet-stream","ETag":"8e331b8121dba9e2b449c6d2732b49f6","Last-Modified":"Sun, 13 Dec 2020 10:02:28 GMT","Server":"MinIO","Vary":"Origin","X-Amz-Request-Id":"16503E77D1FD94CA","X-Cache":"MISS","X-Cache-Lookup":"MISS","X-Xss-Protection":"1; mode=block"}}
|
22
|
+
{"version":"1","deploymentid":"docker-compose-http","time":"2020-12-13T10:02:31.318899032Z","api":{"name":"GetObject","bucket":"warp-benchmark-bucket","object":"U9dAIeMw/bOi8mDhPI7xkpLc(.rnd","status":"OK","statusCode":200,"timeToFirstByte":"659834ns","timeToResponse":"675772ns"},"remotehost":"172.20.0.1","requestID":"16503E77D219E810","userAgent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","requestHeader":{"Authorization":"AWS4-HMAC-SHA256 Credential=12345678/20201213/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=70d55e185056eeb8bda0aa99a0d019c8af35d9d23cdaa1e4efb382e57f43b247","User-Agent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","X-Amz-Content-Sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","X-Amz-Date":"20201213T100231Z"},"responseHeader":{"Accept-Ranges":"bytes","Content-Length":"10240","Content-Security-Policy":"block-all-mixed-content","Content-Type":"application/octet-stream","ETag":"12a5cae0b22eb8ddede896d51706509c","Last-Modified":"Sun, 13 Dec 2020 10:02:28 GMT","Server":"MinIO","Vary":"Origin","X-Amz-Request-Id":"16503E77D219E810","X-Cache":"MISS","X-Cache-Lookup":"MISS","X-Xss-Protection":"1; mode=block"}}
|
23
|
+
{"version":"1","deploymentid":"docker-compose-http","time":"2020-12-13T10:02:31.319875016Z","api":{"name":"HeadObject","bucket":"warp-benchmark-bucket","object":"uPe9zwVp/I55Vvgsvz6(s5dx(.rnd","status":"OK","statusCode":200,"timeToResponse":"375661ns"},"remotehost":"172.20.0.1","requestID":"16503E77D22D666F","userAgent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","requestHeader":{"Authorization":"AWS4-HMAC-SHA256 Credential=12345678/20201213/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=6d01aa21d6791f12da408b9fedbe3b222b95e0b874b7899400f920e157cf371e","User-Agent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","X-Amz-Content-Sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","X-Amz-Date":"20201213T100231Z"},"responseHeader":{"Accept-Ranges":"bytes","Content-Length":"10240","Content-Security-Policy":"block-all-mixed-content","Content-Type":"application/octet-stream","ETag":"4d851e2d1b56eda8c047c498e557b568","Last-Modified":"Sun, 13 Dec 2020 10:02:28 GMT","Server":"MinIO","Vary":"Origin","X-Amz-Request-Id":"16503E77D22D666F","X-Cache":"MISS","X-Cache-Lookup":"MISS","X-Xss-Protection":"1; mode=block"}}
|
24
|
+
{"version":"1","deploymentid":"docker-compose-http","time":"2020-12-13T10:02:31.322382865Z","api":{"name":"HeadObject","bucket":"warp-benchmark-bucket","object":"MpIBxAbZ/Xomp81ekJZPqDI0Y.rnd","status":"OK","statusCode":200,"timeToResponse":"298541ns"},"remotehost":"172.20.0.1","requestID":"16503E77D254DF29","userAgent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","requestHeader":{"Authorization":"AWS4-HMAC-SHA256 Credential=12345678/20201213/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=0264ac1e81f4ae83419ea62a0c3bb238c6fffecf853d65fce16c8a43794ba60a","User-Agent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","X-Amz-Content-Sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","X-Amz-Date":"20201213T100231Z"},"responseHeader":{"Accept-Ranges":"bytes","Content-Length":"10240","Content-Security-Policy":"block-all-mixed-content","Content-Type":"application/octet-stream","ETag":"07817607c15b8d6a52e184cc0a693680","Last-Modified":"Sun, 13 Dec 2020 10:02:28 GMT","Server":"MinIO","Vary":"Origin","X-Amz-Request-Id":"16503E77D254DF29","X-Cache":"MISS","X-Cache-Lookup":"MISS","X-Xss-Protection":"1; mode=block"}}
|
25
|
+
{"version":"1","deploymentid":"docker-compose-http","time":"2020-12-13T10:02:31.325077259Z","api":{"name":"HeadObject","bucket":"warp-benchmark-bucket","object":"SACTQyFh/7x7JgnxP9x3JpdAN.rnd","status":"OK","statusCode":200,"timeToResponse":"304259ns"},"remotehost":"172.20.0.1","requestID":"16503E77D27DE12B","userAgent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","requestHeader":{"Authorization":"AWS4-HMAC-SHA256 Credential=12345678/20201213/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=3b53df8afe888f9d786c4847d6c2186e77c70ff8cb4e222dcacb65cb11ae7c88","User-Agent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","X-Amz-Content-Sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","X-Amz-Date":"20201213T100231Z"},"responseHeader":{"Accept-Ranges":"bytes","Content-Length":"10240","Content-Security-Policy":"block-all-mixed-content","Content-Type":"application/octet-stream","ETag":"fc1d79a40d198f25c4a5448cfa82071d","Last-Modified":"Sun, 13 Dec 2020 10:02:28 GMT","Server":"MinIO","Vary":"Origin","X-Amz-Request-Id":"16503E77D27DE12B","X-Cache":"MISS","X-Cache-Lookup":"MISS","X-Xss-Protection":"1; mode=block"}}
|
26
|
+
{"version":"1","deploymentid":"docker-compose-http","time":"2020-12-13T10:02:31.330091282Z","api":{"name":"HeadObject","bucket":"warp-benchmark-bucket","object":"SACTQyFh/33lecLH841eGQqij.rnd","status":"OK","statusCode":200,"timeToResponse":"417243ns"},"remotehost":"172.20.0.1","requestID":"16503E77D2C8A79D","userAgent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","requestHeader":{"Authorization":"AWS4-HMAC-SHA256 Credential=12345678/20201213/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=7a99e1b7d3eaa3f466fb5c4352f84657ab22422c2be62cc8694eccf6fbd833fc","User-Agent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","X-Amz-Content-Sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","X-Amz-Date":"20201213T100231Z"},"responseHeader":{"Accept-Ranges":"bytes","Content-Length":"10240","Content-Security-Policy":"block-all-mixed-content","Content-Type":"application/octet-stream","ETag":"a074a4c7facee1c0dbb440545f7d6579","Last-Modified":"Sun, 13 Dec 2020 10:02:28 GMT","Server":"MinIO","Vary":"Origin","X-Amz-Request-Id":"16503E77D2C8A79D","X-Cache":"MISS","X-Cache-Lookup":"MISS","X-Xss-Protection":"1; mode=block"}}
|
27
|
+
{"version":"1","deploymentid":"docker-compose-http","time":"2020-12-13T10:02:31.330171641Z","api":{"name":"HeadObject","bucket":"warp-benchmark-bucket","object":"XTSAfFmC/6jVNqbTHjY)TMUsf.rnd","status":"OK","statusCode":200,"timeToResponse":"417005ns"},"remotehost":"172.20.0.1","requestID":"16503E77D2C9E103","userAgent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","requestHeader":{"Authorization":"AWS4-HMAC-SHA256 Credential=12345678/20201213/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=686a542242d464fd2787765209b2ea1d6bf711ee9d12fc9bcf6cabb4b3c936b0","User-Agent":"MinIO (linux; amd64) minio-go/v7.0.5 warp/0.3.17","X-Amz-Content-Sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","X-Amz-Date":"20201213T100231Z"},"responseHeader":{"Accept-Ranges":"bytes","Content-Length":"10240","Content-Security-Policy":"block-all-mixed-content","Content-Type":"application/octet-stream","ETag":"68a0d2b0c2733dfca0b6f5d37ea01b99","Last-Modified":"Sun, 13 Dec 2020 10:02:28 GMT","Server":"MinIO","Vary":"Origin","X-Amz-Request-Id":"16503E77D2C9E103","X-Cache":"MISS","X-Cache-Lookup":"MISS","X-Xss-Protection":"1; mode=block"}}
|
28
|
+
{"version":"1","deploymentid":"docker-compose-http","time":"2020-12-13T10:27:55.410575308Z","api":{"name":"WebDownload","bucket":"test2","object":"personal.csv","status":"OK","statusCode":200,"timeToFirstByte":"539568ns","timeToResponse":"554854ns"},"remotehost":"172.20.0.1","requestID":"16503FDAAD0D3460","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36","requestClaims":{"accessKey":"12345678","exp":1607855335,"sub":"12345678"},"requestQuery":{"token":"eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhY2Nlc3NLZXkiOiIxMjM0NTY3OCIsImV4cCI6MTYwNzg1NTMzNSwic3ViIjoiMTIzNDU2NzgifQ.Lr6b1NB4cydukrBF-_1StDLwR6UGsRJZlVlfRIeVlWJZVp2AAS9DMXpVueUzSOmqiNvlyCPfjsIzHC5nIjiyzw"},"requestHeader":{"Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9","Accept-Encoding":"gzip, deflate","Accept-Language":"en-US,en;q=0.9,he;q=0.8,lb;q=0.7,de;q=0.6","Connection":"keep-alive","Referer":"http://local.cwm-worker-minio:8080/minio/test2/","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36"},"responseHeader":{"Accept-Ranges":"bytes","Cache-Control":"no-store","Content-Disposition":"attachment; filename=\"personal.csv\"","Content-Length":"1300","Content-Security-Policy":"block-all-mixed-content","Content-Type":"text/csv","ETag":"0ea1fa5fd9afe7f0f9519c5825f57310","Last-Modified":"Sun, 13 Dec 2020 10:00:11 GMT","Server":"MinIO","Vary":"Origin","X-Amz-Request-Id":"16503FDAAD0D3460","X-Cache":"MISS","X-Cache-Lookup":"MISS","X-Xss-Protection":"1; mode=block"}}
|
29
|
+
{"version":"1","deploymentid":"docker-compose-http","time":"2020-12-13T10:27:57.202896957Z","api":{"name":"WebDownload","bucket":"test2","object":"Misc.csv","status":"OK","statusCode":200,"timeToFirstByte":"647394ns","timeToResponse":"667159ns"},"remotehost":"172.20.0.1","requestID":"16503FDB17E01EDE","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36","requestClaims":{"accessKey":"12345678","exp":1607855337,"sub":"12345678"},"requestQuery":{"token":"eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhY2Nlc3NLZXkiOiIxMjM0NTY3OCIsImV4cCI6MTYwNzg1NTMzNywic3ViIjoiMTIzNDU2NzgifQ.8jzmcdPBPKjwCuKJLES2qtfhf7iYN-LXZz_zXU0rlCjMzbFHJI0hFF0naMtFQEA1R9Ad1WhZY8mYErqdioMonw"},"requestHeader":{"Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9","Accept-Encoding":"gzip, deflate","Accept-Language":"en-US,en;q=0.9,he;q=0.8,lb;q=0.7,de;q=0.6","Connection":"keep-alive","Referer":"http://local.cwm-worker-minio:8080/minio/test2/","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36"},"responseHeader":{"Accept-Ranges":"bytes","Cache-Control":"no-store","Content-Disposition":"attachment; filename=\"Misc.csv\"","Content-Length":"867","Content-Security-Policy":"block-all-mixed-content","Content-Type":"text/csv","ETag":"b58887295950f4a7edceccab141d8c92","Last-Modified":"Sun, 13 Dec 2020 10:00:11 GMT","Server":"MinIO","Vary":"Origin","X-Amz-Request-Id":"16503FDB17E01EDE","X-Cache":"MISS","X-Cache-Lookup":"MISS","X-Xss-Protection":"1; mode=block"}}
|
@@ -1,20 +1,78 @@
|
|
1
1
|
# frozen-string-literal: true
|
2
2
|
|
3
3
|
require 'helper'
|
4
|
-
require 'fluent/plugin/in_http_cwm
|
4
|
+
require 'fluent/plugin/in_http_cwm'
|
5
|
+
require 'net/http'
|
5
6
|
|
6
7
|
class CwmHttpInputTest < Test::Unit::TestCase
|
7
8
|
setup do
|
8
9
|
Fluent::Test.setup
|
10
|
+
|
11
|
+
@default_conf = %(
|
12
|
+
tag test
|
13
|
+
)
|
14
|
+
end
|
15
|
+
|
16
|
+
def create_driver(conf)
|
17
|
+
Fluent::Test::Driver::Input.new(Fluent::Plugin::CwmHttpInput).configure(conf)
|
18
|
+
end
|
19
|
+
|
20
|
+
sub_test_case 'configuration' do
|
21
|
+
test 'default configuration test' do
|
22
|
+
driver = create_driver(@default_conf)
|
23
|
+
plugin = driver.instance
|
24
|
+
assert_equal Fluent::Plugin::CwmHttpInput, plugin.class
|
25
|
+
assert_equal 'localhost', plugin.host
|
26
|
+
assert_equal 8080, plugin.port
|
27
|
+
end
|
28
|
+
|
29
|
+
test 'redis default configuration test' do
|
30
|
+
conf = %(
|
31
|
+
tag test
|
32
|
+
<redis>
|
33
|
+
</redis>
|
34
|
+
)
|
35
|
+
|
36
|
+
driver = create_driver(conf)
|
37
|
+
plugin = driver.instance
|
38
|
+
redis = plugin.redis_config
|
39
|
+
assert_equal 'localhost', redis.host
|
40
|
+
assert_equal 6379, redis.port
|
41
|
+
assert_equal '300s', redis.grace_period
|
42
|
+
assert_equal '300s', redis.flush_interval
|
43
|
+
assert_equal 'deploymentid:last_action', redis.last_update_prefix
|
44
|
+
assert_equal 'deploymentid:minio-metrics', redis.metrics_prefix
|
45
|
+
end
|
9
46
|
end
|
10
47
|
|
11
|
-
|
12
|
-
|
48
|
+
sub_test_case 'route#emit' do
|
49
|
+
test 'emit test' do
|
50
|
+
driver = create_driver(@default_conf)
|
51
|
+
|
52
|
+
res_codes = []
|
53
|
+
lines = 0
|
54
|
+
|
55
|
+
driver.run do
|
56
|
+
File.readlines('./test/logs.txt').each do |line|
|
57
|
+
res = post('/test', line.chomp)
|
58
|
+
res_codes << res.code
|
59
|
+
lines += 1
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
assert_equal lines, res_codes.size
|
64
|
+
assert_equal '200', res_codes[0]
|
65
|
+
assert_equal 1, res_codes.uniq.size
|
66
|
+
end
|
13
67
|
end
|
14
68
|
|
15
69
|
private
|
16
70
|
|
17
|
-
def
|
18
|
-
|
71
|
+
def post(path, body)
|
72
|
+
http = Net::HTTP.new('127.0.0.1', 8080)
|
73
|
+
header = { 'Content-Type' => 'application/json' }
|
74
|
+
req = Net::HTTP::Post.new(path, header)
|
75
|
+
req.body = body
|
76
|
+
http.request(req)
|
19
77
|
end
|
20
78
|
end
|
metadata
CHANGED
@@ -1,43 +1,75 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-http-cwm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Azeem Sajid
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-04-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.14'
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '3'
|
20
23
|
type: :development
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
|
-
- - "
|
27
|
+
- - ">="
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: '1.14'
|
30
|
+
- - "<"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '3'
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: rake
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
30
36
|
requirements:
|
31
37
|
- - "~>"
|
32
38
|
- !ruby/object:Gem::Version
|
33
|
-
version: '12.
|
39
|
+
version: '12.3'
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 12.3.3
|
34
43
|
type: :development
|
35
44
|
prerelease: false
|
36
45
|
version_requirements: !ruby/object:Gem::Requirement
|
37
46
|
requirements:
|
38
47
|
- - "~>"
|
39
48
|
- !ruby/object:Gem::Version
|
40
|
-
version: '12.
|
49
|
+
version: '12.3'
|
50
|
+
- - ">="
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 12.3.3
|
53
|
+
- !ruby/object:Gem::Dependency
|
54
|
+
name: simplecov
|
55
|
+
requirement: !ruby/object:Gem::Requirement
|
56
|
+
requirements:
|
57
|
+
- - "~>"
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: '0.12'
|
60
|
+
- - "<="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 0.12.2
|
63
|
+
type: :development
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - "~>"
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0.12'
|
70
|
+
- - "<="
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: 0.12.2
|
41
73
|
- !ruby/object:Gem::Dependency
|
42
74
|
name: test-unit
|
43
75
|
requirement: !ruby/object:Gem::Requirement
|
@@ -76,22 +108,22 @@ dependencies:
|
|
76
108
|
name: json
|
77
109
|
requirement: !ruby/object:Gem::Requirement
|
78
110
|
requirements:
|
79
|
-
- - "~>"
|
80
|
-
- !ruby/object:Gem::Version
|
81
|
-
version: '1.8'
|
82
111
|
- - ">="
|
83
112
|
- !ruby/object:Gem::Version
|
84
|
-
version:
|
113
|
+
version: 2.3.0
|
114
|
+
- - "~>"
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: '2.3'
|
85
117
|
type: :runtime
|
86
118
|
prerelease: false
|
87
119
|
version_requirements: !ruby/object:Gem::Requirement
|
88
120
|
requirements:
|
89
|
-
- - "~>"
|
90
|
-
- !ruby/object:Gem::Version
|
91
|
-
version: '1.8'
|
92
121
|
- - ">="
|
93
122
|
- !ruby/object:Gem::Version
|
94
|
-
version:
|
123
|
+
version: 2.3.0
|
124
|
+
- - "~>"
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: '2.3'
|
95
127
|
- !ruby/object:Gem::Dependency
|
96
128
|
name: redis
|
97
129
|
requirement: !ruby/object:Gem::Requirement
|
@@ -120,14 +152,19 @@ executables: []
|
|
120
152
|
extensions: []
|
121
153
|
extra_rdoc_files: []
|
122
154
|
files:
|
155
|
+
- ".github/workflows/ci.yml"
|
156
|
+
- ".github/workflows/publish.yml"
|
123
157
|
- ".gitignore"
|
158
|
+
- ".rubocop.yml"
|
124
159
|
- Gemfile
|
160
|
+
- Gemfile.lock
|
125
161
|
- LICENSE
|
126
162
|
- README.md
|
127
163
|
- Rakefile
|
128
164
|
- fluent-plugin-http-cwm.gemspec
|
129
165
|
- lib/fluent/plugin/in_http_cwm.rb
|
130
166
|
- test/helper.rb
|
167
|
+
- test/logs.txt
|
131
168
|
- test/plugin/test_in_http_cwm.rb
|
132
169
|
homepage: https://github.com/iamAzeem/fluent-plugin-http-cwm
|
133
170
|
licenses:
|
@@ -148,11 +185,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
148
185
|
- !ruby/object:Gem::Version
|
149
186
|
version: '0'
|
150
187
|
requirements: []
|
151
|
-
|
152
|
-
rubygems_version: 2.7.6
|
188
|
+
rubygems_version: 3.0.3.1
|
153
189
|
signing_key:
|
154
190
|
specification_version: 4
|
155
191
|
summary: fluentd HTTP Input Plugin for CloudWebManage Logging Component
|
156
192
|
test_files:
|
157
193
|
- test/helper.rb
|
194
|
+
- test/logs.txt
|
158
195
|
- test/plugin/test_in_http_cwm.rb
|