zabbix_manager 5.1.6 → 6.0.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.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +31 -1
  3. data/README.md +69 -46
  4. data/lib/zabbix_manager/classes/actions.rb +3 -11
  5. data/lib/zabbix_manager/classes/applications.rb +2 -8
  6. data/lib/zabbix_manager/classes/configurations.rb +4 -9
  7. data/lib/zabbix_manager/classes/{drules.rb → discovery_rules.rb} +2 -8
  8. data/lib/zabbix_manager/classes/errors.rb +3 -0
  9. data/lib/zabbix_manager/classes/events.rb +2 -1
  10. data/lib/zabbix_manager/classes/graphs.rb +19 -15
  11. data/lib/zabbix_manager/classes/{hostgroups.rb → host_groups.rb} +5 -11
  12. data/lib/zabbix_manager/classes/host_interfaces.rb +261 -0
  13. data/lib/zabbix_manager/classes/hosts.rb +135 -89
  14. data/lib/zabbix_manager/classes/{httptests.rb → http_tests.rb} +2 -8
  15. data/lib/zabbix_manager/classes/items.rb +91 -87
  16. data/lib/zabbix_manager/classes/maintenance.rb +2 -1
  17. data/lib/zabbix_manager/classes/{mediatypes.rb → media_types.rb} +2 -7
  18. data/lib/zabbix_manager/classes/problems.rb +11 -40
  19. data/lib/zabbix_manager/classes/proxies.rb +5 -15
  20. data/lib/zabbix_manager/classes/proxy_groups.rb +16 -0
  21. data/lib/zabbix_manager/classes/roles.rb +13 -19
  22. data/lib/zabbix_manager/classes/screens.rb +11 -30
  23. data/lib/zabbix_manager/classes/scripts.rb +2 -8
  24. data/lib/zabbix_manager/classes/server.rb +1 -0
  25. data/lib/zabbix_manager/classes/templates.rb +2 -65
  26. data/lib/zabbix_manager/classes/triggers.rb +42 -45
  27. data/lib/zabbix_manager/classes/user_groups.rb +63 -0
  28. data/lib/zabbix_manager/classes/user_macros.rb +110 -0
  29. data/lib/zabbix_manager/classes/users.rb +15 -54
  30. data/lib/zabbix_manager/classes/value_maps.rb +52 -0
  31. data/lib/zabbix_manager/client.rb +148 -277
  32. data/lib/zabbix_manager/configuration.rb +107 -0
  33. data/lib/zabbix_manager/http_transport.rb +145 -97
  34. data/lib/zabbix_manager/log_sanitizer.rb +9 -19
  35. data/lib/zabbix_manager/monitoring/device.rb +393 -0
  36. data/lib/zabbix_manager/monitoring/expressions.rb +36 -0
  37. data/lib/zabbix_manager/monitoring/line.rb +175 -0
  38. data/lib/zabbix_manager/monitoring/line_items.rb +110 -0
  39. data/lib/zabbix_manager/monitoring/line_lifecycle.rb +169 -0
  40. data/lib/zabbix_manager/monitoring/line_plan.rb +113 -0
  41. data/lib/zabbix_manager/monitoring/thresholds.rb +182 -0
  42. data/lib/zabbix_manager/monitoring/traffic_items.rb +132 -0
  43. data/lib/zabbix_manager/monitoring/validation.rb +92 -0
  44. data/lib/zabbix_manager/monitoring.rb +216 -642
  45. data/lib/zabbix_manager/resource.rb +235 -0
  46. data/lib/zabbix_manager/traffic.rb +238 -0
  47. data/lib/zabbix_manager/version.rb +1 -1
  48. data/lib/zabbix_manager.rb +66 -179
  49. data/zabbix_manager.gemspec +6 -22
  50. metadata +41 -190
  51. data/lib/zabbix_manager/basic/basic_alias.rb +0 -42
  52. data/lib/zabbix_manager/basic/basic_func.rb +0 -55
  53. data/lib/zabbix_manager/basic/basic_init.rb +0 -50
  54. data/lib/zabbix_manager/basic/basic_logic.rb +0 -239
  55. data/lib/zabbix_manager/classes/hostinterfaces.rb +0 -189
  56. data/lib/zabbix_manager/classes/usergroups.rb +0 -75
  57. data/lib/zabbix_manager/classes/usermacros.rb +0 -222
  58. data/lib/zabbix_manager/classes/valuemaps.rb +0 -26
