newrelic_f5_plugin 1.0.3 → 1.0.4
Sign up to get free protection for your applications and to get access to all the features.
- 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
|