fluent-plugin-zabbix 0.3.0 → 0.3.1
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 +5 -5
- data/.github/dependabot.yml +8 -0
- data/.github/workflows/test.yml +23 -0
- data/README.md +2 -0
- data/fluent-plugin-zabbix.gemspec +2 -2
- data/lib/fluent/plugin/out_zabbix.rb +2 -2
- data/mockserver/go.mod +5 -0
- data/mockserver/go.sum +2 -0
- data/{test → mockserver}/mockserver.go +2 -1
- data/test/plugin/test_out_zabbix.rb +28 -25
- metadata +10 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 97c7b621772f409af613b565d2b734e55786b00618297de55a53ece1949caf9e
|
4
|
+
data.tar.gz: a1e9d865a2bade7536f5c4ba886706640616f3a794066a267bf75971d4da1b38
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 36a71a4ea7e3b9f3188d976f301b7fbde974d5ccd7580a234332f7f8b0d93cb8848d52b5700cb7bb786539a869daedf617f5b1e4e8f18601cf814b8dea063cfd
|
7
|
+
data.tar.gz: 598ac514f14971ae29a3e7f3d548806dcf7af2649bf8b341fb944a5647b4ead579be81cefd997aaa53c2e706da14e3a9cab57076b3cec45f3684aeebdf3cfd87
|
@@ -0,0 +1,23 @@
|
|
1
|
+
name: test
|
2
|
+
on: [push]
|
3
|
+
jobs:
|
4
|
+
build:
|
5
|
+
runs-on: ubuntu-latest
|
6
|
+
strategy:
|
7
|
+
matrix:
|
8
|
+
ruby: ["2.7", "3.0", "3.1", "3.2"]
|
9
|
+
name: test on Ruby ${{ matrix.ruby }}
|
10
|
+
steps:
|
11
|
+
- uses: actions/checkout@v4
|
12
|
+
- uses: actions/setup-go@v5
|
13
|
+
with:
|
14
|
+
go-version: "1.21"
|
15
|
+
- uses: ruby/setup-ruby@v1
|
16
|
+
with:
|
17
|
+
ruby-version: ${{ matrix.ruby }}
|
18
|
+
bundler-cache: true
|
19
|
+
- run: bundle install
|
20
|
+
- run: |
|
21
|
+
bundle exec rake test
|
22
|
+
env:
|
23
|
+
LIVE_TEST: 1
|
data/README.md
CHANGED
@@ -14,12 +14,12 @@ Gem::Specification.new do |gem|
|
|
14
14
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
15
15
|
gem.name = "fluent-plugin-zabbix"
|
16
16
|
gem.require_paths = ["lib"]
|
17
|
-
gem.version = "0.3.
|
17
|
+
gem.version = "0.3.1"
|
18
18
|
|
19
19
|
gem.add_runtime_dependency "fluentd", [">= 0.14.8", "< 2"]
|
20
20
|
gem.add_runtime_dependency "yajl-ruby", "~> 1.0"
|
21
21
|
gem.add_runtime_dependency "fluent-mixin-config-placeholders", "~> 0.3"
|
22
22
|
gem.add_development_dependency "rake", ">= 0.9.2"
|
23
|
-
gem.add_development_dependency "glint", "= 0.0
|
23
|
+
gem.add_development_dependency "glint", "= 0.1.0"
|
24
24
|
gem.add_development_dependency "test-unit", ">= 3.1.0"
|
25
25
|
end
|
@@ -70,7 +70,7 @@ class Fluent::Plugin::ZabbixOutput < Fluent::Plugin::Output
|
|
70
70
|
bulk.push({ key: format_key(tag, key, record),
|
71
71
|
value: format_value(record[key]),
|
72
72
|
host: host,
|
73
|
-
|
73
|
+
clock: time.to_i,
|
74
74
|
})
|
75
75
|
end
|
76
76
|
}
|
@@ -85,7 +85,7 @@ class Fluent::Plugin::ZabbixOutput < Fluent::Plugin::Output
|
|
85
85
|
bulk.push({ key: format_key(tag, key, record),
|
86
86
|
value: format_value(record[key]),
|
87
87
|
host: host,
|
88
|
-
|
88
|
+
clock: time.to_i,
|
89
89
|
})
|
90
90
|
end
|
91
91
|
}
|
data/mockserver/go.mod
ADDED
data/mockserver/go.sum
ADDED
@@ -31,10 +31,11 @@ func main() {
|
|
31
31
|
func handler(req zabbix.TrapperRequest) (res zabbix.TrapperResponse, err error) {
|
32
32
|
for _, d := range req.Data {
|
33
33
|
line := fmt.Sprintf(
|
34
|
-
"host:%s\tkey:%s\tvalue:%s\n",
|
34
|
+
"host:%s\tkey:%s\tvalue:%s\tclock:%d\n",
|
35
35
|
d.Host,
|
36
36
|
d.Key,
|
37
37
|
d.Value,
|
38
|
+
d.Clock,
|
38
39
|
)
|
39
40
|
Output.Write([]byte(line))
|
40
41
|
}
|
@@ -4,7 +4,7 @@ require 'fluent/test/driver/output'
|
|
4
4
|
if ENV['LIVE_TEST']
|
5
5
|
require "glint"
|
6
6
|
require "tmpdir"
|
7
|
-
system "go
|
7
|
+
system "sh -c 'cd mockserver && go build mockserver.go'"
|
8
8
|
end
|
9
9
|
|
10
10
|
class ZabbixOutputTest < Test::Unit::TestCase
|
@@ -13,7 +13,7 @@ class ZabbixOutputTest < Test::Unit::TestCase
|
|
13
13
|
if ENV['LIVE_TEST']
|
14
14
|
$dir = Dir.mktmpdir
|
15
15
|
$server = Glint::Server.new(10051, { timeout: 3 }) do |port|
|
16
|
-
exec "./mockserver", $dir.to_s + "/trapper.log"
|
16
|
+
exec "./mockserver/mockserver", $dir.to_s + "/trapper.log"
|
17
17
|
end
|
18
18
|
$server.start
|
19
19
|
end
|
@@ -32,24 +32,25 @@ class ZabbixOutputTest < Test::Unit::TestCase
|
|
32
32
|
|
33
33
|
def test_write
|
34
34
|
d = create_driver
|
35
|
+
now = Time.now.to_i
|
35
36
|
if ENV['LIVE_TEST']
|
36
|
-
d.run(
|
37
|
-
d.feed({"foo" => "test value of foo"})
|
38
|
-
d.feed({"bar" => "test value of bar"})
|
39
|
-
d.feed({"baz" => 123.4567 })
|
40
|
-
d.feed({"foo" => "yyy", "zabbix_host" => "alternative-hostname"})
|
41
|
-
d.feed({"f1" => 0.000001})
|
42
|
-
d.feed({"f2" => 0.01})
|
37
|
+
d.run() do
|
38
|
+
d.feed('test', now, {"foo" => "test value of foo"})
|
39
|
+
d.feed('test', now, {"bar" => "test value of bar"})
|
40
|
+
d.feed('test', now, {"baz" => 123.4567 })
|
41
|
+
d.feed('test', now, {"foo" => "yyy", "zabbix_host" => "alternative-hostname"})
|
42
|
+
d.feed('test', now, {"f1" => 0.000001})
|
43
|
+
d.feed('test', now, {"f2" => 0.01})
|
43
44
|
sleep 1
|
44
45
|
end
|
45
46
|
$server.stop
|
46
47
|
assert_equal open($dir + "/trapper.log").read, <<END
|
47
|
-
host:test_host key:test.foo value:test value of foo
|
48
|
-
host:test_host key:test.bar value:test value of bar
|
49
|
-
host:test_host key:test.baz value:123.4567
|
50
|
-
host:test_host key:test.foo value:yyy
|
51
|
-
host:test_host key:test.f1 value:0.0
|
52
|
-
host:test_host key:test.f2 value:0.01
|
48
|
+
host:test_host key:test.foo value:test value of foo clock:#{now}
|
49
|
+
host:test_host key:test.bar value:test value of bar clock:#{now}
|
50
|
+
host:test_host key:test.baz value:123.4567 clock:#{now}
|
51
|
+
host:test_host key:test.foo value:yyy clock:#{now}
|
52
|
+
host:test_host key:test.f1 value:0.0 clock:#{now}
|
53
|
+
host:test_host key:test.f2 value:0.01 clock:#{now}
|
53
54
|
END
|
54
55
|
end
|
55
56
|
end
|
@@ -79,32 +80,34 @@ END
|
|
79
80
|
|
80
81
|
def test_write_host_key
|
81
82
|
d = create_driver_host_key
|
83
|
+
now = Time.now.to_i
|
82
84
|
if ENV['LIVE_TEST']
|
83
|
-
d.run(
|
84
|
-
d.feed({"foo" => "AAA" })
|
85
|
-
d.feed({"foo" => "BBB", "host" => "alternative-hostname"})
|
85
|
+
d.run() do
|
86
|
+
d.feed('test', now, {"foo" => "AAA" })
|
87
|
+
d.feed('test', now, {"foo" => "BBB", "host" => "alternative-hostname"})
|
86
88
|
sleep 1
|
87
89
|
end
|
88
90
|
$server.stop
|
89
91
|
assert_equal open($dir + "/trapper.log").read, <<END
|
90
|
-
host:test_host key:test.foo value:AAA
|
91
|
-
host:alternative-hostname key:test.foo value:BBB
|
92
|
+
host:test_host key:test.foo value:AAA clock:#{now}
|
93
|
+
host:alternative-hostname key:test.foo value:BBB clock:#{now}
|
92
94
|
END
|
93
95
|
end
|
94
96
|
end
|
95
97
|
|
96
98
|
def test_write_prefix_key
|
97
99
|
d = create_driver_prefix_key
|
100
|
+
now = Time.now.to_i
|
98
101
|
if ENV['LIVE_TEST']
|
99
|
-
d.run(
|
100
|
-
d.feed({"foo" => "AAA"})
|
101
|
-
d.feed({"foo" => "BBB", "prefix" => "p"})
|
102
|
+
d.run() do
|
103
|
+
d.feed('test', now, {"foo" => "AAA"})
|
104
|
+
d.feed('test', now, {"foo" => "BBB", "prefix" => "p"})
|
102
105
|
sleep 1
|
103
106
|
end
|
104
107
|
$server.stop
|
105
108
|
assert_equal open($dir + "/trapper.log").read, <<END
|
106
|
-
host:test_host key:foo value:AAA
|
107
|
-
host:test_host key:p.foo value:BBB
|
109
|
+
host:test_host key:foo value:AAA clock:#{now}
|
110
|
+
host:test_host key:p.foo value:BBB clock:#{now}
|
108
111
|
END
|
109
112
|
end
|
110
113
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-zabbix
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- FUJIWARA Shunichiro
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-12-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fluentd
|
@@ -78,14 +78,14 @@ dependencies:
|
|
78
78
|
requirements:
|
79
79
|
- - '='
|
80
80
|
- !ruby/object:Gem::Version
|
81
|
-
version: 0.0
|
81
|
+
version: 0.1.0
|
82
82
|
type: :development
|
83
83
|
prerelease: false
|
84
84
|
version_requirements: !ruby/object:Gem::Requirement
|
85
85
|
requirements:
|
86
86
|
- - '='
|
87
87
|
- !ruby/object:Gem::Version
|
88
|
-
version: 0.0
|
88
|
+
version: 0.1.0
|
89
89
|
- !ruby/object:Gem::Dependency
|
90
90
|
name: test-unit
|
91
91
|
requirement: !ruby/object:Gem::Requirement
|
@@ -107,6 +107,8 @@ executables: []
|
|
107
107
|
extensions: []
|
108
108
|
extra_rdoc_files: []
|
109
109
|
files:
|
110
|
+
- ".github/dependabot.yml"
|
111
|
+
- ".github/workflows/test.yml"
|
110
112
|
- ".gitignore"
|
111
113
|
- ".travis.yml"
|
112
114
|
- Gemfile
|
@@ -115,8 +117,10 @@ files:
|
|
115
117
|
- Rakefile
|
116
118
|
- fluent-plugin-zabbix.gemspec
|
117
119
|
- lib/fluent/plugin/out_zabbix.rb
|
120
|
+
- mockserver/go.mod
|
121
|
+
- mockserver/go.sum
|
122
|
+
- mockserver/mockserver.go
|
118
123
|
- test/helper.rb
|
119
|
-
- test/mockserver.go
|
120
124
|
- test/plugin/test_out_zabbix.rb
|
121
125
|
homepage: https://github.com/fujiwara/fluent-plugin-zabbix
|
122
126
|
licenses:
|
@@ -137,12 +141,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
137
141
|
- !ruby/object:Gem::Version
|
138
142
|
version: '0'
|
139
143
|
requirements: []
|
140
|
-
|
141
|
-
rubygems_version: 2.6.11
|
144
|
+
rubygems_version: 3.4.10
|
142
145
|
signing_key:
|
143
146
|
specification_version: 4
|
144
147
|
summary: Output data plugin to Zabbix (like zabbix_sender)
|
145
148
|
test_files:
|
146
149
|
- test/helper.rb
|
147
|
-
- test/mockserver.go
|
148
150
|
- test/plugin/test_out_zabbix.rb
|