@@ -6,30 +6,30 @@ require "active_support/core_ext/hash/deep_transform_values"
6
6
  require "active_support/core_ext/enumerable"
7
7
  require "active_support/core_ext/array/wrap"
8
8
  require "active_support/core_ext/object/blank"
9
+ require "active_support/core_ext/object/deep_dup"
9
10
  require "zabbix_manager/version"
10
11
  require "zabbix_manager/classes/errors"
11
12
  require "zabbix_manager/log_sanitizer"
12
13
  require "zabbix_manager/http_transport"
14
+ require "zabbix_manager/configuration"
13
15
  require "zabbix_manager/client"
14
16
 
15
- require "zabbix_manager/basic/basic_alias"
16
- require "zabbix_manager/basic/basic_func"
17
- require "zabbix_manager/basic/basic_init"
18
- require "zabbix_manager/basic/basic_logic"
17
+ require "zabbix_manager/resource"
19
18
 
20
19
  require "zabbix_manager/classes/actions"
21
20
  require "zabbix_manager/classes/applications"
22
21
  require "zabbix_manager/classes/configurations"
23
22
  require "zabbix_manager/classes/events"
24
23
  require "zabbix_manager/classes/graphs"
25
- require "zabbix_manager/classes/hostgroups"
26
- require "zabbix_manager/classes/hostinterfaces"
24
+ require "zabbix_manager/classes/host_groups"
25
+ require "zabbix_manager/classes/host_interfaces"
27
26
  require "zabbix_manager/classes/hosts"
28
- require "zabbix_manager/classes/httptests"
27
+ require "zabbix_manager/classes/http_tests"
29
28
  require "zabbix_manager/classes/items"
30
29
  require "zabbix_manager/classes/maintenance"
31
- require "zabbix_manager/classes/mediatypes"
30
+ require "zabbix_manager/classes/media_types"
32
31
  require "zabbix_manager/classes/proxies"
32
+ require "zabbix_manager/classes/proxy_groups"
33
33
  require "zabbix_manager/classes/problems"
34
34
  require "zabbix_manager/classes/roles"
35
35
  require "zabbix_manager/classes/screens"
@@ -37,37 +37,47 @@ require "zabbix_manager/classes/scripts"
37
37
  require "zabbix_manager/classes/server"
38
38
  require "zabbix_manager/classes/templates"
39
39
  require "zabbix_manager/classes/triggers"
40
- require "zabbix_manager/classes/usergroups"
41
- require "zabbix_manager/classes/usermacros"
40
+ require "zabbix_manager/classes/user_groups"
41
+ require "zabbix_manager/classes/user_macros"
42
42
  require "zabbix_manager/classes/users"
43
- require "zabbix_manager/classes/valuemaps"
44
- require "zabbix_manager/classes/drules"
43
+ require "zabbix_manager/classes/value_maps"
44
+ require "zabbix_manager/classes/discovery_rules"
45
45
  require "zabbix_manager/monitoring"
46
+ require "zabbix_manager/traffic"
46
47
 
48
+ # 管理一个已认证客户端及其资源、监控和流量入口;连接生命周期由调用方负责。
49
+ # 原生 API 透传不代替应用层授权,资源对象共享同一客户端凭据。
47
50
  class ZabbixManager
48
51
  # @return [ZabbixManager::Client]
49
52
  attr_reader :client
50
53
 
51
- # 使用页面或服务配置创建管理器实例。
54
+ # 使用显式配置创建管理器,并立即查询 API 版本、完成认证。
52
55
  #
53
56
  # @param options [Hash]
54
57
  # @return [ZabbixManager]
55
- def self.connect(options = {})
56
- new(options)
58
+ # @raise [Invalid, ApiError, TransportError] 配置、认证或连接失败
59
+ def self.connect(**options)
60
+ new(**options)
57
61
  end
