newrelic_f5_plugin 1.0.19 → 1.0.21

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.
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