newrelic_f5_plugin 1.0.19 → 1.0.21

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 076a201506f8e2df06811fe92dfa70515c1da316
4
+ data.tar.gz: 417547dbe9f85aabbf9895eb019732c249d0e498
5
+ SHA512:
6
+ metadata.gz: 59e7b3316e6a9cbb643877a1f938f9a5fa15cc4056d81dc33b1563281e19b6de40845080a45018ebf0ad0dfbb034afc43b2e69c5e73d8ab13ae1b28c3013ea98
7
+ data.tar.gz: 1e5f336c21ca334a660e2fd16266dee46afa308f6669ae14aa151ed5f038b4b03812d27c6490fc4d6605f49be3d57dcab1ce0d14d90910507f7cc864cc824a56
data/CHANGES CHANGED
@@ -1,3 +1,9 @@
1
+ * 1.0.21
2
+ - Add Hardware SYN Cookie generation / detection metrics
3
+
4
+ * 1.0.20
5
+ - Add TLS v1.1 and v1.2 specific global metrics
6
+
1
7
  * 1.0.19
2
8
  - Adapt to CPU reporting changes in versions after 11.4.1
3
9
 
data/README.rdoc CHANGED
@@ -75,7 +75,7 @@ SNMP version 2c is supported.
75
75
  f5_monitor install -l LICENSE_KEY
76
76
 
77
77
  using the license key from your New Relic account.
78
- 4. Edit the +config/newrelic_plugin.yml+ file generated in step 4. Setup name/hostname/port/snmp_community for each F5 you wish to monitor.
78
+ 4. Edit the +config/newrelic_plugin.yml+ file generated in step 3. Setup name/hostname/port/snmp_community for each F5 you wish to monitor.
79
79
  5. Execute
80
80
 
81
81
  f5_monitor run
@@ -97,6 +97,20 @@ The F5 plugin can also be installed with {Chef}[http://www.getchef.com] and {Pup
97
97
 
98
98
  Additional information on using Chef and Puppet with New Relic is available in New Relic's {documentation}[https://docs.newrelic.com/docs/plugins/plugin-installation-with-chef-and-puppet].
99
99
 
100
+ == Logging Instructions
101
+
102
+ Logging goes to stdout by default.
103
+
104
+ There are 2 methods to increase logging to verbose level. Choose one of the following:
105
+
106
+ 1. Uncomment the following line from the +config/newrelic_plugin.yml+ file:
107
+
108
+ #verbose: 1
109
+
110
+ 2. Execute the plugin with the +-v+ or +--verbose+ option.
111
+
112
+ f5_monitor run -v
113
+
100
114
  == Developer Instructions
101
115
 
102
116
  1. Fork/Clone the repository
@@ -4,7 +4,7 @@ require 'newrelic_plugin'
4
4
  require 'snmp'
5
5
 
6
6
  module NewRelic::F5Plugin
7
- VERSION = '1.0.19'
7
+ VERSION = '1.0.21'
8
8
 
9
9
  # Register and run the agent
10
10
  def self.run
@@ -84,6 +84,9 @@ module NewRelic
84
84
  OID_SYS_TCP_STAT_RXBADCOOKIE = "#{OID_SYS_TCP_STAT}.17.0" # "The number of bad SYN-cookies."
85
85
  OID_SYS_TCP_STAT_SYNCACHEOVER = "#{OID_SYS_TCP_STAT}.18.0" # "The number of SYN-cache overflow."
86
86
  OID_SYS_TCP_STAT_TXREXMITS = "#{OID_SYS_TCP_STAT}.19.0" # "The number of retransmitted segments."
87
+ OID_SYS_GLOBAL_STAT = "1.3.6.1.4.1.3375.2.1.1.2"
88
+ OID_SYS_STAT_HARD_SYNCOOKIE_GEN = "#{OID_SYS_GLOBAL_STAT}.57.0" # "The number of hardware SYN cookies are generated on the system."
89
+ OID_SYS_STAT_HARD_SYNCOOKIE_DET = "#{OID_SYS_GLOBAL_STAT}.58.0" # "The number of hardware SYN cookies are detected on the system."
87
90
 
88
91
 
89
92
  #
@@ -432,15 +435,17 @@ module NewRelic
432
435
 
433
436
  if snmp
434
437
  res = gather_snmp_metrics_array([OID_SYS_TCP_STAT_RXCOOKIE, OID_SYS_TCP_STAT_RXBADCOOKIE,
435
- OID_SYS_TCP_STAT_SYNCACHEOVER],
438
+ OID_SYS_TCP_STAT_SYNCACHEOVER, OID_SYS_STAT_HARD_SYNCOOKIE_GEN, OID_SYS_STAT_HARD_SYNCOOKIE_DET],
436
439
  snmp)