58
62
 
59
- # 返回进程内默认管理器实例。
60
- # @return [ZabbixManager]
61
- def self.current
62
- @current ||= ZabbixManager.new
63
+ # 仅使用文档列出的连接环境变量创建管理器。
64
+ # 显式选项覆盖环境配置,包含显式传入的 nil。
65
+ # @param env [#[]] 包含四个约定 ZABBIX_* 环境变量的映射
66
+ # @param options [Hash] 显式连接配置
67
+ # @return [ZabbixManager] 已认证管理器,其生命周期由调用方负责
68
+ def self.from_env(env: ENV, **options)
69
+ new(**Configuration.from_env(env, options))
63
70
  end
64
71
 
65
72
  # 直接执行调用方指定的 Zabbix API 方法。
66
73
  #
67
- # @param data [Hash]
68
- # @return [Hash]
69
- def query(data)
70
- @client.api_request(method: data[:method], params: data[:params])
74
+ # @param method [String]
75
+ # @param params [Hash, Array]
76
+ # @return [Object]
77
+ # @raise [ApiError] 服务端明确拒绝请求
78
+ # @raise [TransportError, ProtocolError] 未获得可确认结果;写请求不可盲目重试
79
+ def query(method:, params: {})
80
+ @client.api_request(method: method, params: params)
71
81
  end
72
82
 
73
83
  # 注销用户名会话并关闭连接。
@@ -77,6 +87,7 @@ class ZabbixManager
77
87
  end
78
88
 
79
89
  # 关闭持久 HTTP 连接但不改变远端凭据。
90
+ # @return [true] 下次请求可按需重新连接
80
91
  def close
81
92
  @client.close
82
93
  end
@@ -84,163 +95,39 @@ class ZabbixManager
84
95
  # 初始化管理器并创建唯一共享客户端。
85
96
  #
86
97
  # @param options [Hash]
