zabbix_manager 5.0.5 → 5.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.idea/vcs.xml +6 -0
- data/.idea/workspace.xml +2 -4
- data/.rubocop.yml +1 -1
- data/lib/zabbix_manager/basic/basic_alias.rb +2 -0
- data/lib/zabbix_manager/basic/basic_extend.rb +11 -9
- data/lib/zabbix_manager/basic/basic_func.rb +9 -5
- data/lib/zabbix_manager/basic/basic_init.rb +6 -4
- data/lib/zabbix_manager/basic/basic_logic.rb +7 -5
- data/lib/zabbix_manager/classes/actions.rb +6 -4
- data/lib/zabbix_manager/classes/applications.rb +4 -2
- data/lib/zabbix_manager/classes/configurations.rb +6 -4
- data/lib/zabbix_manager/classes/drules.rb +5 -3
- data/lib/zabbix_manager/classes/errors.rb +5 -3
- data/lib/zabbix_manager/classes/events.rb +4 -3
- data/lib/zabbix_manager/classes/graphs.rb +11 -9
- data/lib/zabbix_manager/classes/hostgroups.rb +13 -11
- data/lib/zabbix_manager/classes/hosts.rb +36 -34
- data/lib/zabbix_manager/classes/httptests.rb +4 -2
- data/lib/zabbix_manager/classes/items.rb +51 -49
- data/lib/zabbix_manager/classes/maintenance.rb +4 -2
- data/lib/zabbix_manager/classes/mediatypes.rb +15 -13
- data/lib/zabbix_manager/classes/problems.rb +31 -30
- data/lib/zabbix_manager/classes/proxies.rb +9 -7
- data/lib/zabbix_manager/classes/roles.rb +17 -15
- data/lib/zabbix_manager/classes/screens.rb +6 -4
- data/lib/zabbix_manager/classes/scripts.rb +6 -4
- data/lib/zabbix_manager/classes/server.rb +3 -1
- data/lib/zabbix_manager/classes/templates.rb +18 -16
- data/lib/zabbix_manager/classes/triggers.rb +41 -37
- data/lib/zabbix_manager/classes/unusable.rb +2 -0
- data/lib/zabbix_manager/classes/usergroups.rb +11 -9
- data/lib/zabbix_manager/classes/usermacros.rb +21 -19
- data/lib/zabbix_manager/classes/users.rb +11 -9
- data/lib/zabbix_manager/classes/valuemaps.rb +5 -3
- data/lib/zabbix_manager/client.rb +38 -28
- data/lib/zabbix_manager/version.rb +3 -1
- data/lib/zabbix_manager.rb +36 -35
- data/zabbix_manager-5.0.3.gem +0 -0
- data/zabbix_manager-5.0.4.gem +0 -0
- data/zabbix_manager-5.0.5.gem +0 -0
- metadata +9 -4
@@ -1,17 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
class ZabbixManager
|
2
4
|
class Hosts < Basic
|
3
5
|
# The method name used for interacting with Hosts via Zabbix API
|
4
6
|
#
|
5
7
|
# @return [String]
|
6
8
|
def method_name
|
7
|
-
|
9
|
+
"host"
|
8
10
|
end
|
9
11
|
|
10
12
|
# The id field name used for identifying specific Host objects via Zabbix API
|
11
13
|
#
|
12
14
|
# @return [String]
|
13
15
|
def identify
|
14
|
-
|
16
|
+
"host"
|
15
17
|
end
|
16
18
|
|
17
19
|
# Dump Host object data by key from Zabbix API
|
@@ -23,12 +25,12 @@ class ZabbixManager
|
|
23
25
|
def dump_by_id(data)
|
24
26
|
log "[DEBUG] Call dump_by_id with parameters: #{data.inspect}"
|
25
27
|
@client.api_request(
|
26
|
-
method:
|
28
|
+
method: "host.get",
|
27
29
|
params: {
|
28
30
|
filter: {
|
29
31
|
key.to_sym => data[key.to_sym]
|
30
32
|
},
|
31
|
-
output:
|
33
|
+
output: "extend"
|
32
34
|
# selectHosts: 'shorten'
|
33
35
|
}
|
34
36
|
)
|
@@ -39,23 +41,23 @@ class ZabbixManager
|
|
39
41
|
# @return [Hash]
|
40
42
|
def default_options
|
41
43
|
{
|
42
|
-
host:
|
43
|
-
interfaces:
|
44
|
-
main:
|
45
|
-
useip:
|
46
|
-
type:
|
47
|
-
ip:
|
48
|
-
dns:
|
49
|
-
port:
|
44
|
+
host: nil,
|
45
|
+
interfaces: {
|
46
|
+
main: 1,
|
47
|
+
useip: 1,
|
48
|
+
type: 2,
|
49
|
+
ip: nil,
|
50
|
+
dns: "",
|
51
|
+
port: 161,
|
50
52
|
details: {
|
51
|
-
version:
|
53
|
+
version: 2,
|
52
54
|
community: "transsion"
|
53
55
|
}
|
54
56
|
},
|
55
|
-
status:
|
56
|
-
available:
|
57
|
-
groups:
|
58
|
-
proxy_hostid:
|
57
|
+
status: 0,
|
58
|
+
available: 1,
|
59
|
+
groups: [],
|
60
|
+
proxy_hostid: nil,
|
59
61
|
inventory_mode: 1
|
60
62
|
}
|
61
63
|
end
|
@@ -68,9 +70,9 @@ class ZabbixManager
|
|
68
70
|
# @return [Boolean]
|
69
71
|
def unlink_templates(data)
|
70
72
|
result = @client.api_request(
|
71
|
-
method:
|
73
|
+
method: "host.massRemove",
|
72
74
|
params: {
|
73
|
-
hostids:
|
75
|
+
hostids: data[:hosts_id],
|
74
76
|
templates: data[:templates_id]
|
75
77
|
}
|
76
78
|
)
|
@@ -120,19 +122,19 @@ class ZabbixManager
|
|
120
122
|
# 测试数据
|
121
123
|
def update_mojo
|
122
124
|
data = {
|
123
|
-
name:
|
124
|
-
groups:
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
templates:
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
125
|
+
name: "SZX1-16-SW3111111111",
|
126
|
+
groups: [
|
127
|
+
{
|
128
|
+
groupid: 22
|
129
|
+
}
|
130
|
+
],
|
131
|
+
templates: [
|
132
|
+
{
|
133
|
+
templateid: 10_227
|
134
|
+
}
|
135
|
+
],
|
134
136
|
inventory_mode: 1,
|
135
|
-
hostid:
|
137
|
+
hostid: 15_951
|
136
138
|
}
|
137
139
|
|
138
140
|
# 请求后端接口
|
@@ -142,7 +144,7 @@ class ZabbixManager
|
|
142
144
|
# 根据主机名查询 hostid
|
143
145
|
def get_host_id(name)
|
144
146
|
result = @client.api_request(
|
145
|
-
method:
|
147
|
+
method: "host.get",
|
146
148
|
params: {
|
147
149
|
output: "extend",
|
148
150
|
filter: {
|
@@ -158,7 +160,7 @@ class ZabbixManager
|
|
158
160
|
# 根据可见名称查询 hostid
|
159
161
|
def get_hostid_by_name(name)
|
160
162
|
result = @client.api_request(
|
161
|
-
method:
|
163
|
+
method: "host.get",
|
162
164
|
params: {
|
163
165
|
output: "extend",
|
164
166
|
filter: {
|
@@ -210,7 +212,7 @@ class ZabbixManager
|
|
210
212
|
# 新增监控对象
|
211
213
|
create data
|
212
214
|
end
|
213
|
-
rescue => e
|
215
|
+
rescue StandardError => e
|
214
216
|
puts "创建或新增主机 #{data[:host]} 异常,异常信息:#{e}"
|
215
217
|
# raise NotImplementedError
|
216
218
|
end
|
@@ -1,17 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
class ZabbixManager
|
2
4
|
class HttpTests < Basic
|
3
5
|
# The method name used for interacting with HttpTests via Zabbix API
|
4
6
|
#
|
5
7
|
# @return [String]
|
6
8
|
def method_name
|
7
|
-
|
9
|
+
"httptest"
|
8
10
|
end
|
9
11
|
|
10
12
|
# The id field name used for identifying specific HttpTest objects via Zabbix API
|
11
13
|
#
|
12
14
|
# @return [String]
|
13
15
|
def identify
|
14
|
-
|
16
|
+
"name"
|
15
17
|
end
|
16
18
|
|
17
19
|
# The default options used when creating HttpTest objects via Zabbix API
|
@@ -1,17 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
class ZabbixManager
|
2
4
|
class Items < Basic
|
3
5
|
# The method name used for interacting with Items via Zabbix API
|
4
6
|
#
|
5
7
|
# @return [String]
|
6
8
|
def method_name
|
7
|
-
|
9
|
+
"item"
|
8
10
|
end
|
9
11
|
|
10
12
|
# The id field name used for identifying specific Item objects via Zabbix API
|
11
13
|
#
|
12
14
|
# @return [String]
|
13
15
|
def identify
|
14
|
-
|
16
|
+
"name"
|
15
17
|
end
|
16
18
|
|
17
19
|
# The default options used when creating Item objects via Zabbix API
|
@@ -19,38 +21,38 @@ class ZabbixManager
|
|
19
21
|
# @return [Hash]
|
20
22
|
def default_options
|
21
23
|
{
|
22
|
-
name:
|
23
|
-
key_:
|
24
|
-
hostid:
|
25
|
-
delay:
|
26
|
-
history:
|
27
|
-
status:
|
28
|
-
type:
|
29
|
-
snmp_community:
|
30
|
-
snmp_oid:
|
31
|
-
value_type:
|
32
|
-
data_type:
|
33
|
-
trapper_hosts:
|
34
|
-
snmp_port:
|
35
|
-
units:
|
36
|
-
multiplier:
|
37
|
-
delta:
|
38
|
-
snmpv3_securityname:
|
39
|
-
snmpv3_securitylevel:
|
40
|
-
snmpv3_authpassphrase:
|
41
|
-
snmpv3_privpassphrase:
|
42
|
-
formula:
|
43
|
-
trends:
|
44
|
-
logtimefmt:
|
45
|
-
valuemapid:
|
46
|
-
delay_flex:
|
47
|
-
authtype:
|
48
|
-
username:
|
49
|
-
password:
|
50
|
-
publickey:
|
51
|
-
privatekey:
|
52
|
-
params:
|
53
|
-
ipmi_sensor:
|
24
|
+
name: nil,
|
25
|
+
key_: nil,
|
26
|
+
hostid: nil,
|
27
|
+
delay: 60,
|
28
|
+
history: 3600,
|
29
|
+
status: 0,
|
30
|
+
type: 7,
|
31
|
+
snmp_community: "",
|
32
|
+
snmp_oid: "",
|
33
|
+
value_type: 3,
|
34
|
+
data_type: 0,
|
35
|
+
trapper_hosts: "localhost",
|
36
|
+
snmp_port: 161,
|
37
|
+
units: "",
|
38
|
+
multiplier: 0,
|
39
|
+
delta: 0,
|
40
|
+
snmpv3_securityname: "",
|
41
|
+
snmpv3_securitylevel: 0,
|
42
|
+
snmpv3_authpassphrase: "",
|
43
|
+
snmpv3_privpassphrase: "",
|
44
|
+
formula: 0,
|
45
|
+
trends: 86_400,
|
46
|
+
logtimefmt: "",
|
47
|
+
valuemapid: 0,
|
48
|
+
delay_flex: "",
|
49
|
+
authtype: 0,
|
50
|
+
username: "",
|
51
|
+
password: "",
|
52
|
+
publickey: "",
|
53
|
+
privatekey: "",
|
54
|
+
params: "",
|
55
|
+
ipmi_sensor: ""
|
54
56
|
}
|
55
57
|
end
|
56
58
|
|
@@ -83,19 +85,19 @@ class ZabbixManager
|
|
83
85
|
# 根据设备名称和接口名字查询监控项 | 15809 | GigabitEthernet1/0/12
|
84
86
|
def get_interface_items(hostid, name)
|
85
87
|
# 自动剔除收尾空白字串
|
86
|
-
_name = name&.gsub(%r
|
88
|
+
_name = name&.gsub(%r{[^/0-9]}, "")&.strip
|
87
89
|
iface = "#{_name}("
|
88
90
|
|
89
91
|
# 模糊查询接口下所有监控项,同时过滤出特定的 snmp_oid
|
90
92
|
result = @client.api_request(
|
91
|
-
method:
|
93
|
+
method: "item.get",
|
92
94
|
params: {
|
93
95
|
# output: ["itemid", "name", "snmp_oid", "key_", "triggerids"],
|
94
|
-
output:
|
96
|
+
output: "extend",
|
95
97
|
hostids: hostid,
|
96
|
-
search:
|
98
|
+
search: {
|
97
99
|
name: iface
|
98
|
-
}
|
100
|
+
}
|
99
101
|
}
|
100
102
|
).select { |item| item["snmp_oid"].match?(/1.3.6.1.2.1.31.1.1.1.(6|10)./) }
|
101
103
|
|
@@ -111,34 +113,34 @@ class ZabbixManager
|
|
111
113
|
|
112
114
|
# 请求绑定 dns 监控项到特定的 hostid
|
113
115
|
result = @client.api_request(
|
114
|
-
method:
|
116
|
+
method: "item.create",
|
115
117
|
params: {
|
116
118
|
hostid: hostid,
|
117
|
-
name:
|
118
|
-
key_:
|
119
|
+
name: item_name,
|
120
|
+
key_: item_key_,
|
119
121
|
# 代表 zabbix_agent
|
120
122
|
type: 0,
|
121
123
|
# 代表字符串
|
122
124
|
value_type: 1,
|
123
125
|
# 固定参数
|
124
|
-
delay:
|
125
|
-
history:
|
126
|
+
delay: "1m",
|
127
|
+
history: "90d",
|
126
128
|
lifetime: "30d",
|
127
|
-
timeout:
|
129
|
+
timeout: "3s"
|
128
130
|
}
|
129
131
|
)
|
130
132
|
p "成功创建 dns监控 #{dns_name}"
|
131
|
-
rescue
|
133
|
+
rescue StandardError
|
132
134
|
p "创建 dns监控 #{dns_name} 异常"
|
133
135
|
end
|
134
136
|
|
135
137
|
# 查询某个监控项具体信息
|
136
138
|
def get_item_info
|
137
139
|
result = @client.api_request(
|
138
|
-
method:
|
140
|
+
method: "item.get",
|
139
141
|
params: {
|
140
|
-
output:
|
141
|
-
hostids: "16914"
|
142
|
+
output: "extend",
|
143
|
+
hostids: "16914"
|
142
144
|
}
|
143
145
|
)
|
144
146
|
end
|
@@ -1,17 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
class ZabbixManager
|
2
4
|
class Maintenance < Basic
|
3
5
|
# The method name used for interacting with Maintenances via Zabbix API
|
4
6
|
#
|
5
7
|
# @return [String]
|
6
8
|
def method_name
|
7
|
-
|
9
|
+
"maintenance"
|
8
10
|
end
|
9
11
|
|
10
12
|
# The id field name used for identifying specific Maintenance objects via Zabbix API
|
11
13
|
#
|
12
14
|
# @return [String]
|
13
15
|
def identify
|
14
|
-
|
16
|
+
"name"
|
15
17
|
end
|
16
18
|
end
|
17
19
|
end
|
@@ -1,17 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
class ZabbixManager
|
2
4
|
class Mediatypes < Basic
|
3
5
|
# The method name used for interacting with MediaTypes via Zabbix API
|
4
6
|
#
|
5
7
|
# @return [String]
|
6
8
|
def method_name
|
7
|
-
|
9
|
+
"mediatype"
|
8
10
|
end
|
9
11
|
|
10
12
|
# The id field name used for identifying specific MediaType objects via Zabbix API
|
11
13
|
#
|
12
14
|
# @return [String]
|
13
15
|
def identify
|
14
|
-
|
16
|
+
"name"
|
15
17
|
end
|
16
18
|
|
17
19
|
# The default options used when creating MediaType objects via Zabbix API
|
@@ -19,16 +21,16 @@ class ZabbixManager
|
|
19
21
|
# @return [Hash]
|
20
22
|
def default_options
|
21
23
|
{
|
22
|
-
name:
|
23
|
-
description:
|
24
|
+
name: "", # Name
|
25
|
+
description: "", # Description
|
24
26
|
type: 0, # 0 - Email, 1 - External script, 2 - SMS, 3 - Jabber, 100 - EzTexting
|
25
|
-
smtp_server:
|
26
|
-
smtp_helo:
|
27
|
-
smtp_email:
|
28
|
-
exec_path:
|
29
|
-
gsm_modem:
|
30
|
-
username:
|
31
|
-
passwd:
|
27
|
+
smtp_server: "",
|
28
|
+
smtp_helo: "",
|
29
|
+
smtp_email: "", # Email address of Zabbix server
|
30
|
+
exec_path: "", # Name of external script
|
31
|
+
gsm_modem: "", # Serial device name of GSM modem
|
32
|
+
username: "", # Jabber user name used by Zabbix server
|
33
|
+
passwd: "" # Jabber password used by Zabbix server
|
32
34
|
}
|
33
35
|
end
|
34
36
|
|
@@ -78,12 +80,12 @@ class ZabbixManager
|
|
78
80
|
data = symbolize_keys(data) if data.key?(identify)
|
79
81
|
# raise an error if identify name was not supplied
|
80
82
|
name = data[identify.to_sym]
|
81
|
-
raise ManagerError
|
83
|
+
raise ManagerError, "#{identify} not supplied in call to get_id, #{data} (#{method_name})" if name.nil?
|
82
84
|
|
83
85
|
result = @client.api_request(
|
84
86
|
method: "#{method_name}.get",
|
85
87
|
params: {
|
86
|
-
filter: {name: name},
|
88
|
+
filter: { name: name },
|
87
89
|
output: [key, identify]
|
88
90
|
}
|
89
91
|
)
|
@@ -1,17 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
class ZabbixManager
|
2
4
|
class Problems < Basic
|
3
5
|
# The method name used for interacting with Hosts via Zabbix API
|
4
6
|
#
|
5
7
|
# @return [String]
|
6
8
|
def method_name
|
7
|
-
|
9
|
+
"problem"
|
8
10
|
end
|
9
11
|
|
10
12
|
# The id field name used for identifying specific Problem objects via Zabbix API
|
11
13
|
#
|
12
14
|
# @return [String]
|
13
15
|
def identify
|
14
|
-
|
16
|
+
"name"
|
15
17
|
end
|
16
18
|
|
17
19
|
# The key field name used for Problem objects via Zabbix API
|
@@ -19,7 +21,7 @@ class ZabbixManager
|
|
19
21
|
#
|
20
22
|
# @return [String]
|
21
23
|
def key
|
22
|
-
|
24
|
+
"problemid"
|
23
25
|
end
|
24
26
|
|
25
27
|
# Returns the object's plural id field name (identify) based on key
|
@@ -27,7 +29,7 @@ class ZabbixManager
|
|
27
29
|
#
|
28
30
|
# @return [String]
|
29
31
|
def keys
|
30
|
-
|
32
|
+
"problemids"
|
31
33
|
end
|
32
34
|
|
33
35
|
# Dump Problem object data by key from Zabbix API
|
@@ -40,12 +42,12 @@ class ZabbixManager
|
|
40
42
|
log "[DEBUG] Call dump_by_id with parameters: #{data.inspect}"
|
41
43
|
|
42
44
|
@client.api_request(
|
43
|
-
method:
|
45
|
+
method: "problem.get",
|
44
46
|
params: {
|
45
47
|
filter: {
|
46
48
|
identify.to_sym => data[identify.to_sym]
|
47
49
|
},
|
48
|
-
output:
|
50
|
+
output: "extend"
|
49
51
|
}
|
50
52
|
)
|
51
53
|
end
|
@@ -64,27 +66,27 @@ class ZabbixManager
|
|
64
66
|
@client.api_request(
|
65
67
|
method: "#{method_name}.get",
|
66
68
|
params: {
|
67
|
-
filter:
|
69
|
+
filter: {
|
68
70
|
identify.to_sym => data[identify.to_sym]
|
69
71
|
},
|
70
|
-
eventids:
|
71
|
-
groupids:
|
72
|
-
hostids:
|
73
|
-
objectids:
|
74
|
-
applicationids:
|
75
|
-
tags:
|
76
|
-
time_from:
|
77
|
-
time_till:
|
78
|
-
eventid_from:
|
79
|
-
eventid_till:
|
80
|
-
recent:
|
81
|
-
sortfield:
|
82
|
-
sortorder:
|
83
|
-
countOutput:
|
84
|
-
output:
|
85
|
-
selectAcknowledges:
|
86
|
-
selectTags:
|
87
|
-
selectSuppressionData:
|
72
|
+
eventids: data[:eventids] || nil,
|
73
|
+
groupids: data[:groupids] || nil,
|
74
|
+
hostids: data[:hostids] || nil,
|
75
|
+
objectids: data[:objectids] || nil,
|
76
|
+
applicationids: data[:applicationids] || nil,
|
77
|
+
tags: data[:tags] || nil,
|
78
|
+
time_from: data[:time_from] || nil,
|
79
|
+
time_till: data[:time_till] || nil,
|
80
|
+
eventid_from: data[:eventid_from] || nil,
|
81
|
+
eventid_till: data[:eventid_till] || nil,
|
82
|
+
recent: data[:recent] || false,
|
83
|
+
sortfield: data[:sortfield] || ["eventid"],
|
84
|
+
sortorder: data[:sortorder] || "DESC",
|
85
|
+
countOutput: data[:countOutput] || nil,
|
86
|
+
output: "extend",
|
87
|
+
selectAcknowledges: "extend",
|
88
|
+
selectTags: "extend",
|
89
|
+
selectSuppressionData: "extend"
|
88
90
|
}
|
89
91
|
)
|
90
92
|
end
|
@@ -118,16 +120,15 @@ class ZabbixManager
|
|
118
120
|
|
119
121
|
def ack_event(eventids)
|
120
122
|
# 请求后端
|
121
|
-
|
123
|
+
@client.api_request(
|
122
124
|
method: "event.acknowledge",
|
123
125
|
params: {
|
124
126
|
eventids: eventids,
|
125
|
-
action:
|
126
|
-
message:
|
127
|
+
action: 2,
|
128
|
+
message: "由 RUBY SCRIPT 自动关闭"
|
127
129
|
}
|
128
130
|
)
|
129
131
|
# 返回运行结果
|
130
|
-
result
|
131
132
|
end
|
132
133
|
end
|
133
|
-
end
|
134
|
+
end
|
@@ -1,17 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
class ZabbixManager
|
2
4
|
class Proxies < Basic
|
3
5
|
# The method name used for interacting with Proxies via Zabbix API
|
4
6
|
#
|
5
7
|
# @return [String]
|
6
8
|
def method_name
|
7
|
-
|
9
|
+
"proxy"
|
8
10
|
end
|
9
11
|
|
10
12
|
# The id field name used for identifying specific Proxy objects via Zabbix API
|
11
13
|
#
|
12
14
|
# @return [String]
|
13
15
|
def identify
|
14
|
-
|
16
|
+
"host"
|
15
17
|
end
|
16
18
|
|
17
19
|
# Delete Proxy object using Zabbix API
|
@@ -21,8 +23,8 @@ class ZabbixManager
|
|
21
23
|
# @raise [HttpError] Error raised when HTTP status from Zabbix Server response is not a 200 OK.
|
22
24
|
# @return [Integer] The Proxy object id that was deleted
|
23
25
|
def delete(data)
|
24
|
-
result = @client.api_request(method:
|
25
|
-
result.empty? ? nil : result[
|
26
|
+
result = @client.api_request(method: "proxy.delete", params: data)
|
27
|
+
result.empty? ? nil : result["proxyids"][0].to_i
|
26
28
|
end
|
27
29
|
|
28
30
|
# Check if a Proxy object is readable using Zabbix API
|
@@ -32,7 +34,7 @@ class ZabbixManager
|
|
32
34
|
# @raise [HttpError] Error raised when HTTP status from Zabbix Server response is not a 200 OK.
|
33
35
|
# @return [Boolean] Returns true if the given proxies are readable
|
34
36
|
def isreadable(data)
|
35
|
-
@client.api_request(method:
|
37
|
+
@client.api_request(method: "proxy.isreadable", params: data)
|
36
38
|
end
|
37
39
|
|
38
40
|
# Check if a Proxy object is writable using Zabbix API
|
@@ -42,7 +44,7 @@ class ZabbixManager
|
|
42
44
|
# @raise [HttpError] Error raised when HTTP status from Zabbix Server response is not a 200 OK.
|
43
45
|
# @return [Boolean] Returns true if the given proxies are writable
|
44
46
|
def iswritable(data)
|
45
|
-
@client.api_request(method:
|
47
|
+
@client.api_request(method: "proxy.iswritable", params: data)
|
46
48
|
end
|
47
49
|
|
48
50
|
# 新增代理服务器查询接口
|
@@ -52,7 +54,7 @@ class ZabbixManager
|
|
52
54
|
|
53
55
|
# 请求后端接口,只支持单个代理节点
|
54
56
|
result = @client.api_request(
|
55
|
-
method:
|
57
|
+
method: "proxy.get",
|
56
58
|
params: {
|
57
59
|
output: "extend",
|
58
60
|
filter: {
|