zabbix-ruby-client 0.0.10 → 0.0.11

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.
data/CHANGELOG.md CHANGED
@@ -1,6 +1,12 @@
1
1
  Zabbbix Ruby Client Changelog
2
2
  -----------------------------
3
3
 
4
+ ### v0.0.11 - wip
5
+
6
+ * fix on the memory statistiics collection
7
+ * added a who plugin, but not happy about it. I need to have a use of the API to reate graphs from the client, to list who is logged in. Sounds like an interesting way to get processes list up there too.
8
+ * added an option in disk plugin in case it's a loop device, then using args [ "", /tmp, "loop0" ] in config
9
+
4
10
  ### v0.0.10 - 2013-10-04
5
11
 
6
12
  * added a mysql plugin (basic version, more will come on that one)
data/README.md CHANGED
@@ -1,6 +1,7 @@
1
1
  Zabbix Ruby Client
2
2
  ====================
3
3
 
4
+ [![Gem Version](https://badge.fury.io/rb/zabbix-ruby-client.png)](http://rubygems.org/gems/zabbix-ruby-client)
4
5
  [![Code Climate](https://codeclimate.com/github/eduvo/zabbix-ruby-client.png)](https://codeclimate.com/github/eduvo/zabbix-ruby-client)
5
6
 
6
7
  This tool is designed to make easy to install zabbix reporter on monitored servers using zabbix-sender rather than zabbix-agent. It targets on monitoring mainly linux servers and is built on a plugin system so that you can decide what is going to be reported.
@@ -59,9 +60,11 @@ There are a set of standart plugins included in the package, aimed at linux syst
59
60
  * ubuntu system stats ([system_tpl](master/zabbix-templates/system_tpl.xml) includes the following)
60
61
  * load (uses /proc/loadavg) [load_tpl](master/zabbix-templates/load_tpl.xml)
61
62
  * cpu (uses /proc/stat) [cpu_tpl](master/zabbix-templates/cpu_tpl.xml)
62
- * memory (requires iostat, apt-get install sysstat) [memory_tpl](master/zabbix-templates/memory_tpl.xml)
63
+ * memory (uses /proc/meminfo) [memory_tpl](master/zabbix-templates/memory_tpl.xml)
63
64
  * disk (uses /proc/diskstats) [disk_tpl](master/zabbix-templates/disk_tpl.xml)
65
+ * args [ "md-0", "/", "vgebs" ] = group identifier, mountpoint, groupname where identifier is what is found in /proc/diskstats, and groupname is something found in df command. The mount point will be used as label.
64
66
  * network (uses /proc/net/dev) [network_tpl](master/zabbix-templates/network_tpl.xml)
67
+ * args [ eth0 ] is just the interface identifier
65
68
  * apt (uses ubuntu /usr/lib/update-notifier/apt-check) this one will populate the 'tag' field in host info, and is supposed to run every few hours or at least not every minute [apt_tpl](master/zabbix-templates/apt_tpl.xml)
66
69
  * sysinfo (uses uname -a) is populating the host info in the inventory, and should be ran at setup and/or monthly [sysinfo_tpl](master/zabbix-templates/sysinfo_tpl.xml)
67
70
  * apache (depends on mod_status with status_extended on) [apache_tpl](master/zabbix-templates/apache_tpl.xml)
@@ -10,14 +10,7 @@ class ZabbixRubyClient
10
10
  def collect(*args)
11
11
  host = args[0]
12
12
  dev = args[1]
13
- mapped = args[2] || dev
14
- diskinfo = `cat /proc/diskstats | grep " #{dev} "`
15
- if $?.to_i == 0
16
- _, _, _, _, read_ok, read_merged, read_sector, read_time, write_ok, write_merged, write_sector, write_time, io_current, io_time, io_weighted = diskinfo.split(/\s+/)
17
- else
18
- logger.warn "Please install sysstat."
19
- return []
20
- end
13
+ mapped = args[3] || dev
21
14
  diskspace = `df | grep "#{mapped}"`
22
15
  if $?.to_i == 0
23
16
  _, size, used, available, percent_used, mount = diskspace.split(/\s+/)
@@ -25,30 +18,40 @@ class ZabbixRubyClient
25
18
  logger.error "df is not working... ouchie."
26
19
  return []
27
20
  end
28
-
29
21
  time = Time.now.to_i
30
22
  back = []
31
- back << "#{host} disk.io[#{dev},read_ok] #{time} #{read_ok}"
32
- back << "#{host} disk.io[#{dev},read_merged] #{time} #{read_merged}"
33
- back << "#{host} disk.io[#{dev},read_sector] #{time} #{read_sector}"
34
- back << "#{host} disk.io[#{dev},read_time] #{time} #{read_time}"
35
- back << "#{host} disk.io[#{dev},write_ok] #{time} #{write_ok}"
36
- back << "#{host} disk.io[#{dev},write_merged] #{time} #{write_merged}"
37
- back << "#{host} disk.io[#{dev},write_sector] #{time} #{write_sector}"
38
- back << "#{host} disk.io[#{dev},write_time] #{time} #{write_time}"
39
- back << "#{host} disk.io[#{dev},io_time] #{time} #{io_time}"
40
- back << "#{host} disk.io[#{dev},io_weighted] #{time} #{io_weighted}"
41
- back << "#{host} disk.space[#{dev},size] #{time} #{size.to_i * 1000}"
42
- back << "#{host} disk.space[#{dev},used] #{time} #{used.to_i * 1000}"
43
- back << "#{host} disk.space[#{dev},available] #{time} #{available.to_i * 1000}"
44
- back << "#{host} disk.space[#{dev},percent_used] #{time} #{percent_used.gsub(/%/,'')}"
23
+ back << "#{host} disk.space[#{mapped},size] #{time} #{size.to_i * 1000}"
24
+ back << "#{host} disk.space[#{mapped},used] #{time} #{used.to_i * 1000}"
25
+ back << "#{host} disk.space[#{mapped},available] #{time} #{available.to_i * 1000}"
26
+ back << "#{host} disk.space[#{mapped},percent_used] #{time} #{percent_used.gsub(/%/,'')}"
27
+
28
+ if dev != ""
29
+ diskinfo = `cat /proc/diskstats | grep " #{dev} "`
30
+ if $?.to_i == 0
31
+ _, _, _, _, read_ok, read_merged, read_sector, read_time, write_ok, write_merged, write_sector, write_time, io_current, io_time, io_weighted = diskinfo.split(/\s+/)
32
+ else
33
+ logger.warn "Oh there is no such device."
34
+ return []
35
+ end
36
+ back << "#{host} disk.io[#{mapped},read_ok] #{time} #{read_ok}"
37
+ back << "#{host} disk.io[#{mapped},read_merged] #{time} #{read_merged}"
38
+ back << "#{host} disk.io[#{mapped},read_sector] #{time} #{read_sector}"
39
+ back << "#{host} disk.io[#{mapped},read_time] #{time} #{read_time}"
40
+ back << "#{host} disk.io[#{mapped},write_ok] #{time} #{write_ok}"
41
+ back << "#{host} disk.io[#{mapped},write_merged] #{time} #{write_merged}"
42
+ back << "#{host} disk.io[#{mapped},write_sector] #{time} #{write_sector}"
43
+ back << "#{host} disk.io[#{mapped},write_time] #{time} #{write_time}"
44
+ back << "#{host} disk.io[#{mapped},io_time] #{time} #{io_time}"
45
+ back << "#{host} disk.io[#{mapped},io_weighted] #{time} #{io_weighted}"
46
+ end
45
47
  return back
46
48
  end
47
49
 
48
50
  def discover(*args)
49
51
  device = args[0]
50
52
  mount = args[1]
51
- [ "disk.dev.discovery", "{\"{#DISK_DEVICE}\": \"#{device}\", \"{#DISK_MOUNT}\": \"#{mount}\"}" ]
53
+ mapped = args[2] || device
54
+ [ "disk.dev.discovery", "{\"{#DISK_DEVICE}\": \"#{mapped}\", \"{#DISK_MOUNT}\": \"#{mount}\"}" ]
52
55
  end
53
56
 
54
57
  end
@@ -5,7 +5,7 @@ class ZabbixRubyClient
5
5
 
6
6
  def collect(*args)
7
7
  host = args[0]
8
- meminfo = `vmstat -s | head -10`
8
+ meminfo = `cat /proc/meminfo`
9
9
  if $?.to_i == 0
10
10
  info = splitinfo(meminfo)
11
11
  else
@@ -13,25 +13,35 @@ class ZabbixRubyClient
13
13
  return []
14
14
  end
15
15
 
16
+ mem_total = info["MemTotal"] / 1024
17
+ mem_free = (info['MemFree'] + info['Buffers'] + info['Cached']) / 1024
18
+ mem_used = mem_total - mem_free
19
+ mem_percent = (mem_used / mem_total.to_f * 100).to_i
20
+ swap_total = info['SwapTotal'] / 1024
21
+ swap_free = info['SwapFree'] / 1024
22
+ swap_used = swap_total - swap_free
23
+ swap_percent = 0
24
+ unless swap_total == 0
25
+ swap_percent = (swap_used / swap_total.to_f * 100).to_i
26
+ end
27
+
16
28
  time = Time.now.to_i
17
29
  back = []
18
- back << "#{host} memory[total] #{time} #{info["totalmemory"]}"
19
- back << "#{host} memory[used] #{time} #{info["usedmemory"]}"
20
- back << "#{host} memory[active] #{time} #{info["activememory"]}"
21
- back << "#{host} memory[inactive] #{time} #{info["inactivememory"]}"
22
- back << "#{host} memory[free] #{time} #{info["freememory"]}"
23
- back << "#{host} memory[buffer] #{time} #{info["buffermemory"]}"
24
- back << "#{host} memory[swap_cache] #{time} #{info["swapcache"]}"
25
- back << "#{host} memory[swap_total] #{time} #{info["totalswap"]}"
26
- back << "#{host} memory[swap_used] #{time} #{info["usedswap"]}"
27
- back << "#{host} memory[swap_free] #{time} #{info["freeswap"]}"
30
+ back << "#{host} memory[total] #{time} #{mem_total}"
31
+ back << "#{host} memory[used] #{time} #{mem_used}"
32
+ back << "#{host} memory[free] #{time} #{mem_free}"
33
+ back << "#{host} memory[percent_used] #{time} #{mem_percent}"
34
+ back << "#{host} memory[swap_total] #{time} #{swap_total}"
35
+ back << "#{host} memory[swap_used] #{time} #{swap_used}"
36
+ back << "#{host} memory[swap_free] #{time} #{swap_free}"
37
+ back << "#{host} memory[swap_percent_used] #{time} #{swap_percent}"
28
38
  return back
29
39
  end
30
40
 
31
41
  def splitinfo(info)
32
42
  info.split(/\n/).map(&:strip).reduce({}) do |a,line|
33
- kb, _, label1, label2 = line.split(" ")
34
- a[label1+label2] = kb.to_i * 1000
43
+ _, key, value = *line.match(/^(\w+):\s+(\d+)\s/)
44
+ a[key] = value.to_i
35
45
  a
36
46
  end
37
47
  end
@@ -0,0 +1,29 @@
1
+ class ZabbixRubyClient
2
+ module Plugins
3
+ module Who
4
+ extend self
5
+
6
+ def collect(*args)
7
+ host = args[0]
8
+ who = get_who
9
+ if $?.to_i != 0
10
+ logger.warn "Are you running on ubuntu ?"
11
+ return []
12
+ end
13
+ time = Time.now.to_i
14
+ back = []
15
+ back << "#{host} who[total] #{time} #{who}"
16
+ return back
17
+ end
18
+
19
+ def get_who
20
+ who = `who`
21
+ who.each_line.count
22
+ end
23
+
24
+ end
25
+ end
26
+ end
27
+
28
+ ZabbixRubyClient::Plugins.register('who', ZabbixRubyClient::Plugins::Who)
29
+
@@ -1,3 +1,3 @@
1
1
  class ZabbixRubyClient
2
- VERSION ||= "0.0.10"
2
+ VERSION ||= "0.0.11"
3
3
  end
@@ -1,7 +1,7 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <zabbix_export>
3
3
  <version>2.0</version>
4
- <date>2013-10-01T06:30:35Z</date>
4
+ <date>2013-10-07T10:52:56Z</date>
5
5
  <groups>
6
6
  <group>
7
7
  <name>3. Service Ubuntu</name>
@@ -23,12 +23,12 @@
23
23
  </applications>
24
24
  <items>
25
25
  <item>
26
- <name>Memory active</name>
26
+ <name>Memory Free</name>
27
27
  <type>2</type>
28
28
  <snmp_community/>
29
29
  <multiplier>0</multiplier>
30
30
  <snmp_oid/>
31
- <key>memory[active]</key>
31
+ <key>memory[free]</key>
32
32
  <delay>0</delay>
33
33
  <history>90</history>
34
34
  <trends>365</trends>
@@ -52,7 +52,7 @@
52
52
  <publickey/>
53
53
  <privatekey/>
54
54
  <port/>
55
- <description/>
55
+ <description>Free memory</description>
56
56
  <inventory_link>0</inventory_link>
57
57
  <applications>
58
58
  <application>
@@ -62,19 +62,19 @@
62
62
  <valuemap/>
63
63
  </item>
64
64
  <item>
65
- <name>Memory buffer</name>
65
+ <name>Memory percent used</name>
66
66
  <type>2</type>
67
67
  <snmp_community/>
68
68
  <multiplier>0</multiplier>
69
69
  <snmp_oid/>
70
- <key>memory[buffer]</key>
70
+ <key>memory[percent_used]</key>
71
71
  <delay>0</delay>
72
72
  <history>90</history>
73
73
  <trends>365</trends>
74
74
  <status>0</status>
75
75
  <value_type>3</value_type>
76
76
  <allowed_hosts/>
77
- <units>B</units>
77
+ <units>%</units>
78
78
  <delta>0</delta>
79
79
  <snmpv3_securityname/>
80
80
  <snmpv3_securitylevel>0</snmpv3_securitylevel>
@@ -101,12 +101,12 @@
101
101
  <valuemap/>
102
102
  </item>
103
103
  <item>
104
- <name>Memory Free</name>
104
+ <name>Memory Total</name>
105
105
  <type>2</type>
106
106
  <snmp_community/>
107
107
  <multiplier>0</multiplier>
108
108
  <snmp_oid/>
109
- <key>memory[free]</key>
109
+ <key>memory[total]</key>
110
110
  <delay>0</delay>
111
111
  <history>90</history>
112
112
  <trends>365</trends>
@@ -130,7 +130,7 @@
130
130
  <publickey/>
131
131
  <privatekey/>
132
132
  <port/>
133
- <description>Free memory</description>
133
+ <description>Total memory</description>
134
134
  <inventory_link>0</inventory_link>
135
135
  <applications>
136
136
  <application>
@@ -140,12 +140,12 @@
140
140
  <valuemap/>
141
141
  </item>
142
142
  <item>
143
- <name>Memory Inactive</name>
143
+ <name>Memory used</name>
144
144
  <type>2</type>
145
145
  <snmp_community/>
146
146
  <multiplier>0</multiplier>
147
147
  <snmp_oid/>
148
- <key>memory[inactive]</key>
148
+ <key>memory[used]</key>
149
149
  <delay>0</delay>
150
150
  <history>90</history>
151
151
  <trends>365</trends>
@@ -179,90 +179,12 @@
179
179
  <valuemap/>
180
180
  </item>
181
181
  <item>
182
- <name>Memory percent free</name>
183
- <type>15</type>
184
- <snmp_community/>
185
- <multiplier>0</multiplier>
186
- <snmp_oid/>
187
- <key>memory[free_percent]</key>
188
- <delay>60</delay>
189
- <history>90</history>
190
- <trends>365</trends>
191
- <status>0</status>
192
- <value_type>3</value_type>
193
- <allowed_hosts/>
194
- <units>%</units>
195
- <delta>0</delta>
196
- <snmpv3_securityname/>
197
- <snmpv3_securitylevel>0</snmpv3_securitylevel>
198
- <snmpv3_authpassphrase/>
199
- <snmpv3_privpassphrase/>
200
- <formula>1</formula>
201
- <delay_flex/>
202
- <params>100*(last(&quot;memory[free]&quot;)+last(&quot;memory[inactive]&quot;))/last(&quot;memory[total]&quot;)</params>
203
- <ipmi_sensor/>
204
- <data_type>0</data_type>
205
- <authtype>0</authtype>
206
- <username/>
207
- <password/>
208
- <publickey/>
209
- <privatekey/>
210
- <port/>
211
- <description/>
212
- <inventory_link>0</inventory_link>
213
- <applications>
214
- <application>
215
- <name>Memory</name>
216
- </application>
217
- </applications>
218
- <valuemap/>
219
- </item>
220
- <item>
221
- <name>Memory Total</name>
222
- <type>2</type>
223
- <snmp_community/>
224
- <multiplier>0</multiplier>
225
- <snmp_oid/>
226
- <key>memory[total]</key>
227
- <delay>0</delay>
228
- <history>90</history>
229
- <trends>365</trends>
230
- <status>0</status>
231
- <value_type>3</value_type>
232
- <allowed_hosts/>
233
- <units>B</units>
234
- <delta>0</delta>
235
- <snmpv3_securityname/>
236
- <snmpv3_securitylevel>0</snmpv3_securitylevel>
237
- <snmpv3_authpassphrase/>
238
- <snmpv3_privpassphrase/>
239
- <formula>1</formula>
240
- <delay_flex/>
241
- <params/>
242
- <ipmi_sensor/>
243
- <data_type>0</data_type>
244
- <authtype>0</authtype>
245
- <username/>
246
- <password/>
247
- <publickey/>
248
- <privatekey/>
249
- <port/>
250
- <description>Total memory</description>
251
- <inventory_link>0</inventory_link>
252
- <applications>
253
- <application>
254
- <name>Memory</name>
255
- </application>
256
- </applications>
257
- <valuemap/>
258
- </item>
259
- <item>
260
- <name>Swap cache</name>
182
+ <name>Swap free</name>
261
183
  <type>2</type>
262
184
  <snmp_community/>
263
185
  <multiplier>0</multiplier>
264
186
  <snmp_oid/>
265
- <key>memory[swap_cache]</key>
187
+ <key>memory[swap_free]</key>
266
188
  <delay>0</delay>
267
189
  <history>90</history>
268
190
  <trends>365</trends>
@@ -296,19 +218,19 @@
296
218
  <valuemap/>
297
219
  </item>
298
220
  <item>
299
- <name>Swap free</name>
221
+ <name>Swap percent used</name>
300
222
  <type>2</type>
301
223
  <snmp_community/>
302
224
  <multiplier>0</multiplier>
303
225
  <snmp_oid/>
304
- <key>memory[swap_free]</key>
226
+ <key>memory[swap_percent_used]</key>
305
227
  <delay>0</delay>
306
228
  <history>90</history>
307
229
  <trends>365</trends>
308
230
  <status>0</status>
309
- <value_type>3</value_type>
231
+ <value_type>0</value_type>
310
232
  <allowed_hosts/>
311
- <units>B</units>
233
+ <units>%</units>
312
234
  <delta>0</delta>
313
235
  <snmpv3_securityname/>
314
236
  <snmpv3_securitylevel>0</snmpv3_securitylevel>
@@ -421,22 +343,22 @@
421
343
  </templates>
422
344
  <triggers>
423
345
  <trigger>
424
- <expression>{Memory ZRC:memory[free_percent].last(0)}&lt;5</expression>
346
+ <expression>{Memory ZRC:memory[percent_used].last(0)}&gt;95</expression>
425
347
  <name>Critical memory</name>
426
348
  <url/>
427
349
  <status>0</status>
428
350
  <priority>4</priority>
429
- <description>Free memory less than 5%</description>
351
+ <description>Memory use more than 95%</description>
430
352
  <type>0</type>
431
353
  <dependencies/>
432
354
  </trigger>
433
355
  <trigger>
434
- <expression>{Memory ZRC:memory[free_percent].last(0)}&lt;20</expression>
356
+ <expression>{Memory ZRC:memory[percent_used].last(0)}&gt;80</expression>
435
357
  <name>Low memory</name>
436
358
  <url/>
437
359
  <status>0</status>
438
360
  <priority>2</priority>
439
- <description>Free memory less than 20%</description>
361
+ <description>Memory use more than 80%</description>
440
362
  <type>0</type>
441
363
  <dependencies/>
442
364
  </trigger>
@@ -469,47 +391,23 @@
469
391
  <type>0</type>
470
392
  <item>
471
393
  <host>Memory ZRC</host>
472
- <key>memory[active]</key>
394
+ <key>memory[used]</key>
473
395
  </item>
474
396
  </graph_item>
475
397
  <graph_item>
476
398
  <sortorder>1</sortorder>
477
399
  <drawtype>0</drawtype>
478
- <color>6666FF</color>
479
- <yaxisside>0</yaxisside>
480
- <calc_fnc>2</calc_fnc>
481
- <type>0</type>
482
- <item>
483
- <host>Memory ZRC</host>
484
- <key>memory[buffer]</key>
485
- </item>
486
- </graph_item>
487
- <graph_item>
488
- <sortorder>2</sortorder>
489
- <drawtype>0</drawtype>
490
400
  <color>CCCCFF</color>
491
401
  <yaxisside>0</yaxisside>
492
402
  <calc_fnc>2</calc_fnc>
493
403
  <type>0</type>
494
- <item>
495
- <host>Memory ZRC</host>
496
- <key>memory[inactive]</key>
497
- </item>
498
- </graph_item>
499
- <graph_item>
500
- <sortorder>3</sortorder>
501
- <drawtype>0</drawtype>
502
- <color>DDDDDD</color>
503
- <yaxisside>0</yaxisside>
504
- <calc_fnc>2</calc_fnc>
505
- <type>0</type>
506
404
  <item>
507
405
  <host>Memory ZRC</host>
508
406
  <key>memory[free]</key>
509
407
  </item>
510
408
  </graph_item>
511
409
  <graph_item>
512
- <sortorder>4</sortorder>
410
+ <sortorder>2</sortorder>
513
411
  <drawtype>0</drawtype>
514
412
  <color>880000</color>
515
413
  <yaxisside>0</yaxisside>
@@ -521,21 +419,9 @@
521
419
  </item>
522
420
  </graph_item>
523
421
  <graph_item>
524
- <sortorder>5</sortorder>
525
- <drawtype>0</drawtype>
526
- <color>FF6666</color>
527
- <yaxisside>0</yaxisside>
528
- <calc_fnc>2</calc_fnc>
529
- <type>0</type>
530
- <item>
531
- <host>Memory ZRC</host>
532
- <key>memory[swap_cache]</key>
533
- </item>
534
- </graph_item>
535
- <graph_item>
536
- <sortorder>6</sortorder>
422
+ <sortorder>3</sortorder>
537
423
  <drawtype>0</drawtype>
538
- <color>EEEEEE</color>
424
+ <color>FFCCCC</color>
539
425
  <yaxisside>0</yaxisside>
540
426
  <calc_fnc>2</calc_fnc>
541
427
  <type>0</type>
@@ -573,47 +459,23 @@
573
459
  <type>0</type>
574
460
  <item>
575
461
  <host>Memory ZRC</host>
576
- <key>memory[active]</key>
462
+ <key>memory[used]</key>
577
463
  </item>
578
464
  </graph_item>
579
465
  <graph_item>
580
466
  <sortorder>1</sortorder>
581
467
  <drawtype>0</drawtype>
582
- <color>6666FF</color>
583
- <yaxisside>0</yaxisside>
584
- <calc_fnc>2</calc_fnc>
585
- <type>0</type>
586
- <item>
587
- <host>Memory ZRC</host>
588
- <key>memory[buffer]</key>
589
- </item>
590
- </graph_item>
591
- <graph_item>
592
- <sortorder>2</sortorder>
593
- <drawtype>0</drawtype>
594
468
  <color>CCCCFF</color>
595
469
  <yaxisside>0</yaxisside>
596
470
  <calc_fnc>2</calc_fnc>
597
471
  <type>0</type>
598
- <item>
599
- <host>Memory ZRC</host>
600
- <key>memory[inactive]</key>
601
- </item>
602
- </graph_item>
603
- <graph_item>
604
- <sortorder>3</sortorder>
605
- <drawtype>0</drawtype>
606
- <color>DDDDDD</color>
607
- <yaxisside>0</yaxisside>
608
- <calc_fnc>2</calc_fnc>
609
- <type>0</type>
610
472
  <item>
611
473
  <host>Memory ZRC</host>
612
474
  <key>memory[free]</key>
613
475
  </item>
614
476
  </graph_item>
615
477
  <graph_item>
616
- <sortorder>4</sortorder>
478
+ <sortorder>2</sortorder>
617
479
  <drawtype>0</drawtype>
618
480
  <color>880000</color>
619
481
  <yaxisside>0</yaxisside>
@@ -625,7 +487,7 @@
625
487
  </item>
626
488
  </graph_item>
627
489
  <graph_item>
628
- <sortorder>5</sortorder>
490
+ <sortorder>3</sortorder>
629
491
  <drawtype>0</drawtype>
630
492
  <color>DDAAAA</color>
631
493
  <yaxisside>0</yaxisside>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zabbix-ruby-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.10
4
+ version: 0.0.11
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-10-04 00:00:00.000000000 Z
12
+ date: 2013-10-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: thor
@@ -103,6 +103,7 @@ files:
103
103
  - lib/zabbix-ruby-client/plugins/mysql.rb
104
104
  - lib/zabbix-ruby-client/plugins/network.rb
105
105
  - lib/zabbix-ruby-client/plugins/sysinfo.rb
106
+ - lib/zabbix-ruby-client/plugins/who.rb
106
107
  - lib/zabbix-ruby-client/version.rb
107
108
  - spec/files/config.yml
108
109
  - spec/files/plugins/apache_status
@@ -152,7 +153,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
152
153
  version: '0'
153
154
  segments:
154
155
  - 0
155
- hash: 4065162595264983570
156
+ hash: -3792911856714831834
156
157
  required_rubygems_version: !ruby/object:Gem::Requirement
157
158
  none: false
158
159
  requirements:
@@ -161,7 +162,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
161
162
  version: '0'
162
163
  segments:
163
164
  - 0
164
- hash: 4065162595264983570
165
+ hash: -3792911856714831834
165
166
  requirements: []
166
167
  rubyforge_project:
167
168
  rubygems_version: 1.8.23