87
- # @return [ZabbixManager::Client]
88
- def initialize(options = {})
89
- @client = Client.new(options)
90
- end
91
-
92
- # 返回动作模块并复用同一客户端。
93
- # @return [ZabbixManager::Actions]
94
- def actions
95
- @actions ||= Actions.new(@client)
96
- end
97
-
98
- # 返回应用模块并复用同一客户端。
99
- # @return [ZabbixManager::Applications]
100
- def applications
101
- @applications ||= Applications.new(@client)
102
- end
103
-
104
- # 返回配置导入导出模块并复用同一客户端。
105
- # @return [ZabbixManager::Configurations]
106
- def configurations
107
- @configurations ||= Configurations.new(@client)
108
- end
109
-
110
- # 返回事件模块并复用同一客户端。
111
- # @return [ZabbixManager::Events]
112
- def events
113
- @events ||= Events.new(@client)
114
- end
115
-
116
- # 返回图形模块并复用同一客户端。
117
- # @return [ZabbixManager::Graphs]
118
- def graphs
119
- @graphs ||= Graphs.new(@client)
120
- end
121
-
122
- # 返回主机群组模块并复用同一客户端。
123
- # @return [ZabbixManager::HostGroups]
124
- def hostgroups
125
- @hostgroups ||= HostGroups.new(@client)
126
- end
127
-
128
- # 返回主机接口 API 模块,并复用同一客户端会话。
129
- # @return [ZabbixManager::HostInterfaces]
130
- def hostinterfaces
131
- @hostinterfaces ||= HostInterfaces.new(@client)
132
- end
133
-
134
- # 返回主机模块并复用同一客户端。
135
- # @return [ZabbixManager::Hosts]
136
- def hosts
137
- @hosts ||= Hosts.new(@client)
138
- end
139
-
140
- # 返回 Web 场景模块并复用同一客户端。
141
- # @return [ZabbixManager::HttpTests]
142
- def httptests
143
- @httptests ||= HttpTests.new(@client)
144
- end
145
-
146
- # 返回监控项模块并复用同一客户端。
147
- # @return [ZabbixManager::Items]
148
- def items
149
- @items ||= Items.new(@client)
150
- end
151
-
152
- # 返回维护模块并复用同一客户端。
153
- # @return [ZabbixManager::Maintenance]
154
- def maintenance
155
- @maintenance ||= Maintenance.new(@client)
156
- end
157
-
158
- # 返回媒介类型模块并复用同一客户端。
159
- # @return [ZabbixManager::Mediatypes]
160
- def mediatypes
161
- @mediatypes ||= Mediatypes.new(@client)
162
- end
163
-
164
- # 返回问题模块并复用同一客户端。
165
- # @return [ZabbixManager::Problems]
166
- def problems
167
- @problems ||= Problems.new(@client)
168
- end
169
-
170
- # 返回代理模块并复用同一客户端。
171
- # @return [ZabbixManager::Proxies]
172
- def proxies
173
- @proxies ||= Proxies.new(@client)
174
- end
175
-
176
- # 返回角色模块并复用同一客户端。
177
- # @return [ZabbixManager::Roles]
178
- def roles
179
- @roles ||= Roles.new(@client)
180
- end
181
-
182
- # 返回聚合图模块并复用同一客户端。
183
- # @return [ZabbixManager::Screens]
184
- def screens
185
- @screens ||= Screens.new(@client)
186
- end
187
-
188
- # 返回脚本模块并复用同一客户端。
189
- # @return [ZabbixManager::Scripts]
190
- def scripts
191
- @scripts ||= Scripts.new(@client)
192
- end
193
-
194
- # 返回服务端信息模块并复用同一客户端。
195
- # @return [ZabbixManager::Server]
196
- def server
197
- @server ||= Server.new(@client)
198
- end
199
-
200
- # 返回模板模块并复用同一客户端。
201
- # @return [ZabbixManager::Templates]
202
- def templates
203
- @templates ||= Templates.new(@client)
204
- end
205
-
206
- # 返回触发器模块并复用同一客户端。
207
- # @return [ZabbixManager::Triggers]
208
- def triggers
209
- @triggers ||= Triggers.new(@client)
210
- end
211
-
212
- # 返回用户群组模块并复用同一客户端。
213
- # @return [ZabbixManager::Usergroups]
214
- def usergroups
215
- @usergroups ||= Usergroups.new(@client)
216
- end
217
-
218
- # 返回用户宏模块并复用同一客户端。
219
- # @return [ZabbixManager::Usermacros]
220
- def usermacros
221
- @usermacros ||= Usermacros.new(@client)
222
- end
223
-
224
- # 返回用户模块并复用同一客户端。
225
- # @return [ZabbixManager::Users]
226
- def users
227
- @users ||= Users.new(@client)
228
- end
229
-
230
- # 返回值映射模块并复用同一客户端。
231
- # @return [ZabbixManager::ValueMaps]
232
- def valuemaps
233
- @valuemaps ||= ValueMaps.new(@client)
234
- end
235
-
236
- # 返回网络发现规则模块并复用同一客户端。
237
- # @return [ZabbixManager::Drules]
238
- def drules
239
- @drules ||= Drules.new(@client)
240
- end
241
-
242
- # 返回设备、接口和线路监控的幂等业务编排模块。
98
+ # @raise [Invalid, ApiError, TransportError] 配置、认证或连接失败
99
+ def initialize(**options)
100
+ @client = Client.new(**options)
101
+ @resources = {}
102
+ end
103
+
104
+ # 各资源对象共享当前管理器的已认证客户端。
105
+ RESOURCES = {
106
+ actions: Actions, applications: Applications, configurations: Configurations,
107
+ events: Events, graphs: Graphs, host_groups: HostGroups, host_interfaces: HostInterfaces,
108
+ hosts: Hosts, http_tests: HttpTests, items: Items, maintenance: Maintenance,
109
+ media_types: MediaTypes, problems: Problems, proxies: Proxies, proxy_groups: ProxyGroups, roles: Roles,
110
+ screens: Screens, scripts: Scripts, server: Server, templates: Templates,
111
+ triggers: Triggers, user_groups: UserGroups, user_macros: UserMacros, users: Users,
112
+ value_maps: ValueMaps, discovery_rules: DiscoveryRules
113
+ }.freeze
114
+ private_constant :RESOURCES
115
+
116
+ # 在加载期按固定映射生成 actions、host_groups 等访问器,避免重复的资源工厂方法。
117
+ # 名称不来自外部输入;实例按管理器缓存,认证和连接由共享 Client 持有。
118
+ RESOURCES.each do |name, resource_class|
119
+ define_method(name) { @resources[name] ||= resource_class.new(@client) }
120
+ end
121
+
122
+ # 返回仅使用 Zabbix 原生 API 的设备、接口和线路监控编排入口。
123
+ # @return [ZabbixManager::Monitoring] 同一 manager 复用同一业务实例
243
124
  def monitoring
