zabbix_manager 5.1.4 → 5.1.6

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 (43) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +25 -9
  3. data/LICENSE +1 -1
  4. data/README.md +202 -8
  5. data/lib/zabbix_manager/basic/basic_alias.rb +25 -3
  6. data/lib/zabbix_manager/basic/basic_func.rb +32 -61
  7. data/lib/zabbix_manager/basic/basic_init.rb +28 -13
  8. data/lib/zabbix_manager/basic/basic_logic.rb +172 -128
  9. data/lib/zabbix_manager/classes/actions.rb +21 -11
  10. data/lib/zabbix_manager/classes/applications.rb +12 -17
  11. data/lib/zabbix_manager/classes/configurations.rb +20 -5
  12. data/lib/zabbix_manager/classes/drules.rb +11 -23
  13. data/lib/zabbix_manager/classes/errors.rb +16 -28
  14. data/lib/zabbix_manager/classes/events.rb +6 -2
  15. data/lib/zabbix_manager/classes/graphs.rb +41 -34
  16. data/lib/zabbix_manager/classes/hostgroups.rb +53 -3
  17. data/lib/zabbix_manager/classes/hostinterfaces.rb +172 -12
  18. data/lib/zabbix_manager/classes/hosts.rb +197 -68
  19. data/lib/zabbix_manager/classes/httptests.rb +18 -20
  20. data/lib/zabbix_manager/classes/items.rb +199 -72
  21. data/lib/zabbix_manager/classes/maintenance.rb +6 -2
  22. data/lib/zabbix_manager/classes/mediatypes.rb +7 -63
  23. data/lib/zabbix_manager/classes/problems.rb +75 -57
  24. data/lib/zabbix_manager/classes/proxies.rb +48 -7
  25. data/lib/zabbix_manager/classes/roles.rb +47 -36
  26. data/lib/zabbix_manager/classes/screens.rb +45 -14
  27. data/lib/zabbix_manager/classes/scripts.rb +17 -7
  28. data/lib/zabbix_manager/classes/server.rb +7 -1
  29. data/lib/zabbix_manager/classes/templates.rb +59 -21
  30. data/lib/zabbix_manager/classes/triggers.rb +253 -66
  31. data/lib/zabbix_manager/classes/usergroups.rb +28 -6
  32. data/lib/zabbix_manager/classes/usermacros.rb +119 -33
  33. data/lib/zabbix_manager/classes/users.rb +39 -7
  34. data/lib/zabbix_manager/classes/valuemaps.rb +13 -19
  35. data/lib/zabbix_manager/client.rb +311 -135
  36. data/lib/zabbix_manager/http_transport.rb +192 -0
  37. data/lib/zabbix_manager/log_sanitizer.rb +68 -0
  38. data/lib/zabbix_manager/monitoring.rb +691 -0
  39. data/lib/zabbix_manager/version.rb +1 -1
  40. data/lib/zabbix_manager.rb +118 -40
  41. data/zabbix_manager.gemspec +21 -8
  42. metadata +208 -22
  43. data/lib/zabbix_manager/classes/unusable.rb +0 -11
@@ -1,168 +1,246 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "active_support/core_ext/hash/indifferent_access"
4
+ require "active_support/core_ext/hash/keys"
5
+ require "active_support/core_ext/hash/deep_transform_values"
6
+ require "active_support/core_ext/enumerable"
7
+ require "active_support/core_ext/array/wrap"
8
+ require "active_support/core_ext/object/blank"
3
9
  require "zabbix_manager/version"
10
+ require "zabbix_manager/classes/errors"
11
+ require "zabbix_manager/log_sanitizer"
12
+ require "zabbix_manager/http_transport"
4
13
  require "zabbix_manager/client"
5
14
 
