Commit graph

32 commits

Author SHA1 Message Date
Armin Braun
73e7481626 #7766 turn off invokedynmic (#7805) 2017-07-25 15:29:04 +00:00
Armin
8dfea77fbd MINOR: Set Xms == Xmx as a default
Fixes #7725
2017-07-18 17:08:30 +00:00
Armin
c855212fb1 MINOR: default to -Djruby.compile.invokedynamic=true
Fixes #7698
2017-07-17 11:59:52 +00:00
Armin
8cac993ed6 MINOR: Fix typo in logstash.yml config comment
Fixes #7659
2017-07-12 11:20:54 +00:00
Rob Bavey
d2189ce359 Add dead_letter_queue.max_bytes setting
Add setting for dead_letter_queue.max_bytes to allow a user
to set the maximum possible size of a dead letter queue on disk.

Resolves #7633

Fixes #7638

Fixes #7652
2017-07-11 23:38:09 +00:00
Jordan Sissel
a4a9d57a0f Feature flag for string escape sequences
New boolean setting `config.support_escapes` which defaults to false
(the historical behavior). When set to true, the following escapes are
handled:

* backslash doublequote -> doublequote
* backslash quote -> quote
* backslash n -> newline (ascii 10)
* backslash r -> carriage return (ascii 13)
* backslash backslash -> backslash
* backslash t -> tab (ascii 9)

This will solve #1645.

Fixes #7516
2017-06-23 03:22:44 +00:00
Jordan Sissel
b91d5dc1fd Set default entropy source to /dev/urandom
This changes the Java-wide from the default of /dev/random. The reason
for this chnage is that /dev/random can block if there is insufficient
entropy available, and this blocking can cause Logstash to stall on
startup for many many minutes.

Fixes #6117.

This scenario (no entropy) seems especially prone to occur on virtual
machines.

Related: https://github.com/jruby/jruby/wiki/Improving-startup-time#ensure-your-system-has-adequate-entropy

On Windows, I was not sure if this would work, but the JDK source tree
says this:

    On Windows systems, specifying the URLs "file:/dev/random" or
    "file:/dev/urandom" will enable the native Microsoft CryptoAPI seeding
    mechanism for SHA1PRNG.

So defaulting to /dev/urandom should still do the right thing on
Windows.

I also checked to see if other unix-likes had /dev/urandom, and
according to Wikipedia[1], Linux, FreeBSD, OpenBSD, OSX, Solaris,
NetBSD, and others all have urandom.

[1] https://en.wikipedia.org/wiki//dev/random