244
125
  @monitoring ||= Monitoring.new(self)
245
126
  end
127
+
128
+ # 查询数值监控项的历史或趋势序列,不访问数据库、不补造缺失观测。
129
+ # @return [ZabbixManager::Traffic] 同一 manager 复用同一查询实例
130
+ def traffic
131
+ @traffic ||= Traffic.new(self)
132
+ end
246
133
  end
@@ -1,29 +1,13 @@
1
- # coding: utf-8
2
1
  # frozen_string_literal: true
3
2
 
4
- lib = File.expand_path("../lib", __FILE__)
5
-
6
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
7
-
8
- require "zabbix_manager/version"
3
+ require_relative "lib/zabbix_manager/version"
9
4
 
10
5
  Gem::Specification.new do |spec|
11
- spec.add_dependency "activesupport", ">= 6.1", "< 8"
12
- spec.add_dependency "json", "~> 2.0"
6
+ spec.add_dependency "activesupport", ">= 7.2"
7
+ spec.add_dependency "bigdecimal"
8
+ spec.add_dependency "json", ">= 2.0"
13
9
  spec.add_dependency "logger", ">= 1.4"
14
- spec.add_development_dependency "bundler", "~> 2.3", ">= 2.3.9"
15
- spec.add_development_dependency "base64", ">= 0.2"
16
- spec.add_development_dependency "benchmark", ">= 0.3"
17
- spec.add_development_dependency "minitest", "~> 5.27"
18
- spec.add_development_dependency "ostruct", ">= 0.6"
19
- spec.add_development_dependency "racc", ">= 1.6"
20
-
21
- spec.add_development_dependency "rspec", "~> 3.13"
22
- spec.add_development_dependency "yard", "~> 0.9.27"
23
- spec.add_development_dependency "yardstick", "~> 0.9.9"
24
- spec.add_development_dependency "rubocop", "~> 1.25", ">= 1.25.1"
25
- spec.add_development_dependency "rubocop-performance", "~> 1.13"
26
- spec.add_development_dependency "rubocop-packaging", "~> 0.5.1"
10
+ spec.add_dependency "net-http"
27
11
 
28
12
  spec.name = "zabbix_manager"
29
13
  spec.version = ZabbixManager::VERSION
@@ -43,5 +27,5 @@ Gem::Specification.new do |spec|
43
27
 
44
28
  spec.files = %w[CHANGELOG.md LICENSE README.md zabbix_manager.gemspec] + Dir["lib/**/*.rb"]
45
29
  spec.require_paths = "lib"
46
- spec.required_ruby_version = ">= 2.7.0"
30
+ spec.required_ruby_version = ">= 3.4"
47
31
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zabbix_manager
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.1.6
4
+ version: 6.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - WENWU YAN
@@ -15,228 +15,70 @@ dependencies:
15
15
  requirements:
16
16
  - - ">="
17
17
  - !ruby/object:Gem::Version
18
- version: '6.1'
19
- - - "<"
20
- - !ruby/object:Gem::Version
21
- version: '8'
18
+ version: '7.2'
22
19
  type: :runtime
23
20
  prerelease: false
24
21
  version_requirements: !ruby/object:Gem::Requirement
25
22
  requirements:
26
23
  - - ">="
27
24
  - !ruby/object:Gem::Version
28
- version: '6.1'
29
- - - "<"
30
- - !ruby/object:Gem::Version
31
- version: '8'
25
+ version: '7.2'
32
26
  - !ruby/object:Gem::Dependency