6
- # 动态加载基础类
7
- Dir.glob(File.join(__dir__, "zabbix_manager/basic", "**", "*.rb")).sort.each do |basic_class|
8
- require basic_class
9
- end
10
-
11
- # 动态加载扩展类
12
- Dir.glob(File.join(__dir__, "zabbix_manager/classes", "**", "*.rb")).sort.each do |extend_class|
13
- require extend_class
14
- end
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"
19
+
20
+ require "zabbix_manager/classes/actions"
21
+ require "zabbix_manager/classes/applications"
22
+ require "zabbix_manager/classes/configurations"
23
+ require "zabbix_manager/classes/events"
24
+ require "zabbix_manager/classes/graphs"
25
+ require "zabbix_manager/classes/hostgroups"
26
+ require "zabbix_manager/classes/hostinterfaces"
27
+ require "zabbix_manager/classes/hosts"
28
+ require "zabbix_manager/classes/httptests"
29
+ require "zabbix_manager/classes/items"
30
+ require "zabbix_manager/classes/maintenance"
31
+ require "zabbix_manager/classes/mediatypes"
32
+ require "zabbix_manager/classes/proxies"
33
+ require "zabbix_manager/classes/problems"
34
+ require "zabbix_manager/classes/roles"
35
+ require "zabbix_manager/classes/screens"
36
+ require "zabbix_manager/classes/scripts"
37
+ require "zabbix_manager/classes/server"
38
+ require "zabbix_manager/classes/templates"
39
+ require "zabbix_manager/classes/triggers"
40
+ require "zabbix_manager/classes/usergroups"
41
+ require "zabbix_manager/classes/usermacros"
42
+ require "zabbix_manager/classes/users"
43
+ require "zabbix_manager/classes/valuemaps"
44
+ require "zabbix_manager/classes/drules"
45
+ require "zabbix_manager/monitoring"
15
46
 
16
47
  class ZabbixManager
48
+ # @return [ZabbixManager::Client]
17
49
  attr_reader :client
18
50
 
19
- # 初始化一个新的 ZabbixManager 对象
51
+ # 使用页面或服务配置创建管理器实例。
52
+ #
53
+ # @param options [Hash]
54
+ # @return [ZabbixManager]
20
55
  def self.connect(options = {})
21
56
  new(options)
22
57
  end
23
58
 
24
- # 获取当前 ZabbixManager 对象
59
+ # 返回进程内默认管理器实例。
60
+ # @return [ZabbixManager]
25
61
  def self.current
26
- @current ||= new
62
+ @current ||= ZabbixManager.new
27
63
  end
28
64
 
29
- # 直接使用自定义查询执行 API 请求
65
+ # 直接执行调用方指定的 Zabbix API 方法。
66
+ #
67
+ # @param data [Hash]
68
+ # @return [Hash]
30
69
  def query(data)
31
70
  @client.api_request(method: data[:method], params: data[:params])
32
71
  end
33
72
 
34
- # 注销当前身份验证令牌
73
+ # 注销用户名会话并关闭连接。
74
+ # @return [Boolean]
35
75
  def logout
36
76
  @client.logout
37
77
  end
38
78
 
39
- # 初始化一个新的 ZabbixManager 对象
79
+ # 关闭持久 HTTP 连接但不改变远端凭据。
80
+ def close
81
+ @client.close
82
+ end
83
+
84
+ # 初始化管理器并创建唯一共享客户端。
85
+ #
86
+ # @param options [Hash]
87
+ # @return [ZabbixManager::Client]
40
88
  def initialize(options = {})
41
89
  @client = Client.new(options)
42
90
  end
43
91
 
44
- # 返回 ZabbixManager::Actions 对象
92
+ # 返回动作模块并复用同一客户端。
93
+ # @return [ZabbixManager::Actions]
45
94
  def actions
46
95
  @actions ||= Actions.new(@client)
47
96
  end
48
97
 
49
- # 返回 ZabbixManager::Applications 对象
98
+ # 返回应用模块并复用同一客户端。
99
+ # @return [ZabbixManager::Applications]
50
100
  def applications
51
101
  @applications ||= Applications.new(@client)
52
102
  end
53
103
 
54
- # 返回 ZabbixManager::Configurations 对象
104
+ # 返回配置导入导出模块并复用同一客户端。
105
+ # @return [ZabbixManager::Configurations]
55
106
  def configurations
56
107
  @configurations ||= Configurations.new(@client)
57
108
  end
58
109
 
59
- # 返回 ZabbixManager::Events 对象
110
+ # 返回事件模块并复用同一客户端。
111
+ # @return [ZabbixManager::Events]
60
112
  def events
61
113
  @events ||= Events.new(@client)
62
114
  end
63
115
 
64
- # 返回 ZabbixManager::Graphs 对象
116
+ # 返回图形模块并复用同一客户端。
117
+ # @return [ZabbixManager::Graphs]
65
118
  def graphs
66
119
  @graphs ||= Graphs.new(@client)
67
120
  end
68
121
 
69
- # 返回 ZabbixManager::HostGroups 对象
122
+ # 返回主机群组模块并复用同一客户端。
123
+ # @return [ZabbixManager::HostGroups]
70
124
  def hostgroups
71
125
  @hostgroups ||= HostGroups.new(@client)
72
126
  end
73
127
 
74
- # 返回 ZabbixManager::HostInterfaces 对象
128
+ # 返回主机接口 API 模块,并复用同一客户端会话。
129
+ # @return [ZabbixManager::HostInterfaces]
75
130
  def hostinterfaces