Fixes #7469
2017-06-15 17:44:34 +00:00
Guy Boertje
351069f9c2 Introducing Logstash Modules (#7345)
Modules contain packaged Logstash configuration, Kibana dashboards and other meta files to ease the set up of the Elastic stack for certain use cases or data sources.
2017-06-06 21:17:40 +01:00
Tal Levy
9286a767c5 Introduce DeadLetterQueue to the Execution Context (#6894)
* Introduce a DeadLetterQueueFactory

DeadLetterQueueFactory is a static class that keeps
a static collection of DeadLetterQueueWriteManagers per
pipeline that has plugins requesting to use it.

* DeadLetterQueue was added as a first-class field in the execution context that input/filter/output plugins can leverage
2017-05-11 21:06:06 -04:00
Aaron Mildenstein
43c0750377 Unset JAVACMD by default
In most cases, this will probably work out, but it will need some testing.

JRuby and `logstash.lib.sh` both check first for the presence of `JAVACMD`. If that isn't found, it tries `$JAVA_HOME/bin/java`. If that isn't found, it tries `java` in the system $PATH.

The previous behavior was to manually assign `JAVACMD=/usr/bin/java`.  This will still work for most users.  Special cases will still need manual configuration, but this will _probably_ work better for most cases in the long run.

Fixes #6919
2017-04-20 17:42:17 +00:00
Mattias Appelgren
4af3f86a05 config/logstash.yml: Remove trailing whitespace
Fixes #6635
2017-02-13 06:17:57 -05:00
Jordan Sissel
7654239d5b Enhance note that startup.options is not used when Logstash runs. For #6482.
Fixes #6484
2017-01-11 21:46:37 -05:00
Suyog Rao
fbfcf7ceaa specify max_events relation as well
Fixes #6343
2016-12-01 20:13:52 -05:00
Suyog Rao
89c4c4fe49 Add default setting for queue.max_bytes
Fixes #6343
2016-12-01 20:13:51 -05:00
Colin Surprenant
38fc84b367 add support for queue.checkpoint.{acks|writes} settings
add queue.max_acked_checkpoint and queue.checkpoint_rate settings

now using checkpoint.max_acks, checkpoint.max_writes and checkpoint.max_interval

rename options

wip rework checkpointing

refactored full acked pages handling on acking and recovery

correclty close queue

proper queue open/recovery

checkpoint dump utility

checkpoint on writes

removed debug code and added missing newline

added better comment on contiguous checkpoints

fix spec for new pipeline setting
2016-11-22 15:55:32 -05:00
Jordan Sissel
73e9afc2de Truncate from the end of the message instead of the front.
PatternLayout calls this 'left justify' I think.

Fixes #6255

Fixes #6257
2016-11-15 18:35:11 -05:00
Tal Levy
6eef09de32 slowlog
Fixes #6128
2016-11-02 18:48:40 -04:00
Colin Surprenant
ab05082a89 merge feature/java_persistence into 5.x 2016-10-31 17:03:40 -04:00
Suyog Rao
dd6b5f2b2a Use format for log file
Fixes #5903
2016-09-13 19:39:28 -04:00
Tal Levy
224bc36a27 remove commented value for path.logs in default settings file
the build scripts rely on the value not being present to update with
appropriate value for the package

Fixes #5904
2016-09-13 18:43:04 -04:00
Tal Levy
976f55e162 respect log.format and path.logs from cli
also change how `log.level` is configured at startup time to be set
as a property directly in the log4j2.properties file

Fixes #5900
2016-09-13 16:45:30 -04:00
Tal Levy
9c687a37c4 Set default log.level to INFO
sets default to INFO and updates some verbose logging to
more appropriate, less verbose log levels where it makes sense.

Closes #5735.
Closes #5893.

Fixes #5898
2016-09-13 16:43:20 -04:00
Tal Levy
ce68fb4706 update path.log to path.logs directory, and respect it in log4j2
Fixes #5876
2016-09-08 18:10:02 -04:00
Tal Levy
b545b83390 Migrate Logstash to Log4j2 Logging (#5651)
Migrate to use Log4j2 for Logstash logging
2016-08-26 18:11:22 +00:00
Pier-Hugues Pellerin
c7f6cba5c8 --http.port Now accept a port range
This PR does a few modifications for our webserver:
 - Add a PortRange setting type.
 - allow the --http.port option to accept a port range or a single port, when a range is provided Logstash will incrementally try this list to find a free port for the webserver.
 - Logstash will report in the log which port it is using. (INFO LEVEL)
 - It refactors a few methods of the webserver.
 - It adds test for the binding of the ports.

Notes:

Port range can be defined in the logstash.yml or pass via the command line like this.

 `bin/logstash -e 'input { generator {}} output { null {}}' --log.level verbose --http.port 2000-2005`

Fixes #5774
2016-08-19 08:04:01 -04:00
DeDe Morton
51083d4666 corrected description of pipeline.batch.delay from seconds to ms
Fixes #5738
2016-08-08 13:54:34 -04:00
Joao Duarte
c03c5523a3 add data.path setting
Fixes #5528
2016-06-24 07:32:25 -04:00
Aaron Mildenstein
2c68fa62bb Fix starting logstash from command-line
This fix is for packages only (RPM/DEB)

This puts the requisite changes into /etc/logstash/logstash.yml so that starting logstash from the command-line, e.g. `/usr/share/logstash/bin/logstash --path.settings /etc/logstash` will read the pipeline from `/etc/logstash/conf.d` and log to `/var/log/logstash/logstash.log`.

fixes #5379

Comment out tmpdir in jvm.options

The absence of the tmpdir can cause JRuby to fail

Fixes #5383
2016-05-27 21:03:12 +00:00
Aaron Mildenstein
6c886845e6 Update packaging to use /usr/share/logstash
Update after-install scripts

Use /usr/lib/logstash instead of /opt/logstash

More revisions.

Using `/usr/share/logstash` instead of `/usr/lib/logstash`

Track these new files

More work in progress.

Proper arg parsing obtained

WIP: Use jvm.options like ES

Remove facter dependency

Due to an update from @jordansissel on pleaserun, facter is no longer necessary

Revert Gemfile to proper version

Latest work in progress.

I added a simple test to logstash.lib.sh to catch empty strings in java options.

Added `startup.options`, and touched up `jvm.options`

Edited the package scripts to make things play nice with new paths.

Tweaked `system-install` to allow users to provide their own `startup.options` file.

Patch up merge failure

Changes to work with the new logstash.yml

Add fpm dependency (build fails without it)

Fix missing gems in Gemfile

Don't know how these got lost

Use /etc/logstash for configuration in packages

Update the instructions/documentation for...

...startup.options

Merging proposed changes

Remove mustache and clamp

They're covered by pleaserun anyway

Prune config dir from /usr/share/logstash...

...but only when using RPM/DEB packages
2016-05-25 11:43:48 -06:00
DeDe Morton
c5fe902e66 Fixes from the review
Fixes #5332
2016-05-23 17:02:28 +00:00
Suyog Rao
43fde411bd Corrections to CLI options
Fixes #5331
2016-05-20 00:24:09 +00:00
Joao Duarte
3a6b1dafaa introduce yaml settings file and cli long switches
* by default lives in LOGSTASH_HOME/config/logstash.yml
* location can be changed by $LS_SETTINGS_DIR or --path.settings
* overrides defaults of LogStash::Environment, BUT
* CLI flags override the yaml file
* several breaking changes to cli flag names (see config/logstash.yml)
* setting values are now type checked (see Setting and Settings classes)

Fixes #5313
2016-05-19 19:20:37 +01:00