437
440
 
438
441
  # Bail out if we didn't get anything
439
442
  return metrics if res.empty?
440
443
 
441
- metrics["TCP/SYN/Received SYN-Cookies"] = res[0]
442
- metrics["TCP/SYN/Bad SYN-Cookies"] = res[1]
443
- metrics["TCP/SYN/SYN-cache Overflows"] = res[2]
444
+ metrics["TCP/SYN/Received SYN-Cookies"] = res[0]
445
+ metrics["TCP/SYN/Bad SYN-Cookies"] = res[1]
446
+ metrics["TCP/SYN/SYN-cache Overflows"] = res[2]
447
+ metrics["TCP/SYN/Hardware SYN-Cookies Generated"] = res[3]
448
+ metrics["TCP/SYN/Hardware SYN-Cookies Detected"] = res[4]
444
449
  end
445
450
 
446
451
  return metrics
@@ -69,6 +69,15 @@ module NewRelic
69
69
  OID_SYS_SERVERSSL_STAT_SHA_DIGEST = "#{OID_SYS_GLOBAL_SERVER_SSL_STAT}.49.0"
70
70
  OID_SYS_SERVERSSL_STAT_NOTSSL = "#{OID_SYS_GLOBAL_SERVER_SSL_STAT}.50.0"
71
71
 
72
+ # Client-side TLS
73
+ OID_SYS_CLIENTSSL_STAT_TLSV11 = "#{OID_SYS_GLOBAL_CLIENT_SSL_STAT}.60.0"
74
+ OID_SYS_CLIENTSSL_STAT_TLSV12 = "#{OID_SYS_GLOBAL_CLIENT_SSL_STAT}.61.0"
75
+ OID_SYS_CLIENTSSL_STAT_DTLSV1 = "#{OID_SYS_GLOBAL_CLIENT_SSL_STAT}.62.0"
76
+ # Server-side TLS
77
+ OID_SYS_SERVERSSL_STAT_TLSV11 = "#{OID_SYS_GLOBAL_SERVER_SSL_STAT}.57.0"
78
+ OID_SYS_SERVERSSL_STAT_TLSV12 = "#{OID_SYS_GLOBAL_SERVER_SSL_STAT}.58.0"
79
+ OID_SYS_SERVERSSL_STAT_DTLSV1 = "#{OID_SYS_GLOBAL_SERVER_SSL_STAT}.59.0"
80
+
72
81
 
73
82
 
74
83
  #
@@ -176,8 +185,10 @@ module NewRelic
176
185
 
177
186
  if snmp
178
187
 
