newrelic_f5_plugin 1.0.3 → 1.0.4
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/CHANGES +3 -0
- data/README.rdoc +1 -0
- data/lib/newrelic_f5_plugin/agent.rb +6 -1
- data/lib/newrelic_f5_plugin/virtuals.rb +68 -8
- data/newrelic_f5_plugin.gemspec +2 -2
- metadata +2 -2
data/CHANGES
CHANGED
data/README.rdoc
CHANGED
@@ -4,7 +4,7 @@ require 'newrelic_plugin'
|
|
4
4
|
require 'snmp'
|
5
5
|
|
6
6
|
module NewRelic::F5Plugin
|
7
|
-
VERSION = '1.0.
|
7
|
+
VERSION = '1.0.4'
|
8
8
|
|
9
9
|
# Register and run the agent
|
10
10
|
def self.run
|
@@ -87,6 +87,11 @@ module NewRelic::F5Plugin
|
|
87
87
|
report_counter_metric m, "bits/sec", virtual_throughput_out[m]
|
88
88
|
}
|
89
89
|
|
90
|
+
virtual_cpu_usage_1m = vs.get_cpu_usage_1m
|
91
|
+
virtual_cpu_usage_1m.each_key { |m|
|
92
|
+
report_metric m, "%", virtual_cpu_usage_1m[m]
|
93
|
+
}
|
94
|
+
|
90
95
|
#
|
91
96
|
# Collect pool statistics
|
92
97
|
#
|
@@ -3,6 +3,41 @@
|
|
3
3
|
require 'newrelic_plugin'
|
4
4
|
require 'snmp'
|
5
5
|
|
6
|
+
#LtmVirtualServStatEntry
|
7
|
+
# ltmVirtualServStatName LongDisplayString,
|
8
|
+
# ltmVirtualServStatCsMinConnDur Counter64,
|
9
|
+
# ltmVirtualServStatCsMaxConnDur Counter64,
|
10
|
+
# ltmVirtualServStatCsMeanConnDur Counter64,
|
11
|
+
# ltmVirtualServStatNoNodesErrors Counter64,
|
12
|
+
# ltmVirtualServStatClientPktsIn Counter64,
|
13
|
+
# ltmVirtualServStatClientBytesIn Counter64,
|
14
|
+
# ltmVirtualServStatClientPktsOut Counter64,
|
15
|
+
# ltmVirtualServStatClientBytesOut Counter64,
|
16
|
+
# ltmVirtualServStatClientMaxConns Counter64,
|
17
|
+
# ltmVirtualServStatClientTotConns Counter64,
|
18
|
+
# ltmVirtualServStatClientCurConns CounterBasedGauge64,
|
19
|
+
# ltmVirtualServStatEphemeralPktsIn Counter64,
|
20
|
+
# ltmVirtualServStatEphemeralBytesIn Counter64,
|
21
|
+
# ltmVirtualServStatEphemeralPktsOut Counter64,
|
22
|
+
# ltmVirtualServStatEphemeralBytesOut Counter64,
|
23
|
+
# ltmVirtualServStatEphemeralMaxConns Counter64,
|
24
|
+
# ltmVirtualServStatEphemeralTotConns Counter64,
|
25
|
+
# ltmVirtualServStatEphemeralCurConns CounterBasedGauge64,
|
26
|
+
# ltmVirtualServStatPvaPktsIn Counter64,
|
27
|
+
# ltmVirtualServStatPvaBytesIn Counter64,
|
28
|
+
# ltmVirtualServStatPvaPktsOut Counter64,
|
29
|
+
# ltmVirtualServStatPvaBytesOut Counter64,
|
30
|
+
# ltmVirtualServStatPvaMaxConns Counter64,
|
31
|
+
# ltmVirtualServStatPvaTotConns Counter64,
|
32
|
+
# ltmVirtualServStatPvaCurConns CounterBasedGauge64,
|
33
|
+
# ltmVirtualServStatTotRequests Counter64,
|
34
|
+
# ltmVirtualServStatTotPvaAssistConn Counter64,
|
35
|
+
# ltmVirtualServStatCurrPvaAssistConn CounterBasedGauge64,
|
36
|
+
# ltmVirtualServStatCycleCount Counter64,
|
37
|
+
# ltmVirtualServStatVsUsageRatio5s Gauge,
|
38
|
+
# ltmVirtualServStatVsUsageRatio1m Gauge,
|
39
|
+
# ltmVirtualServStatVsUsageRatio5m Gauge
|
40
|
+
|
6
41
|
|
7
42
|
module NewRelic
|
8
43
|
module F5Plugin
|
@@ -12,14 +47,15 @@ module NewRelic
|
|
12
47
|
|
13
48
|
OID_LTM_VIRTUAL_SERVERS = "1.3.6.1.4.1.3375.2.2.10"
|
14
49
|
|
15
|
-
OID_LTM_VIRTUAL_SERV_STAT
|
16
|
-
OID_LTM_VIRTUAL_SERV_ENTRY
|
17
|
-
OID_LTM_VIRTUAL_SERV_STAT_NAME
|
18
|
-
OID_LTM_VIRTUAL_SERV_STAT_CLIENT_BYTES_IN
|
19
|
-
OID_LTM_VIRTUAL_SERV_STAT_CLIENT_BYTES_OUT
|
20
|
-
OID_LTM_VIRTUAL_SERV_STAT_CLIENT_TOT_CONNS
|
21
|
-
OID_LTM_VIRTUAL_SERV_STAT_CLIENT_CUR_CONNS
|
22
|
-
OID_LTM_VIRTUAL_SERV_STAT_TOT_REQUESTS
|
50
|
+
OID_LTM_VIRTUAL_SERV_STAT = "#{OID_LTM_VIRTUAL_SERVERS}.2"
|
51
|
+
OID_LTM_VIRTUAL_SERV_ENTRY = "#{OID_LTM_VIRTUAL_SERV_STAT}.3.1"
|
52
|
+
OID_LTM_VIRTUAL_SERV_STAT_NAME = "#{OID_LTM_VIRTUAL_SERV_ENTRY}.1"
|
53
|
+
OID_LTM_VIRTUAL_SERV_STAT_CLIENT_BYTES_IN = "#{OID_LTM_VIRTUAL_SERV_ENTRY}.7"
|
54
|
+
OID_LTM_VIRTUAL_SERV_STAT_CLIENT_BYTES_OUT = "#{OID_LTM_VIRTUAL_SERV_ENTRY}.9"
|
55
|
+
OID_LTM_VIRTUAL_SERV_STAT_CLIENT_TOT_CONNS = "#{OID_LTM_VIRTUAL_SERV_ENTRY}.11"
|
56
|
+
OID_LTM_VIRTUAL_SERV_STAT_CLIENT_CUR_CONNS = "#{OID_LTM_VIRTUAL_SERV_ENTRY}.12"
|
57
|
+
OID_LTM_VIRTUAL_SERV_STAT_TOT_REQUESTS = "#{OID_LTM_VIRTUAL_SERV_ENTRY}.27"
|
58
|
+
OID_LTM_VIRTUAL_SERV_STAT_VS_USAGE_RATIO_1M = "#{OID_LTM_VIRTUAL_SERV_ENTRY}.32"
|
23
59
|
|
24
60
|
|
25
61
|
|
@@ -179,6 +215,30 @@ module NewRelic
|
|
179
215
|
|
180
216
|
|
181
217
|
|
218
|
+
#
|
219
|
+
# Gather VS Connection rate
|
220
|
+
#
|
221
|
+
def get_cpu_usage_1m(snmp = nil)
|
222
|
+
metrics = { }
|
223
|
+
index = 0
|
224
|
+
snmp = snmp_manager unless snmp
|
225
|
+
|
226
|
+
if snmp
|
227
|
+
get_names(snmp) if @vs_names.empty?
|
228
|
+
|
229
|
+
snmp.walk([OID_LTM_VIRTUAL_SERV_STAT_VS_USAGE_RATIO_1M]) do |row|
|
230
|
+
row.each do |vb|
|
231
|
+
metrics["Virtual Servers/CPU Usage/1m/#{@vs_names[index]}"] = vb.value.to_i
|
232
|
+
index += 1
|
233
|
+
end
|
234
|
+
end
|
235
|
+
|
236
|
+
return metrics
|
237
|
+
end
|
238
|
+
end
|
239
|
+
|
240
|
+
|
241
|
+
|
182
242
|
end
|
183
243
|
end
|
184
244
|
end
|
data/newrelic_f5_plugin.gemspec
CHANGED
@@ -13,8 +13,8 @@ Gem::Specification.new do |s|
|
|
13
13
|
## If your rubyforge_project name is different, then edit it and comment out
|
14
14
|
## the sub! line in the Rakefile
|
15
15
|
s.name = 'newrelic_f5_plugin'
|
16
|
-
s.version = '1.0.
|
17
|
-
s.date = '2013-09-
|
16
|
+
s.version = '1.0.4'
|
17
|
+
s.date = '2013-09-16'
|
18
18
|
s.rubyforge_project = 'newrelic_f5_plugin'
|
19
19
|
|
20
20
|
## Make sure your summary is short. The description may be as long
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: newrelic_f5_plugin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.4
|
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-09-
|
12
|
+
date: 2013-09-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: newrelic_plugin
|