33
- name: json
34
- requirement: !ruby/object:Gem::Requirement
35
- requirements:
36
- - - "~>"
37
- - !ruby/object:Gem::Version
38
- version: '2.0'
39
- type: :runtime
40
- prerelease: false
41
- version_requirements: !ruby/object:Gem::Requirement
42
- requirements:
43
- - - "~>"
44
- - !ruby/object:Gem::Version
45
- version: '2.0'
46
- - !ruby/object:Gem::Dependency
47
- name: logger
27
+ name: bigdecimal
48
28
  requirement: !ruby/object:Gem::Requirement
49
29
  requirements:
50
30
  - - ">="
51
31
  - !ruby/object:Gem::Version
52
- version: '1.4'
32
+ version: '0'
53
33
  type: :runtime
54
34
  prerelease: false
55
35
  version_requirements: !ruby/object:Gem::Requirement
56
36
  requirements:
57
37
  - - ">="
58
38
  - !ruby/object:Gem::Version
59
- version: '1.4'
60
- - !ruby/object:Gem::Dependency
61
- name: bundler
62
- requirement: !ruby/object:Gem::Requirement
63
- requirements:
64
- - - "~>"
65
- - !ruby/object:Gem::Version
66
- version: '2.3'
67
- - - ">="
68
- - !ruby/object:Gem::Version
69
- version: 2.3.9
70
- type: :development
71
- prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- requirements:
74
- - - "~>"
75
- - !ruby/object:Gem::Version
76
- version: '2.3'
77
- - - ">="
78
- - !ruby/object:Gem::Version
79
- version: 2.3.9
80
- - !ruby/object:Gem::Dependency
81
- name: base64
82
- requirement: !ruby/object:Gem::Requirement
83
- requirements:
84
- - - ">="
85
- - !ruby/object:Gem::Version
86
- version: '0.2'
87
- type: :development
88
- prerelease: false
89
- version_requirements: !ruby/object:Gem::Requirement
90
- requirements:
91
- - - ">="
92
- - !ruby/object:Gem::Version
93
- version: '0.2'
94
- - !ruby/object:Gem::Dependency
95
- name: benchmark
96
- requirement: !ruby/object:Gem::Requirement
97
- requirements:
98
- - - ">="
99
- - !ruby/object:Gem::Version
100
- version: '0.3'
101
- type: :development
102
- prerelease: false
103
- version_requirements: !ruby/object:Gem::Requirement
104
- requirements:
105
- - - ">="
106
- - !ruby/object:Gem::Version
107
- version: '0.3'
108
- - !ruby/object:Gem::Dependency
109
- name: minitest
110
- requirement: !ruby/object:Gem::Requirement
111
- requirements:
112
- - - "~>"
113
- - !ruby/object:Gem::Version
114
- version: '5.27'
115
- type: :development
116
- prerelease: false
117
- version_requirements: !ruby/object:Gem::Requirement
118
- requirements:
119
- - - "~>"
120
- - !ruby/object:Gem::Version
121
- version: '5.27'
39
+ version: '0'
122
40
  - !ruby/object:Gem::Dependency
123
- name: ostruct
41
+ name: json
124
42
  requirement: !ruby/object:Gem::Requirement
125
43
  requirements:
126
44
  - - ">="
127
45
  - !ruby/object:Gem::Version
128
- version: '0.6'
129
- type: :development
46
+ version: '2.0'
47
+ type: :runtime
130
48
  prerelease: false
131
49
  version_requirements: !ruby/object:Gem::Requirement
132
50
  requirements:
133
51
  - - ">="
134
52
  - !ruby/object:Gem::Version
135
- version: '0.6'
53
+ version: '2.0'
136
54
  - !ruby/object:Gem::Dependency
137
- name: racc
55
+ name: logger
138
56
  requirement: !ruby/object:Gem::Requirement
139
57
  requirements:
140
58
  - - ">="
141
59
  - !ruby/object:Gem::Version
142
- version: '1.6'
143
- type: :development
60
+ version: '1.4'
61
+ type: :runtime
144
62
  prerelease: false
145
63
  version_requirements: !ruby/object:Gem::Requirement