76
131
  @hostinterfaces ||= HostInterfaces.new(@client)
77
132
  end
78
133
 
79
- # 返回 ZabbixManager::Hosts 对象
134
+ # 返回主机模块并复用同一客户端。
135
+ # @return [ZabbixManager::Hosts]
80
136
  def hosts
81
137
  @hosts ||= Hosts.new(@client)
82
138
  end
83
139
 
84
- # 返回 ZabbixManager::HttpTests 对象
140
+ # 返回 Web 场景模块并复用同一客户端。
141
+ # @return [ZabbixManager::HttpTests]
85
142
  def httptests
86
143
  @httptests ||= HttpTests.new(@client)
87
144
  end
88
145
 
89
- # 返回 ZabbixManager::Items 对象
146
+ # 返回监控项模块并复用同一客户端。
147
+ # @return [ZabbixManager::Items]
90
148
  def items
91
149
  @items ||= Items.new(@client)
92
150
  end
93
151
 
94
- # 返回 ZabbixManager::Maintenance 对象
152
+ # 返回维护模块并复用同一客户端。
153
+ # @return [ZabbixManager::Maintenance]
95
154
  def maintenance
96
155
  @maintenance ||= Maintenance.new(@client)
97
156
  end
98
157
 
99
- # 返回 ZabbixManager::Mediatypes 对象
158
+ # 返回媒介类型模块并复用同一客户端。
159
+ # @return [ZabbixManager::Mediatypes]
100
160
  def mediatypes
101
161
  @mediatypes ||= Mediatypes.new(@client)
102
162
  end
103
163
 
104
- # 返回 ZabbixManager::Problems 对象
164
+ # 返回问题模块并复用同一客户端。
165
+ # @return [ZabbixManager::Problems]
105
166
  def problems
106
167
  @problems ||= Problems.new(@client)
107
168
  end
108
169
 
109
- # 返回 ZabbixManager::Proxies 对象
170
+ # 返回代理模块并复用同一客户端。
171
+ # @return [ZabbixManager::Proxies]
110
172
  def proxies
111
173
  @proxies ||= Proxies.new(@client)
112
174
  end
113
175
 
114
- # 返回 ZabbixManager::Roles 对象
176
+ # 返回角色模块并复用同一客户端。
177
+ # @return [ZabbixManager::Roles]
115
178
  def roles
116
179
  @roles ||= Roles.new(@client)
117
180
  end
118
181
 
119
- # 返回 ZabbixManager::Screens 对象
182
+ # 返回聚合图模块并复用同一客户端。
183
+ # @return [ZabbixManager::Screens]
120
184
  def screens
121
185
  @screens ||= Screens.new(@client)
122
186
  end
123
187
 
124
- # 返回 ZabbixManager::Scripts 对象
188
+ # 返回脚本模块并复用同一客户端。
189
+ # @return [ZabbixManager::Scripts]
125
190
  def scripts
126
191
  @scripts ||= Scripts.new(@client)
127
192
  end
128
193
 
129
- # 返回 ZabbixManager::Server 对象
194
+ # 返回服务端信息模块并复用同一客户端。
195
+ # @return [ZabbixManager::Server]
130
196
  def server
131
197
  @server ||= Server.new(@client)
132
198
  end
133
199
 
134
- # 返回 ZabbixManager::Templates 对象
200
+ # 返回模板模块并复用同一客户端。
201
+ # @return [ZabbixManager::Templates]
135
202
  def templates
136
203
  @templates ||= Templates.new(@client)
137
204
  end
138
205
 
139
- # 返回 ZabbixManager::Triggers 对象
206
+ # 返回触发器模块并复用同一客户端。
207
+ # @return [ZabbixManager::Triggers]
140
208
  def triggers
141
209
  @triggers ||= Triggers.new(@client)
142
210
  end
143
211
 
144
- # 返回 ZabbixManager::Usergroups 对象
212
+ # 返回用户群组模块并复用同一客户端。
213
+ # @return [ZabbixManager::Usergroups]
145
214
  def usergroups
146
215
  @usergroups ||= Usergroups.new(@client)
147
216
  end
148
217
 
149
- # 返回 ZabbixManager::Usermacros 对象
218
+ # 返回用户宏模块并复用同一客户端。
219
+ # @return [ZabbixManager::Usermacros]
150
220
  def usermacros
151
221
  @usermacros ||= Usermacros.new(@client)
152
222
  end
153
223
 
