logstash-input-jms 3.0.6-java → 3.1.0-java
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -0
- data/docs/index.asciidoc +453 -48
- data/lib/logstash/inputs/jms.rb +184 -115
- data/logstash-input-jms.gemspec +1 -1
- data/spec/inputs/fixtures/activemq_plaintext.xml +132 -0
- data/spec/inputs/fixtures/activemq_ssl.xml +137 -0
- data/spec/inputs/fixtures/jms.yml +14 -0
- data/spec/inputs/fixtures/jndijms.yml +22 -0
- data/spec/inputs/fixtures/keystore.jks +0 -0
- data/spec/inputs/integration/jms_spec.rb +284 -0
- data/spec/inputs/spec_helper.rb +37 -0
- data/spec/inputs/unit/jms_spec.rb +256 -0
- metadata +18 -6
- data/spec/inputs/jms.yml +0 -18
- data/spec/inputs/jms_spec.rb +0 -30
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0c67e7b1c2a2cdef01628e322b3d7e7f2b0d569354c4284b667b30ed9ca874d5
|
4
|
+
data.tar.gz: 10f7a99686215d53cd59145a898c0b931763eca6ff20d5a4cd82ababde5b65ba
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9fb991ca333e90e0900d36ddac2c299e46805f911d8a3f357a3794bcbab74638d7e63496bb35bb18f4ea7940a266336ab88082193a8f554b87b552c3ea6df17a
|
7
|
+
data.tar.gz: 0e86a615ad62ddc0a9a59d228debdc62cbb2e31f0994146754fc015e9c6cafa828873b462fcd3eaf970902fa2760ec193f9fa92ee5279fdf3d5bb5f7f1d7844e
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
+
## 3.1.0
|
2
|
+
- Added many improvements to plugin [#35](https://github.com/logstash-plugins/logstash-input-jms/pull/35), including:
|
3
|
+
- Added support for TLS
|
4
|
+
- Added support for durable subscriptions
|
5
|
+
- Added support to skip processing of specified headers and properties
|
6
|
+
- Added Integration tests
|
7
|
+
- Added support for specifying system and connection factory settings in configuration
|
8
|
+
- Improved error handling and reporting
|
9
|
+
- Deprecated confusing runner settings, and simplified code.
|
10
|
+
- Improved unit test coverage
|
11
|
+
- Improved documentation with sample configurations and a basic troubleshooting guide
|
12
|
+
|
1
13
|
## 3.0.6
|
2
14
|
- Fixed formatting issues in documentation [#32](https://github.com/logstash-plugins/logstash-input-jms/pull/32) and [#33](https://github.com/logstash-plugins/logstash-input-jms/pull/33]
|
3
15
|
|
data/docs/index.asciidoc
CHANGED
@@ -23,24 +23,318 @@ include::{include_path}/plugin_header.asciidoc[]
|
|
23
23
|
|
24
24
|
Read events from a Jms Broker. Supports both Jms Queues and Topics.
|
25
25
|
|
26
|
-
For more information about Jms, see <
|
26
|
+
For more information about Jms, see <https://javaee.github.io/tutorial/jms-concepts.html>.
|
27
27
|
For more information about the Ruby Gem used, see <http://github.com/reidmorrison/jruby-jms>.
|
28
|
-
Here is a config example to pull from a queue:
|
29
28
|
|
29
|
+
|
30
|
+
JMS configurations can be done either entirely in the Logstash configuration file, or in a mixture of the Logstash
|
31
|
+
configuration file, and a specified yaml file. Simple configurations that do not need to make calls to implementation
|
32
|
+
specific methods on the connection factory can be specified entirely in the Logstash configuration, whereas more complex
|
33
|
+
configurations, should also use the combination of yaml file and Logstash configuration.
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
==== Sample Configuration using Logstash Configuration Only
|
38
|
+
|
39
|
+
|
40
|
+
Configurations can be configured either entirely in Logstash configuration, or via a combination of Logstash configuration
|
41
|
+
and yaml file, which can be useful for sharing similar configurations across multiple inputs and outputs.
|
42
|
+
The JMS plugin can also be configured using JNDI if desired.
|
43
|
+
|
44
|
+
===== Logstash Confuguration for Non-JNDI Connection
|
30
45
|
[source,ruby]
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
46
|
+
--------------------------------------------------
|
47
|
+
input
|
48
|
+
{
|
49
|
+
jms {
|
50
|
+
broker_url => 'failover:(tcp://host1:61616,tcp://host2:61616)?initialReconnectDelay=100' <1>
|
51
|
+
destination => 'myqueue' <2>
|
52
|
+
factory => 'org.apache.activemq.ActiveMQConnectionFactory' <3>
|
53
|
+
pub_sub => false <4>
|
54
|
+
use_jms_timestamp => false <5>
|
55
|
+
# JMS provider credentials if needed <6>
|
56
|
+
username => 'username'
|
57
|
+
password => 'secret'
|
58
|
+
# JMS provider keystore and truststore details <7>
|
59
|
+
keystore => '/Users/logstash-user/security/keystore.jks'
|
60
|
+
keystore_password => 'another_secret'
|
61
|
+
truststore => '/Users/logstash-user/security/truststore.jks'
|
62
|
+
truststore_password => 'yet_another_secret'
|
63
|
+
# Parts of the JMS message to be included <8>
|
64
|
+
include_header => false
|
65
|
+
include_properties => false
|
66
|
+
include_body => true
|
67
|
+
# Message selector
|
68
|
+
selector => "string_property = 'this' OR int_property < 3" <9>
|
69
|
+
# Connection factory specific settings
|
70
|
+
factory_settings => { <10>
|
71
|
+
exclusive_consumer => true
|
72
|
+
}
|
73
|
+
# Jar Files to include
|
74
|
+
require_jars => ['/usr/share/jms/activemq-all-5.15.9.jar'] <11>
|
75
|
+
}
|
42
76
|
}
|
43
|
-
|
77
|
+
--------------------------------------------------
|
78
|
+
|
79
|
+
<1> Url of the broker to connect to. Please consult your JMS provider documentation for the exact syntax to use
|
80
|
+
here, including how to enable failover.
|
81
|
+
<2> Name of the topic or queue that the plugin will listen to events from.
|
82
|
+
<3> Full name (including package name) of Java connection factory used to create a connection with your JMS provider.
|
83
|
+
<4> Determines whether the event source is a queue or a topic, set to `true` for topic, `false` for queue.
|
84
|
+
<5> Determines whether the JMSTimestamp header is used to populate the `@timestamp` field.
|
85
|
+
<6> Credentials to use when connecting to the JMS provider, if required.
|
86
|
+
<7> Keystore and Truststore to use when connecting to the JMS provider, if required.
|
87
|
+
<8> Parts of the JMS Message to include in the event - headers, properties and the message body can be included or
|
88
|
+
excluded from the event.
|
89
|
+
|
90
|
+
<9> Message selector: Use this to filter messages to be processed. The whole selector query should be double-quoted,
|
91
|
+
string property values should be single quoted, and numeric property vaues should not be quoted.
|
92
|
+
See JMS provider documentation for exact syntax.
|
93
|
+
<10> Additional settings that are set directly on the ConnectionFactory object can be added here.
|
94
|
+
<11> List of jars required by the JMS provider. Paths should be the fully qualified location of all jar files required
|
95
|
+
by the JMS provider. This list may also include dependent jars as well as specific jars from the JMS provider.
|
96
|
+
|
97
|
+
===== Logstash Configuration for JNDI Connection
|
98
|
+
[source,ruby]
|
99
|
+
--------------------------------------------------
|
100
|
+
input {
|
101
|
+
jms {
|
102
|
+
# Logstash Configuration Settings. <1>
|
103
|
+
include_header => false
|
104
|
+
include_properties => false
|
105
|
+
include_body => true
|
106
|
+
use_jms_timestamp => false
|
107
|
+
destination => "myqueue"
|
108
|
+
pub_sub => false
|
109
|
+
# JNDI Settings
|
110
|
+
jndi_name => /jms/cf/default <2>
|
111
|
+
jndi_context => { <3>
|
112
|
+
'java.naming.factory.initial' => com.solacesystems.jndi.SolJNDIInitialContextFactory
|
113
|
+
'java.naming.security.principal' => solace-cloud-client@user
|
114
|
+
'java.naming.provider.url' => tcp://address.messaging.solace.cloud:20608
|
115
|
+
'java.naming.security.credentials' => verysecret
|
116
|
+
}
|
117
|
+
# Jar files to be imported
|
118
|
+
require_jars=> ['/usr/share/jms/commons-lang-2.6.jar', <4>
|
119
|
+
'/usr/share/jms/sol-jms-10.5.0.jar',
|
120
|
+
'/usr/share/jms/geronimo-jms_1.1_spec-1.1.1.jar',
|
121
|
+
'/usr/share/jms/commons-lang-2.6.jar]'
|
122
|
+
}
|
123
|
+
}
|
124
|
+
--------------------------------------------------
|
125
|
+
|
126
|
+
<1> Configuration settings. Note that there is no `broker_url` or `username` or `password` defined here - these are
|
127
|
+
defined in the `jndi_context` hash.
|
128
|
+
<2> JNDI name for this connection.
|
129
|
+
<3> JNDI context settings hash. Contains details of how to connect to JNDI server. See your JMS provider documentation for
|
130
|
+
implementation specific details.
|
131
|
+
<4> List of jars required by the JMS provider. Paths should be the fully qualified location of all jar files required
|
132
|
+
by the JMS provider. This list may also include dependent jars as well as specific jars from the JMS provider.
|
133
|
+
|
134
|
+
|
135
|
+
==== Sample Configuration using Logstash Configuration and Yaml File
|
136
|
+
|
137
|
+
===== Non-JNDI Connection
|
138
|
+
|
139
|
+
This section contains sample configurations for connecting to a JMS provider that is not using JNDI using a combination
|
140
|
+
of the Logstash configuration and the yaml file
|
141
|
+
|
142
|
+
===== Logstash Configuration for Non-JNDI Connection (for configs including yaml)
|
143
|
+
|
144
|
+
[source,ruby]
|
145
|
+
--------------------------------------------------
|
146
|
+
input {
|
147
|
+
jms {
|
148
|
+
# Logstash Configuration File Settings <1>
|
149
|
+
include_header => false
|
150
|
+
include_properties => false
|
151
|
+
include_body => true
|
152
|
+
use_jms_timestamp => false
|
153
|
+
destination => "myqueue"
|
154
|
+
pub_sub => false
|
155
|
+
# JMS Provider credentials <2>
|
156
|
+
username => xxxx
|
157
|
+
password => xxxx
|
158
|
+
# Location of yaml file, and which section to use for configuration
|
159
|
+
yaml_file => "~/jms.yml" <3>
|
160
|
+
yaml_section => "mybroker" <4>
|
161
|
+
}
|
162
|
+
}
|
163
|
+
--------------------------------------------------
|
164
|
+
|
165
|
+
|
166
|
+
<1> Configuration settings
|
167
|
+
<2> Username and password for the connection.
|
168
|
+
<3> Full path to a yaml file containing the definition for the ConnectionFactory.
|
169
|
+
<4> Section name in the yaml file of the ConnectionFactory for this plugin definition
|
170
|
+
|
171
|
+
|
172
|
+
===== Yaml File for Non-JNDI Connection
|
173
|
+
|
174
|
+
[source,yaml]
|
175
|
+
--------------------------------------------------
|
176
|
+
mybroker: <1>
|
177
|
+
:broker_url: 'ssl://localhost:61617' <2>
|
178
|
+
:factory: org.apache.activemq.ActiveMQConnectionFactory <3>
|
179
|
+
:exclusive_consumer: true <4>
|
180
|
+
:require_jars: <5>
|
181
|
+
- /usr/share/jms/activemq-all-5.15.9.jar
|
182
|
+
- /usr/share/jms/log4j-1.2.17.jar
|
183
|
+
--------------------------------------------------
|
184
|
+
|
185
|
+
<1> Section name for this broker definition. This should be the value of `yaml_section` in the logstash configuration file.
|
186
|
+
Note that multiple sections can co-exist in the same yaml file.
|
187
|
+
<2> Full url of the broker. See your JMS Provider documentation for details.
|
188
|
+
<3> Full name (including package name) of Java connection factory used to create a connection with your JMS provider.
|
189
|
+
<4> Implementation specific configuration parameters to be used with the connection factory specified.
|
190
|
+
in <3>. Each JMS Provider will have its own set of parameters that can be used here. These parameters are mapped to
|
191
|
+
`set` methods on the provided connection factory, and can be supplied in either 'snake' or 'camel' case. In <4> above,
|
192
|
+
the `exclusive_consumer` property will call the `setExclusiveConsumer` on the supplied connection factory. See your JMS provider
|
193
|
+
documentation for implementation specific details.
|
194
|
+
<5> List of jars required by the JMS provider. Paths should be the fully qualified location of all jar files required
|
195
|
+
by the JMS provider. This list may also include dependent jars as well as specific jars from the JMS provider.
|
196
|
+
|
197
|
+
|
198
|
+
===== JNDI Connection
|
199
|
+
|
200
|
+
This section contains sample configurations for connecting to a JMS provider that is using JNDI using a combination
|
201
|
+
of the Logstash configuration and the yaml file
|
202
|
+
|
203
|
+
===== Logstash Configuration for JNDI Connection (for configs including yaml)
|
204
|
+
|
205
|
+
[source,ruby]
|
206
|
+
--------------------------------------------------
|
207
|
+
input {
|
208
|
+
jms {
|
209
|
+
# Logstash specific configuration settings <1>
|
210
|
+
include_header => false
|
211
|
+
include_properties => false
|
212
|
+
include_body => true
|
213
|
+
use_jms_timestamp => false
|
214
|
+
destination => "myqueue"
|
215
|
+
pub_sub => false
|
216
|
+
# Location of yaml file, and which section to use for configuration
|
217
|
+
yaml_file => "~/jms.yml" <2>
|
218
|
+
yaml_section => "mybroker" <3>
|
219
|
+
}
|
220
|
+
}
|
221
|
+
--------------------------------------------------
|
222
|
+
|
223
|
+
<1> Configuration settings
|
224
|
+
<2> Full path to a yaml file containing the definition for the ConnectionFactory.
|
225
|
+
<3> Section name in the yaml file of the ConnectionFactory for this plugin definition
|
226
|
+
|
227
|
+
|
228
|
+
===== Yaml File for JNDI Connection
|
229
|
+
|
230
|
+
[source,yaml]
|
231
|
+
--------------------------------------------------
|
232
|
+
|
233
|
+
solace: <1>
|
234
|
+
:jndi_name: /jms/cf/default <2>
|
235
|
+
:jndi_context: <3>
|
236
|
+
java.naming.factory.initial: com.solacesystems.jndi.SolJNDIInitialContextFactory
|
237
|
+
java.naming.security.principal: solace-cloud-client@user
|
238
|
+
java.naming.provider.url: tcp://address.messaging.solace.cloud:20608
|
239
|
+
java.naming.security.credentials: verysecret
|
240
|
+
:require_jars: <4>
|
241
|
+
- /usr/share/jms/commons-lang-2.6.jar
|
242
|
+
- /usr/share/jms/sol-jms-10.5.0.jar
|
243
|
+
- /usr/share/jms/geronimo-jms_1.1_spec-1.1.1.jar
|
244
|
+
- /usr/share/jms/commons-lang-2.6.jar
|
245
|
+
--------------------------------------------------
|
246
|
+
|
247
|
+
<1> Section name for this broker definition. This should be the value of `yaml_section` in the Logstash configuration file.
|
248
|
+
<2> Name of JNDI entry at which the Factory can be found
|
249
|
+
<3> JNDI context settings. Contains details of how to connect to JNDI server. See your JMS provider documentation for
|
250
|
+
implementation specific details.
|
251
|
+
<4> List of jars required by the JMS provider. Paths should be the fully qualified location of all jar files required
|
252
|
+
by the JMS provider. This list may also include dependent jars as well as specific jars from the JMS provider.
|
253
|
+
|
254
|
+
|
255
|
+
==== Jar files
|
256
|
+
|
257
|
+
In order to communicate with a JMS broker, the plugin must load the jar files necessary for each client type.
|
258
|
+
This can be set in the yaml file, or in the main configuration if a yaml file is not necessary. The `require_jars`
|
259
|
+
setting should include the full path for each jar file required for the client. Eg
|
260
|
+
|
261
|
+
===== Logstash configuration
|
262
|
+
|
263
|
+
[source,ruby]
|
264
|
+
--------------------------------------------------
|
265
|
+
|
266
|
+
input {
|
267
|
+
jms {
|
268
|
+
:
|
269
|
+
[snip]
|
270
|
+
require_jars => ['/usr/share/jms/commons-lang-2.6.jar',
|
271
|
+
'/usr/share/jms/sol-jms-10.5.0.jar',
|
272
|
+
'/usr/share/jms/geronimo-jms_1.1_spec-1.1.1.jar',
|
273
|
+
'/usr/share/jms/commons-lang-2.6.jar']
|
274
|
+
}
|
275
|
+
}
|
276
|
+
--------------------------------------------------
|
277
|
+
|
278
|
+
==== Troubleshooting
|
279
|
+
|
280
|
+
This section includes some common issues that a user may have when integrating this plugin with their JMS provider.
|
281
|
+
|
282
|
+
===== Missing Jar files
|
283
|
+
|
284
|
+
The most common issue is missing jar files, which may be jar files provided by the JMS vendor, or jar files that the JMS
|
285
|
+
vendor requires to run. This issue can manifest in different ways, depending on where the missing jar file is discovered.
|
286
|
+
|
287
|
+
Example log output:
|
288
|
+
|
289
|
+
[source,txt]
|
290
|
+
-----
|
291
|
+
Failed to load JMS Connection, likely because a JMS Provider is not on the Logstash classpath or correctly
|
292
|
+
specified by the plugin's `require_jars` directive
|
293
|
+
{:exception=>"cannot load Java class javax.jms.DeliveryMode"
|
294
|
+
-----
|
295
|
+
|
296
|
+
[source,txt]
|
297
|
+
-----
|
298
|
+
JMS Consumer Died {:exception=>"Java::JavaxNaming::NoInitialContextException",
|
299
|
+
:exception_message=>"Cannot instantiate class:"
|
300
|
+
-----
|
301
|
+
|
302
|
+
[source,txt]
|
303
|
+
-----
|
304
|
+
warning: thread "[main]<jms" terminated with exception (report_on_exception is true):
|
305
|
+
java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableException
|
306
|
+
-----
|
307
|
+
|
308
|
+
[source,txt]
|
309
|
+
-----
|
310
|
+
JMS Consumer Died {:exception=>"Java::JavaxJms::JMSException", :exception_message=>"io/netty/channel/epoll/Epoll",
|
311
|
+
:root_cause=>{:exception=>"Java::JavaLang::NoClassDefFoundError", :exception_message=>"io/netty/channel/epoll/Epoll"}
|
312
|
+
-----
|
313
|
+
|
314
|
+
If any of these issues occur, check the list of `require_jars` in either the Logstash configuration or yaml configuration
|
315
|
+
files.
|
316
|
+
|
317
|
+
===== Setting System Properties
|
318
|
+
|
319
|
+
Many JMS providers allow or expect System properties to be set to configure certain properties when using JMS, for
|
320
|
+
example, the Apache qpid JMS client allows the connection factory lookup to be stored there, and the Solace JMS client
|
321
|
+
allows many properties, such as number of connection retries to be set as System properties. Any system properties that
|
322
|
+
are set should be set in the Logstash `jvm.options` file.
|
323
|
+
|
324
|
+
===== Multiple JMS inputs/outputs in the same Logstash process
|
325
|
+
|
326
|
+
The use of multiple JMS consumers and producers in the same Logstash process is unsupported if:
|
327
|
+
|
328
|
+
* System properties need to be different for any of the consumers/producers
|
329
|
+
* Different keystores or truststores are required for any of the consumers/producers
|
330
|
+
|
331
|
+
===== Message Selectors unexpectedly filtering out all messages
|
332
|
+
|
333
|
+
Incorrect message selector syntax can have two effects - either the syntax is incorrect and the selector parser from the
|
334
|
+
JMS provider will throw an exception causing the plugin to fail OR the syntax will be accepted, but the messages will
|
335
|
+
be silently dropped - this can happen with incorrect quoting of string properties in the selector definition. All
|
336
|
+
selector definitions must be double quoted in the Logstash configuration file, and string property values must be
|
337
|
+
single quoted, and numeric property values not quoted at all.
|
44
338
|
|
45
339
|
|
46
340
|
[id="plugins-{type}s-{plugin}-options"]
|
@@ -53,6 +347,9 @@ This plugin supports the following configuration options plus the <<plugins-{typ
|
|
53
347
|
|Setting |Input type|Required
|
54
348
|
| <<plugins-{type}s-{plugin}-broker_url>> |<<string,string>>|No
|
55
349
|
| <<plugins-{type}s-{plugin}-destination>> |<<string,string>>|Yes
|
350
|
+
| <<plugins-{type}s-{plugin}-durable_subscriber>> |<<boolean,boolean>>|No
|
351
|
+
| <<plugins-{type}s-{plugin}-durable_subscriber_client_id>> |<<string,string>>|No
|
352
|
+
| <<plugins-{type}s-{plugin}-durable_subscriber_name>> |<<string,string>>|No
|
56
353
|
| <<plugins-{type}s-{plugin}-factory>> |<<string,string>>|No
|
57
354
|
| <<plugins-{type}s-{plugin}-include_body>> |<<boolean,boolean>>|No
|
58
355
|
| <<plugins-{type}s-{plugin}-include_header>> |<<boolean,boolean>>|No
|
@@ -60,14 +357,21 @@ This plugin supports the following configuration options plus the <<plugins-{typ
|
|
60
357
|
| <<plugins-{type}s-{plugin}-interval>> |<<number,number>>|No
|
61
358
|
| <<plugins-{type}s-{plugin}-jndi_context>> |<<hash,hash>>|No
|
62
359
|
| <<plugins-{type}s-{plugin}-jndi_name>> |<<string,string>>|No
|
360
|
+
| <<plugins-{type}s-{plugin}-keystore>> |a valid filesystem path|No
|
361
|
+
| <<plugins-{type}s-{plugin}-keystore_password>> |<<password,password>>|No
|
63
362
|
| <<plugins-{type}s-{plugin}-oracle_aq_buffered_messages>> |<<boolean,boolean>>|No
|
64
363
|
| <<plugins-{type}s-{plugin}-password>> |<<string,string>>|No
|
65
364
|
| <<plugins-{type}s-{plugin}-pub_sub>> |<<boolean,boolean>>|No
|
66
365
|
| <<plugins-{type}s-{plugin}-require_jars>> |<<array,array>>|No
|
67
|
-
| <<plugins-{type}s-{plugin}-runner>> |<<string,string
|
366
|
+
| <<plugins-{type}s-{plugin}-runner>> |<<string,string>>|__Deprecated__
|
68
367
|
| <<plugins-{type}s-{plugin}-selector>> |<<string,string>>|No
|
368
|
+
| <<plugins-{type}s-{plugin}-skip_headers>> |<<array,array>>|No
|
369
|
+
| <<plugins-{type}s-{plugin}-skip_properties>> |<<array,array>>|No
|
370
|
+
| <<plugins-{type}s-{plugin}-system_properties>> |<<hash,hash>>|No
|
69
371
|
| <<plugins-{type}s-{plugin}-threads>> |<<number,number>>|No
|
70
372
|
| <<plugins-{type}s-{plugin}-timeout>> |<<number,number>>|No
|
373
|
+
| <<plugins-{type}s-{plugin}-truststore>> |a valid filesystem path|No
|
374
|
+
| <<plugins-{type}s-{plugin}-truststore_password>> |<<password,password>>|No
|
71
375
|
| <<plugins-{type}s-{plugin}-use_jms_timestamp>> |<<boolean,boolean>>|No
|
72
376
|
| <<plugins-{type}s-{plugin}-username>> |<<string,string>>|No
|
73
377
|
| <<plugins-{type}s-{plugin}-yaml_file>> |<<string,string>>|No
|
@@ -80,15 +384,15 @@ input plugins.
|
|
80
384
|
|
81
385
|
|
82
386
|
[id="plugins-{type}s-{plugin}-broker_url"]
|
83
|
-
===== `broker_url`
|
387
|
+
===== `broker_url`
|
84
388
|
|
85
389
|
* Value type is <<string,string>>
|
86
390
|
* There is no default value for this setting.
|
87
391
|
|
88
|
-
Url to use when connecting to the JMS provider.
|
392
|
+
Url to use when connecting to the JMS provider. This is only relevant for non-JNDI configurations.
|
89
393
|
|
90
394
|
[id="plugins-{type}s-{plugin}-destination"]
|
91
|
-
===== `destination`
|
395
|
+
===== `destination`
|
92
396
|
|
93
397
|
* This is a required setting.
|
94
398
|
* Value type is <<string,string>>
|
@@ -96,16 +400,52 @@ Url to use when connecting to the JMS provider.
|
|
96
400
|
|
97
401
|
Name of the destination queue or topic to use.
|
98
402
|
|
403
|
+
[id="plugins-{type}s-{plugin}-durable_subscriber"]
|
404
|
+
===== `durable_subscriber`
|
405
|
+
|
406
|
+
* Value type is <<boolean,boolean>>
|
407
|
+
* This is `false` by default
|
408
|
+
* Requires `pub_sub` to be true
|
409
|
+
|
410
|
+
Setting this value to `true` will make subscriptions to topics "durable", which allowing messages that arrived on the
|
411
|
+
specified topic while Logstash is not running to still be read. Without setting this value, any messages sent to a topic
|
412
|
+
while Logstash is not actively listening will be lost. A durable subscriber specifies a unique identity consisting of the
|
413
|
+
topic (`destination`), the client id (`durable_subscriber_client_id`) and subscriber name
|
414
|
+
(`durable_subscriber_subscriber_name`). See your JMS Provider documentation for any further requirements/limitations
|
415
|
+
around these settings.
|
416
|
+
|
417
|
+
* Note that a durable subscription can only have one active subscriber at a time.
|
418
|
+
* Note that this setting is only permitted when `pub_sub` is set to true, and will generate a configuration error otherwise
|
419
|
+
|
420
|
+
[id="plugins-{type}s-{plugin}-durable_subscriber_client_id"]
|
421
|
+
===== `durable_subscriber_client_id`
|
422
|
+
|
423
|
+
* Value type is <<string,string>>
|
424
|
+
* If `durable_subscriber` is set, the default value for this setting is 'Logstash', otherwise this setting has no
|
425
|
+
effect
|
426
|
+
|
427
|
+
This represents the value of the client ID for a durable subscribtion, and is only used if `durable_subscriber` is set to `true`.
|
428
|
+
|
429
|
+
[id="plugins-{type}s-{plugin}-durable_subscriber_name"]
|
430
|
+
===== `durable_subscriber_name`
|
431
|
+
|
432
|
+
* Value type is <<string,string>>
|
433
|
+
* If `durable_subscriber` is set, the default value for this setting will be the same value as the `destination`
|
434
|
+
setting, otherwise this setting has no effect.
|
435
|
+
|
436
|
+
This represents the value of the subscriber name for a durable subscribtion, and is only used if `durable_subscriber`
|
437
|
+
is set to `true`. Please consult your JMS Provider documentation for constraints and requirements for this setting.
|
438
|
+
|
99
439
|
[id="plugins-{type}s-{plugin}-factory"]
|
100
|
-
===== `factory`
|
440
|
+
===== `factory`
|
101
441
|
|
102
442
|
* Value type is <<string,string>>
|
103
443
|
* There is no default value for this setting.
|
104
444
|
|
105
|
-
|
445
|
+
Full name (including package name) of Java connection factory used to create a connection with your JMS provider.
|
106
446
|
|
107
447
|
[id="plugins-{type}s-{plugin}-include_body"]
|
108
|
-
===== `include_body`
|
448
|
+
===== `include_body`
|
109
449
|
|
110
450
|
* Value type is <<boolean,boolean>>
|
111
451
|
* Default value is `true`
|
@@ -120,7 +460,7 @@ the key/value pairs will be added in the Hashmap of the event.
|
|
120
460
|
StreamMessage and ObjectMessage are not supported.
|
121
461
|
|
122
462
|
[id="plugins-{type}s-{plugin}-include_header"]
|
123
|
-
===== `include_header`
|
463
|
+
===== `include_header`
|
124
464
|
|
125
465
|
* Value type is <<boolean,boolean>>
|
126
466
|
* Default value is `true`
|
@@ -136,7 +476,7 @@ You can tell the input plugin which parts should be included in the event produc
|
|
136
476
|
Include JMS Message Header Field values in the event.
|
137
477
|
|
138
478
|
[id="plugins-{type}s-{plugin}-include_properties"]
|
139
|
-
===== `include_properties`
|
479
|
+
===== `include_properties`
|
140
480
|
|
141
481
|
* Value type is <<boolean,boolean>>
|
142
482
|
* Default value is `true`
|
@@ -144,7 +484,7 @@ Include JMS Message Header Field values in the event.
|
|
144
484
|
Include JMS Message Properties Field values in the event.
|
145
485
|
|
146
486
|
[id="plugins-{type}s-{plugin}-interval"]
|
147
|
-
===== `interval`
|
487
|
+
===== `interval`
|
148
488
|
|
149
489
|
* Value type is <<number,number>>
|
150
490
|
* Default value is `10`
|
@@ -154,33 +494,52 @@ This is the time sleeping between asks to a consumed Queue.
|
|
154
494
|
This parameter has non influence in the case of a subcribed Topic.
|
155
495
|
|
156
496
|
[id="plugins-{type}s-{plugin}-jndi_context"]
|
157
|
-
===== `jndi_context`
|
497
|
+
===== `jndi_context`
|
158
498
|
|
159
499
|
* Value type is <<hash,hash>>
|
160
500
|
* There is no default value for this setting.
|
161
501
|
|
162
|
-
|
163
|
-
|
502
|
+
Only used if using JNDI lookup. Key value pairs to determine how to connect the JMS message brokers if JNDI
|
503
|
+
is being used. Consult your JMS provider documentation for the correct values to use here.
|
504
|
+
|
164
505
|
|
165
506
|
[id="plugins-{type}s-{plugin}-jndi_name"]
|
166
|
-
===== `jndi_name`
|
507
|
+
===== `jndi_name`
|
167
508
|
|
168
509
|
* Value type is <<string,string>>
|
169
510
|
* There is no default value for this setting.
|
170
511
|
|
171
|
-
Name of JNDI entry at which the Factory can be found.
|
512
|
+
Only used if using JNDI lookup. Name of JNDI entry at which the Factory can be found.
|
513
|
+
|
514
|
+
[id="plugins-{type}s-{plugin}-keystore"]
|
515
|
+
===== `keystore`
|
516
|
+
|
517
|
+
* Value type is <<path,path>>
|
518
|
+
* There is no default value for this setting.
|
519
|
+
|
520
|
+
If you need to use a custom keystore (`.jks`) specify it here. This does not work with .pem keys
|
521
|
+
|
522
|
+
[id="plugins-{type}s-{plugin}-keystore_password"]
|
523
|
+
===== `keystore_password`
|
524
|
+
|
525
|
+
* Value type is <<password,password>>
|
526
|
+
* There is no default value for this setting.
|
527
|
+
|
528
|
+
Specify the keystore password here.
|
529
|
+
Note, most .jks files created with keytool require a password
|
172
530
|
|
173
531
|
[id="plugins-{type}s-{plugin}-oracle_aq_buffered_messages"]
|
174
|
-
===== `oracle_aq_buffered_messages`
|
532
|
+
===== `oracle_aq_buffered_messages`
|
175
533
|
|
176
534
|
* Value type is <<boolean,boolean>>
|
177
535
|
* Default value is `false`
|
178
536
|
|
179
537
|
Receive Oracle AQ buffered messages.
|
180
538
|
In this mode persistent Oracle AQ JMS messages will not be received.
|
539
|
+
Only for use with Oracle AQ
|
181
540
|
|
182
541
|
[id="plugins-{type}s-{plugin}-password"]
|
183
|
-
===== `password`
|
542
|
+
===== `password`
|
184
543
|
|
185
544
|
* Value type is <<string,string>>
|
186
545
|
* There is no default value for this setting.
|
@@ -188,15 +547,15 @@ In this mode persistent Oracle AQ JMS messages will not be received.
|
|
188
547
|
Password to use when connecting to the JMS provider.
|
189
548
|
|
190
549
|
[id="plugins-{type}s-{plugin}-pub_sub"]
|
191
|
-
===== `pub_sub`
|
550
|
+
===== `pub_sub`
|
192
551
|
|
193
552
|
* Value type is <<boolean,boolean>>
|
194
553
|
* Default value is `false`
|
195
554
|
|
196
|
-
If pub-sub (topic) style should be used.
|
555
|
+
If pub-sub (topic) style should be used. Note that if `pub_sub` is set to true, `threads` must be set to 1.
|
197
556
|
|
198
557
|
[id="plugins-{type}s-{plugin}-require_jars"]
|
199
|
-
===== `require_jars`
|
558
|
+
===== `require_jars`
|
200
559
|
|
201
560
|
* Value type is <<array,array>>
|
202
561
|
* There is no default value for this setting.
|
@@ -208,45 +567,91 @@ to put all the JMS Provider specific jar files into the
|
|
208
567
|
java CLASSPATH prior to starting Logstash.
|
209
568
|
|
210
569
|
[id="plugins-{type}s-{plugin}-runner"]
|
211
|
-
===== `runner`
|
570
|
+
===== `runner`
|
212
571
|
|
213
|
-
*
|
214
|
-
* Default value is `"consumer"`
|
572
|
+
* DEPRECATED WARNING: This configuration item is deprecated and may not be available in future versions.
|
215
573
|
|
216
|
-
Choose an implementation of the run block. Value can be `consumer`, `async` or `thread`.
|
217
574
|
|
218
575
|
[id="plugins-{type}s-{plugin}-selector"]
|
219
|
-
===== `selector`
|
576
|
+
===== `selector`
|
220
577
|
|
221
578
|
* Value type is <<string,string>>
|
222
579
|
* There is no default value for this setting.
|
223
580
|
|
224
|
-
|
581
|
+
JMS message selector. Use in conjunctions with message headers or properties to filter messages to be processed. Only
|
582
|
+
messages that match the query specified here will be processed. Check with your JMS provider for the correct JMS message
|
583
|
+
selector syntax.
|
584
|
+
|
585
|
+
[id="plugins-{type}s-{plugin}-skip_headers"]
|
586
|
+
===== `skip_headers`
|
587
|
+
|
588
|
+
* Value type is <<array,array>>
|
589
|
+
* There is no default value for this setting.
|
590
|
+
|
591
|
+
If `include_headers` is set, a list of headers to skip processing on can be specified here.
|
592
|
+
|
593
|
+
[id="plugins-{type}s-{plugin}-skip_properties"]
|
594
|
+
===== `skip_properties`
|
595
|
+
|
596
|
+
* Value type is <<array,array>>
|
597
|
+
* There is no default value for this setting.
|
598
|
+
|
599
|
+
If `include_properties` is set, a list of properties to skip processing on can be specified here.
|
600
|
+
|
601
|
+
[id="plugins-{type}s-{plugin}-system_properties"]
|
602
|
+
===== `system_properties`
|
603
|
+
|
604
|
+
* Value type is <<hash,hash>>
|
605
|
+
* There is no default value for this setting.
|
606
|
+
|
607
|
+
Any System properties that the JMS provider requires can be set either in a Hash here, or in `jvm.options`
|
608
|
+
|
225
609
|
|
226
610
|
[id="plugins-{type}s-{plugin}-threads"]
|
227
|
-
===== `threads`
|
611
|
+
===== `threads`
|
228
612
|
|
229
613
|
* Value type is <<number,number>>
|
230
614
|
* Default value is `1`
|
231
615
|
|
616
|
+
* Note that if pub_sub is set to true, this value *must* be 1. A configuration error will be thrown otherwise
|
617
|
+
|
232
618
|
[id="plugins-{type}s-{plugin}-timeout"]
|
233
|
-
===== `timeout`
|
619
|
+
===== `timeout`
|
234
620
|
|
235
621
|
* Value type is <<number,number>>
|
236
622
|
* Default value is `60`
|
237
623
|
|
238
624
|
Initial connection timeout in seconds.
|
239
625
|
|
626
|
+
[id="plugins-{type}s-{plugin}-truststore"]
|
627
|
+
===== `truststore`
|
628
|
+
|
629
|
+
* Value type is <<path,path>>
|
630
|
+
* There is no default value for this setting.
|
631
|
+
|
632
|
+
If you need to use a custom truststore (`.jks`) specify it here. This does not work with .pem certs.
|
633
|
+
|
634
|
+
[id="plugins-{type}s-{plugin}-truststore_password"]
|
635
|
+
===== `truststore_password`
|
636
|
+
|
637
|
+
* Value type is <<password,password>>
|
638
|
+
* There is no default value for this setting.
|
639
|
+
|
640
|
+
Specify the truststore password here.
|
641
|
+
|
642
|
+
* Note, most .jks files created with keytool require a password.
|
643
|
+
|
644
|
+
|
240
645
|
[id="plugins-{type}s-{plugin}-use_jms_timestamp"]
|
241
|
-
===== `use_jms_timestamp`
|
646
|
+
===== `use_jms_timestamp`
|
242
647
|
|
243
648
|
* Value type is <<boolean,boolean>>
|
244
649
|
* Default value is `false`
|
245
650
|
|
246
|
-
Convert the JMSTimestamp header field to the @timestamp value of the event
|
651
|
+
Convert the JMSTimestamp header field to the @timestamp value of the event
|
247
652
|
|
248
653
|
[id="plugins-{type}s-{plugin}-username"]
|
249
|
-
===== `username`
|
654
|
+
===== `username`
|
250
655
|
|
251
656
|
* Value type is <<string,string>>
|
252
657
|
* There is no default value for this setting.
|
@@ -254,7 +659,7 @@ Convert the JMSTimestamp header field to the @timestamp value of the event.
|
|
254
659
|
Username to use for connecting to JMS provider.
|
255
660
|
|
256
661
|
[id="plugins-{type}s-{plugin}-yaml_file"]
|
257
|
-
===== `yaml_file`
|
662
|
+
===== `yaml_file`
|
258
663
|
|
259
664
|
* Value type is <<string,string>>
|
260
665
|
* There is no default value for this setting.
|
@@ -262,7 +667,7 @@ Username to use for connecting to JMS provider.
|
|
262
667
|
Yaml config file
|
263
668
|
|
264
669
|
[id="plugins-{type}s-{plugin}-yaml_section"]
|
265
|
-
===== `yaml_section`
|
670
|
+
===== `yaml_section`
|
266
671
|
|
267
672
|
* Value type is <<string,string>>
|
268
673
|
* There is no default value for this setting.
|
@@ -275,4 +680,4 @@ For some known examples, see https://github.com/reidmorrison/jruby-jms/blob/mast
|
|
275
680
|
[id="plugins-{type}s-{plugin}-common-options"]
|
276
681
|
include::{include_path}/{type}.asciidoc[]
|
277
682
|
|
278
|
-
:default_codec!:
|
683
|
+
:default_codec!:
|