146
64
  requirements:
147
65
  - - ">="
148
66
  - !ruby/object:Gem::Version
149
- version: '1.6'
150
- - !ruby/object:Gem::Dependency
151
- name: rspec
152
- requirement: !ruby/object:Gem::Requirement
153
- requirements:
154
- - - "~>"
155
- - !ruby/object:Gem::Version
156
- version: '3.13'
157
- type: :development
158
- prerelease: false
159
- version_requirements: !ruby/object:Gem::Requirement
160
- requirements:
161
- - - "~>"
162
- - !ruby/object:Gem::Version
163
- version: '3.13'
164
- - !ruby/object:Gem::Dependency
165
- name: yard
166
- requirement: !ruby/object:Gem::Requirement
167
- requirements:
168
- - - "~>"
169
- - !ruby/object:Gem::Version
170
- version: 0.9.27
171
- type: :development
172
- prerelease: false
173
- version_requirements: !ruby/object:Gem::Requirement
174
- requirements:
175
- - - "~>"
176
- - !ruby/object:Gem::Version
177
- version: 0.9.27
178
- - !ruby/object:Gem::Dependency
179
- name: yardstick
180
- requirement: !ruby/object:Gem::Requirement
181
- requirements:
182
- - - "~>"
183
- - !ruby/object:Gem::Version
184
- version: 0.9.9
185
- type: :development
186
- prerelease: false
187
- version_requirements: !ruby/object:Gem::Requirement
188
- requirements:
189
- - - "~>"
190
- - !ruby/object:Gem::Version
191
- version: 0.9.9
67
+ version: '1.4'
192
68
  - !ruby/object:Gem::Dependency
193
- name: rubocop
69
+ name: net-http
194
70
  requirement: !ruby/object:Gem::Requirement
195
71
  requirements:
196
- - - "~>"
197
- - !ruby/object:Gem::Version
198
- version: '1.25'
199
72
  - - ">="
200
73
  - !ruby/object:Gem::Version
201
- version: 1.25.1
202
- type: :development
74
+ version: '0'
75
+ type: :runtime
203
76
  prerelease: false
204
77
  version_requirements: !ruby/object:Gem::Requirement
205
78
  requirements:
206
- - - "~>"
207
- - !ruby/object:Gem::Version
208
- version: '1.25'
209
79
  - - ">="
210
80
  - !ruby/object:Gem::Version
211
- version: 1.25.1
212
- - !ruby/object:Gem::Dependency
213
- name: rubocop-performance
214
- requirement: !ruby/object:Gem::Requirement
215
- requirements:
216
- - - "~>"
217
- - !ruby/object:Gem::Version
218
- version: '1.13'
219
- type: :development
220
- prerelease: false
221
- version_requirements: !ruby/object:Gem::Requirement
222
- requirements:
223
- - - "~>"
224
- - !ruby/object:Gem::Version
225
- version: '1.13'
226
- - !ruby/object:Gem::Dependency
227
- name: rubocop-packaging
228
- requirement: !ruby/object:Gem::Requirement
229
- requirements:
230
- - - "~>"
231
- - !ruby/object:Gem::Version
232
- version: 0.5.1
233
- type: :development
234
- prerelease: false
235
- version_requirements: !ruby/object:Gem::Requirement
236
- requirements:
237
- - - "~>"
238
- - !ruby/object:Gem::Version
239
- version: 0.5.1
81
+ version: '0'
240
82
  description: A reusable Zabbix API client with device and network-interface monitoring
241
83
  workflows.
242
84
  email:
@@ -249,40 +91,49 @@ files:
249
91
  - LICENSE
250
92
  - README.md
251
93
  - lib/zabbix_manager.rb
252
- - lib/zabbix_manager/basic/basic_alias.rb
253
- - lib/zabbix_manager/basic/basic_func.rb
254
- - lib/zabbix_manager/basic/basic_init.rb
255
- - lib/zabbix_manager/basic/basic_logic.rb
256
94
  - lib/zabbix_manager/classes/actions.rb
257
95
  - lib/zabbix_manager/classes/applications.rb