154
- # 返回 ZabbixManager::Users 对象
224
+ # 返回用户模块并复用同一客户端。
225
+ # @return [ZabbixManager::Users]
155
226
  def users
156
227
  @users ||= Users.new(@client)
157
228
  end
158
229
 
159
- # 返回 ZabbixManager::ValueMaps 对象
230
+ # 返回值映射模块并复用同一客户端。
231
+ # @return [ZabbixManager::ValueMaps]
160
232
  def valuemaps
161
233
  @valuemaps ||= ValueMaps.new(@client)
162
234
  end
163
235
 
164
- # 返回 ZabbixManager::Drules 对象
236
+ # 返回网络发现规则模块并复用同一客户端。
237
+ # @return [ZabbixManager::Drules]
165
238
  def drules
166
239
  @drules ||= Drules.new(@client)
167
240
  end
241
+
242
+ # 返回设备、接口和线路监控的幂等业务编排模块。
243
+ def monitoring
244
+ @monitoring ||= Monitoring.new(self)
245
+ end
168
246
  end
@@ -8,25 +8,38 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
8
8
  require "zabbix_manager/version"
9
9
 
10
10
  Gem::Specification.new do |spec|
11
- spec.add_dependency "http"
12
- spec.add_dependency "json"
13
- spec.add_dependency "activesupport"
11
+ spec.add_dependency "activesupport", ">= 6.1", "< 8"
12
+ spec.add_dependency "json", "~> 2.0"
13
+ 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"
14
27
 
15
28
  spec.name = "zabbix_manager"
16
29
  spec.version = ZabbixManager::VERSION
17
30
  spec.authors = ["WENWU YAN"]
18
31
  spec.email = ["careline@foxmail.com"]
19
32
 
20
- spec.summary = "Common code for Zabbix API clients"
21
- spec.description = "A Ruby interface to the Zabbix API"
22
- spec.homepage = "https://github.com/snmpd/zabbix_manager"
33
+ spec.summary = "Ruby client and monitoring workflows for the Zabbix 4.0 through 7.x API"
34
+ spec.description = "A reusable Zabbix API client with device and network-interface monitoring workflows."
35
+ spec.homepage = "https://github.com/gatework/zabbix_manager/tree/master"
23
36
  spec.licenses = "MIT"
24
37
 
25
38
  spec.metadata["allowed_push_host"] = "https://rubygems.org"
26
39
 
27
40
  spec.metadata["homepage_uri"] = spec.homepage
28
- spec.metadata["source_code_uri"] = "https://github.com/snmpd/zabbix_manager"
29
- spec.metadata["changelog_uri"] = "https://github.com/snmpd/zabbix_manager"
41
+ spec.metadata["source_code_uri"] = "https://github.com/gatework/zabbix_manager"
42
+ spec.metadata["changelog_uri"] = "https://github.com/gatework/zabbix_manager/blob/master/CHANGELOG.md"
30
43
 
31
44
  spec.files = %w[CHANGELOG.md LICENSE README.md zabbix_manager.gemspec] + Dir["lib/**/*.rb"]
32
45
  spec.require_paths = "lib"
metadata CHANGED
@@ -1,58 +1,244 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zabbix_manager
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.1.4
4
+ version: 5.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - WENWU YAN
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2023-11-25 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
- name: http
13
+ name: activesupport
15
14
  requirement: !ruby/object:Gem::Requirement
16
15
  requirements:
17
16
  - - ">="
18
17
  - !ruby/object:Gem::Version
19
- version: '0'
18
+ version: '6.1'
19
+ - - "<"
20
+ - !ruby/object:Gem::Version
21
+ version: '8'
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
23
25
  requirements:
24
26
  - - ">="
25
27
  - !ruby/object:Gem::Version
26
- version: '0'
28
+ version: '6.1'
29
+ - - "<"
30
+ - !ruby/object:Gem::Version
31
+ version: '8'
27
32
  - !ruby/object:Gem::Dependency
28
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
29
48
  requirement: !ruby/object:Gem::Requirement
30
49
  requirements:
31
50
  - - ">="
32
51
  - !ruby/object:Gem::Version
33
- version: '0'
52
+ version: '1.4'
34
53
  type: :runtime
35
54
  prerelease: false
36
55
  version_requirements: !ruby/object:Gem::Requirement
37
56
  requirements:
38
57
  - - ">="
39
58
  - !ruby/object:Gem::Version
40
- version: '0'
59
+ version: '1.4'
41
60
  - !ruby/object:Gem::Dependency
42
- name: activesupport
61
+ name: bundler
43
62
  requirement: !ruby/object:Gem::Requirement