179
- res = gather_snmp_metrics_array([OID_SYS_CLIENTSSL_STAT_SSLV2, OID_SYS_CLIENTSSL_STAT_SSLV3, OID_SYS_CLIENTSSL_STAT_TLSV1,
180
- OID_SYS_SERVERSSL_STAT_SSLV2, OID_SYS_SERVERSSL_STAT_SSLV3, OID_SYS_SERVERSSL_STAT_TLSV1],
188
+ res = gather_snmp_metrics_array([OID_SYS_CLIENTSSL_STAT_SSLV2, OID_SYS_CLIENTSSL_STAT_SSLV3, OID_SYS_CLIENTSSL_STAT_TLSV1,
189
+ OID_SYS_SERVERSSL_STAT_SSLV2, OID_SYS_SERVERSSL_STAT_SSLV3, OID_SYS_SERVERSSL_STAT_TLSV1,
190
+ OID_SYS_CLIENTSSL_STAT_TLSV11, OID_SYS_CLIENTSSL_STAT_TLSV12, OID_SYS_SERVERSSL_STAT_TLSV11,
191
+ OID_SYS_SERVERSSL_STAT_TLSV12],
181
192
  snmp)
182
193
 
183
194
  # Bail out if we didn't get anything
@@ -185,12 +196,16 @@ module NewRelic
185
196
 
186
197
  vals = res.map { |i| i.to_i }
187
198
 
188
- metrics["SSL/Global/Protocol/Client/SSLv2"] = vals[0]
189
- metrics["SSL/Global/Protocol/Client/SSLv3"] = vals[1]
190
- metrics["SSL/Global/Protocol/Client/TLSv1"] = vals[2]
191
- metrics["SSL/Global/Protocol/Server/SSLv2"] = vals[3]
192
- metrics["SSL/Global/Protocol/Server/SSLv3"] = vals[4]
193
- metrics["SSL/Global/Protocol/Server/TLSv1"] = vals[5]
199
+ metrics["SSL/Global/Protocol/Client/SSLv2"] = vals[0]
200
+ metrics["SSL/Global/Protocol/Client/SSLv3"] = vals[1]
201
+ metrics["SSL/Global/Protocol/Client/TLSv1"] = vals[2]
202
+ metrics["SSL/Global/Protocol/Client/TLSv1.1"] = vals[6]
203
+ metrics["SSL/Global/Protocol/Client/TLSv1.2"] = vals[7]
204
+ metrics["SSL/Global/Protocol/Server/SSLv2"] = vals[3]
205
+ metrics["SSL/Global/Protocol/Server/SSLv3"] = vals[4]
206
+ metrics["SSL/Global/Protocol/Server/TLSv1"] = vals[5]
207
+ metrics["SSL/Global/Protocol/Server/TLSv1.1"] = vals[8]
208
+ metrics["SSL/Global/Protocol/Server/TLSv1.2"] = vals[9]
194
209
  end
195
210
 
196
211
  return metrics
@@ -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.19'
17
- s.date = '2016-03-15'
16
+ s.version = '1.0.21'
17
+ s.date = '2017-06-27'
18
18
  s.rubyforge_project = 'newrelic_f5_plugin'
19
19
  s.licenses = ['MIT']
20
20
 
metadata CHANGED
@@ -1,64 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: newrelic_f5_plugin
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.19
5
- prerelease:
4
+ version: 1.0.21
6
5
  platform: ruby
7
6
  authors:
8
7
  - Jonathan Thurman
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2016-03-15 00:00:00.000000000 Z
11
+ date: 2017-06-27 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: newrelic_plugin
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ~>
17
+ - - "~>"
20
18
  - !ruby/object:Gem::Version
21
19
  version: '1.3'
22
- - - ! '>='
20
+ - - ">="
23
21
  - !ruby/object:Gem::Version
24
22
  version: 1.3.0
25
23
  type: :runtime
26
24
  prerelease: false
27
25
  version_requirements: !ruby/object:Gem::Requirement
28
- none: false
29
26
  requirements:
30
- - - ~>
27
+ - - "~>"
31
28
  - !ruby/object:Gem::Version
32
29
  version: '1.3'
33
- - - ! '>='
30
+ - - ">="
34
31
  - !ruby/object:Gem::Version
35
32
  version: 1.3.0
36
33
  - !ruby/object:Gem::Dependency
37
34
  name: snmp
38
35
  requirement: !ruby/object:Gem::Requirement
39
- none: false
40
36
  requirements:
41
- - - ~>
37
+ - - "~>"
42
38
  - !ruby/object:Gem::Version
43
39
  version: '1.1'
44
- - - ! '>='
40
+ - - ">="
45
41
  - !ruby/object:Gem::Version
46
42
  version: 1.1.0
47
43
  type: :runtime
48
44
  prerelease: false
49
45
  version_requirements: !ruby/object:Gem::Requirement
50
- none: false
51
46
  requirements:
52
- - - ~>
47
+ - - "~>"
53
48
  - !ruby/object:Gem::Version
54
49
  version: '1.1'
55
- - - ! '>='
50
+ - - ">="
56
51
  - !ruby/object:Gem::Version
57
52
  version: 1.1.0
58
- description: ! 'This is the New Relic plugin for monitoring F5 devices developed by
59
- New Relic, Inc.
60
-
61
- '
53
+ description: |
54
+ This is the New Relic plugin for monitoring F5 devices developed by New Relic, Inc.
62
55
  email: support@newrelic.com
63
56
  executables:
64
57
  - f5_monitor
@@ -97,29 +90,28 @@ files:
97
90
  homepage: http://newrelic.com
98
91
  licenses:
99
92
  - MIT
100
- post_install_message: ! "To get started with this plugin, create a working directory
93
+ metadata: {}
94
+ post_install_message: "To get started with this plugin, create a working directory
101
95
  and do \n f5_monitor -h\nto find out how to install and run the plugin agent.\n"
102
96
  rdoc_options:
103
- - --charset=UTF-8
104
- - --main
97
+ - "--charset=UTF-8"
98
+ - "--main"
105
99
  - README.rdoc
106
100
  require_paths:
107
101
  - lib
108
102
  required_ruby_version: !ruby/object:Gem::Requirement
109
- none: false
110
103
  requirements:
111
- - - ! '>='
104
+ - - ">="
112
105
  - !ruby/object:Gem::Version
113
106
  version: '0'
114
107
  required_rubygems_version: !ruby/object:Gem::Requirement
115
- none: false
116
108
  requirements:
117
- - - ! '>='
109
+ - - ">="
118
110
  - !ruby/object:Gem::Version
119
111
  version: '0'
120
112
  requirements: []
121
113
  rubyforge_project: newrelic_f5_plugin
122
- rubygems_version: 1.8.23
114
+ rubygems_version: 2.4.5
123
115
  signing_key:
124
116
  specification_version: 2
125
117
  summary: New Relic F5 plugin