258
96
  - lib/zabbix_manager/classes/configurations.rb
259
- - lib/zabbix_manager/classes/drules.rb
97
+ - lib/zabbix_manager/classes/discovery_rules.rb
260
98
  - lib/zabbix_manager/classes/errors.rb
261
99
  - lib/zabbix_manager/classes/events.rb
262
100
  - lib/zabbix_manager/classes/graphs.rb
263
- - lib/zabbix_manager/classes/hostgroups.rb
264
- - lib/zabbix_manager/classes/hostinterfaces.rb
101
+ - lib/zabbix_manager/classes/host_groups.rb
102
+ - lib/zabbix_manager/classes/host_interfaces.rb
265
103
  - lib/zabbix_manager/classes/hosts.rb
266
- - lib/zabbix_manager/classes/httptests.rb
104
+ - lib/zabbix_manager/classes/http_tests.rb
267
105
  - lib/zabbix_manager/classes/items.rb
268
106
  - lib/zabbix_manager/classes/maintenance.rb
269
- - lib/zabbix_manager/classes/mediatypes.rb
107
+ - lib/zabbix_manager/classes/media_types.rb
270
108
  - lib/zabbix_manager/classes/problems.rb
271
109
  - lib/zabbix_manager/classes/proxies.rb
110
+ - lib/zabbix_manager/classes/proxy_groups.rb
272
111
  - lib/zabbix_manager/classes/roles.rb
273
112
  - lib/zabbix_manager/classes/screens.rb
274
113
  - lib/zabbix_manager/classes/scripts.rb
275
114
  - lib/zabbix_manager/classes/server.rb
276
115
  - lib/zabbix_manager/classes/templates.rb
277
116
  - lib/zabbix_manager/classes/triggers.rb
278
- - lib/zabbix_manager/classes/usergroups.rb
279
- - lib/zabbix_manager/classes/usermacros.rb
117
+ - lib/zabbix_manager/classes/user_groups.rb
118
+ - lib/zabbix_manager/classes/user_macros.rb
280
119
  - lib/zabbix_manager/classes/users.rb
281
- - lib/zabbix_manager/classes/valuemaps.rb
120
+ - lib/zabbix_manager/classes/value_maps.rb
282
121
  - lib/zabbix_manager/client.rb
122
+ - lib/zabbix_manager/configuration.rb
283
123
  - lib/zabbix_manager/http_transport.rb
284
124
  - lib/zabbix_manager/log_sanitizer.rb
285
125
  - lib/zabbix_manager/monitoring.rb
126
+ - lib/zabbix_manager/monitoring/device.rb
127
+ - lib/zabbix_manager/monitoring/expressions.rb
128
+ - lib/zabbix_manager/monitoring/line.rb
129
+ - lib/zabbix_manager/monitoring/line_items.rb
130
+ - lib/zabbix_manager/monitoring/line_lifecycle.rb
131
+ - lib/zabbix_manager/monitoring/line_plan.rb
132
+ - lib/zabbix_manager/monitoring/thresholds.rb
133
+ - lib/zabbix_manager/monitoring/traffic_items.rb
134
+ - lib/zabbix_manager/monitoring/validation.rb
135
+ - lib/zabbix_manager/resource.rb
136
+ - lib/zabbix_manager/traffic.rb
286
137
  - lib/zabbix_manager/version.rb
287
138
  - zabbix_manager.gemspec
288
139
  homepage: https://github.com/gatework/zabbix_manager/tree/master
@@ -300,14 +151,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
300
151
  requirements:
301
152
  - - ">="
302
153
  - !ruby/object:Gem::Version
303
- version: 2.7.0
154
+ version: '3.4'
304
155
  required_rubygems_version: !ruby/object:Gem::Requirement
305
156
  requirements:
306
157
  - - ">="
307
158
  - !ruby/object:Gem::Version
308
159
  version: '0'
309
160
  requirements: []
310
- rubygems_version: 4.0.12
161
+ rubygems_version: 3.6.9
311
162
  specification_version: 4
312
163
  summary: Ruby client and monitoring workflows for the Zabbix 4.0 through 7.x API
313
164
  test_files: []