44
63
  requirements:
64
+ - - "~>"
65
+ - !ruby/object:Gem::Version
66
+ version: '2.3'
45
67
  - - ">="
46
68
  - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :runtime
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'
122
+ - !ruby/object:Gem::Dependency
123
+ name: ostruct
124
+ requirement: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - ">="
127
+ - !ruby/object:Gem::Version
128
+ version: '0.6'
129
+ type: :development
130
+ prerelease: false
131
+ version_requirements: !ruby/object:Gem::Requirement
132
+ requirements:
133
+ - - ">="
134
+ - !ruby/object:Gem::Version
135
+ version: '0.6'
136
+ - !ruby/object:Gem::Dependency
137
+ name: racc
138
+ requirement: !ruby/object:Gem::Requirement
139
+ requirements:
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ version: '1.6'
143
+ type: :development
144
+ prerelease: false
145
+ version_requirements: !ruby/object:Gem::Requirement
146
+ requirements:
147
+ - - ">="
148
+ - !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
49
186
  prerelease: false
50
187
  version_requirements: !ruby/object:Gem::Requirement
51
188
  requirements:
189
+ - - "~>"
190
+ - !ruby/object:Gem::Version
191
+ version: 0.9.9
192
+ - !ruby/object:Gem::Dependency
193
+ name: rubocop
194
+ requirement: !ruby/object:Gem::Requirement
195
+ requirements:
196
+ - - "~>"
197
+ - !ruby/object:Gem::Version
198
+ version: '1.25'
52
199
  - - ">="
53
200
  - !ruby/object:Gem::Version
54
- version: '0'
55
- description: A Ruby interface to the Zabbix API
201
+ version: 1.25.1
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - "~>"
207
+ - !ruby/object:Gem::Version
208
+ version: '1.25'
209
+ - - ">="
210
+ - !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
240
+ description: A reusable Zabbix API client with device and network-interface monitoring
241
+ workflows.
56
242
  email:
57
243
  - careline@foxmail.com
58
244
  executables: []
@@ -89,23 +275,24 @@ files:
89
275
  - lib/zabbix_manager/classes/server.rb
90
276
  - lib/zabbix_manager/classes/templates.rb
91
277
  - lib/zabbix_manager/classes/triggers.rb
92
- - lib/zabbix_manager/classes/unusable.rb
93
278
  - lib/zabbix_manager/classes/usergroups.rb
94
279
  - lib/zabbix_manager/classes/usermacros.rb
95
280
  - lib/zabbix_manager/classes/users.rb
96
281
  - lib/zabbix_manager/classes/valuemaps.rb
97
282
  - lib/zabbix_manager/client.rb
283
+ - lib/zabbix_manager/http_transport.rb
284
+ - lib/zabbix_manager/log_sanitizer.rb
285
+ - lib/zabbix_manager/monitoring.rb
98
286
  - lib/zabbix_manager/version.rb
99
287
  - zabbix_manager.gemspec
100
- homepage: https://github.com/snmpd/zabbix_manager
288
+ homepage: https://github.com/gatework/zabbix_manager/tree/master
101
289
  licenses:
102
290
  - MIT
103
291
  metadata:
104
292
  allowed_push_host: https://rubygems.org
105
- homepage_uri: https://github.com/snmpd/zabbix_manager
106
- source_code_uri: https://github.com/snmpd/zabbix_manager
107
- changelog_uri: https://github.com/snmpd/zabbix_manager
108
- post_install_message:
293
+ homepage_uri: https://github.com/gatework/zabbix_manager/tree/master
294
+ source_code_uri: https://github.com/gatework/zabbix_manager
295
+ changelog_uri: https://github.com/gatework/zabbix_manager/blob/master/CHANGELOG.md
109
296
  rdoc_options: []
110
297
  require_paths:
111
298
  - lib
@@ -120,8 +307,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
120
307
  - !ruby/object:Gem::Version
121
308
  version: '0'
122
309
  requirements: []
123
- rubygems_version: 3.4.10
124
- signing_key:
310
+ rubygems_version: 4.0.12
125
311
  specification_version: 4
126
- summary: Common code for Zabbix API clients
312
+ summary: Ruby client and monitoring workflows for the Zabbix 4.0 through 7.x API
127
313
  test_files: []
@@ -1,11 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class ZabbixManager
4
- class Triggers < Basic
5
- # 使用 Zabbix API 创建或更新触发器对象
6
- def create_or_update(data)
7
- log "[DEBUG] 调用 create_or_update 方法,参数: #{data.inspect}"
8
- get_or_create(data)
9
- end
10
- end
11
- end