Commit graph

1406 commits

Author SHA1 Message Date
Karen Metts
2c5cc00e0b
Doc: Group central mgmt and configuring central mgmt topics (#14050) 2022-04-28 18:33:37 -04:00
Andrea Selva
c1fe7095c3
Implements DLQ storage policy (#13923)
Exposes dead_letter_queue.storage_policy configuration setting to explicitly enable the drop_older behavior in DLQs.

Moving from a drop_newer to a drop_older behavior has impact both on the writer side and to the reader side.
The implementation leverage the fact that a complete DLQ segment can be removed to free up space; on the writer side when the dead_letter_queue.max_bytes limit is reached it has to remove old segments.

On the reader side, the consuming has to be adapted to don't expect a continuous flow of segments, it could face an hole due to removal of tail segments.

Co-authored-by: João Duarte <jsvd@users.noreply.github.com>
Co-authored-by: Karen Metts <35154725+karenzone@users.noreply.github.com>
2022-04-28 09:16:03 +02:00
Andres Rodriguez
afc0edca18
Fix Bundled JDK docs to reflect JDK 11 (#14021)
Bundle JDK docs mislead users by specifying JDK 17 as the bundled version instead of 11.
2022-04-25 16:20:35 -04:00
Karen Metts
b16c836817
Doc: Restructure source files for pipeline configuration (#13990) 2022-04-21 17:35:03 -04:00
Karen Metts
2c5b039629
Doc: Refine content for generated CA in LS-ES security section (#13834)
Co-authored-by: Ry Biesemeyer <ry.biesemeyer@elastic.co>
2022-04-21 17:21:49 -04:00
Andres Rodriguez
5392ad7511
[doc] Add Logstash to Logstash HTTP example configuration.
Documents how to configure Logstash to Logstash with HTTP Input and Output Plugins.
2022-04-14 13:22:45 -04:00
Andres Rodriguez
cbb3ffd0dd
[doc] Remove references to sysv and upstart scripts when running logstash as a service. (#13953)
Remove any references about the use of sys-v or upstart scripts to run Logstash as a service.
2022-03-30 11:27:48 -04:00
João Duarte
682f07b703
[DOC] precedence between environment variables and yml in docker (#12198)
* [DOC] precedence between environment variables and yml in docker

Co-authored-by: Andrea Selva <selva.andre@gmail.com>
2022-03-29 17:19:55 +01:00
Karen Metts
c64ef889d5
Doc: Logstash-to-Logstash communication (#13926)
Adds http-output to http-input as a Logstash-Logstash configuration option
Expands info on considerations for both http-http and lumberjack-beats to help users make the best choice

Co-authored-by: Andres Rodriguez <andreserl@ubuntu.com>
2022-03-25 12:59:18 -04:00
kaisecheng
1a5030bd63
add backoff to checkpoint write (#13902)
This commit changes `queue.checkpoint.retry` to `true` by default allowing retry of checkpoint write failure.
Add exponential backoff retry to checkpoint write to mitigate AccessDeniedExcpetion in Windows.
Fixed: #12345
2022-03-24 09:19:45 +00:00
github-actions[bot]
de062add21
Add plugin uninstall release note (#13867) (#13912)
* Add plugin uninstall release note

Forward port PR #13867 to main branch

Co-authored-by: Karen Metts <35154725+karenzone@users.noreply.github.com>
(cherry picked from commit 3749b1fde7)

Co-authored-by: Rob Bavey <rob.bavey@elastic.co>
2022-03-18 11:11:49 +00:00
github-actions[bot]
2a586b9822
Release notes for 8.1.0 (#13828) (#13911)
* Update release notes for 8.1.0
* Forward ported release notes for 8.0.1 to 8.1

Forward port PR #13828 to main branch

Co-authored-by: andsel <selva.andre@gmail.com>
(cherry picked from commit 31e06c0b1c)

Co-authored-by: Logstash Machine <43502315+logstashmachine@users.noreply.github.com>
2022-03-18 11:09:52 +00:00
kaisecheng
d71553e5d7
[Doc] update queue.max_bytes and queue.page_capacity (#13833)
Fixed: #8650, #10718

Co-authored-by: Karen Metts <35154725+karenzone@users.noreply.github.com>
2022-03-09 15:51:18 +00:00
Karen Metts
8edce82170
Doc: Clarify monitoring settings (#13871)
Co-authored by: Dan Roscigno <dan@roscigno.com>

Moves content from #10940 into updated file/file structure
2022-03-08 16:48:16 -05:00
Karen Metts
68bacedf49
Doc: Improve formatting and readability for pipeline ordering (#13084)
Add pipelines.ordered entry to pipelines.yml

Co-authored-by: Rob Bavey <rob.bavey@elastic.co>
2022-03-04 18:18:52 -05:00
Karen Metts
4e226927fa
Doc: Correct name for java_home env variable (#13827) 2022-03-04 12:06:33 -05:00
Karen Metts
c07568d81c
Doc: Set up redirects for deleted pages (#13772) 2022-02-17 13:43:18 -05:00
Karen Metts
6313da2900
Doc Forwardport 8.0 release notes to main (#13750)
Co-authored-by: Logstash Machine <43502315+logstashmachine@users.noreply.github.com>
2022-02-10 08:46:26 +01:00
Ry Biesemeyer
e9e7838d88
Docs remove homebrew (#13747)
* docs: avoid promoting homebrew installation

As of Stack 8.0, Elastic is no longer maintaining a separate homebrew cask
with Elastic-licensed artifacts for the MacOS package manager homebrew, due to
low usage, difficulty in maintaining multiple versions, lack of team expertise,
and an existing Apache-licensed formula.

As such, we are removing instructions about setting up and running Logstash
from these formulae that are no longer available.

* docs: fix typo in installation instructions
2022-02-09 11:40:55 -08:00
Karen Metts
04d99b938f
Doc: Update upgrade info for 8.0 in main (#13705) 2022-02-09 11:46:22 -05:00
Andrea Selva
30b9ad8848
Update the Upgrading Using a Direct Download guide section. (#13684)
During the time Logstash switched from a set of Ruby files plus one fat jar to multiple jars, with configuration files
and shell scripts that also needs to be updated. It's not anymore sufficient to suggest to unpack a new distribution
over an existing one. This is problematic when we add jars from version to version because drive to the pollution
of the classpath.

This commit redefines to steps to do this, in a safer way, backing up data and config folders.

Co-authored-by: Karen Metts <35154725+karenzone@users.noreply.github.com
2022-02-09 15:48:19 +01:00
Karen Metts
999b6750d5
Doc: Remove links to beats 7.x content (#13736) 2022-02-08 19:05:28 -05:00
Karen Metts
81dcdc6def
Doc: Replace short link with full link (#13735)
Replaces anchor-only link with full link to work across guides.
Adds note to future authors to call out this requirement.
2022-02-08 18:31:38 -05:00
Karen Metts
3edef1e487
Doc: Expand breaking changes (#13693)
* Doc: Expand breaking changes

* Add restructured files

* Apply suggestions from code review

Co-authored-by: Ry Biesemeyer <yaauie@users.noreply.github.com>

* Update docs/static/breaking-changes-80.asciidoc

Co-authored-by: Ry Biesemeyer <yaauie@users.noreply.github.com>

* Clarify progression of field ref parser behavior

Co-authored-by: Ry Biesemeyer <yaauie@users.noreply.github.com>
2022-02-03 17:25:53 -08:00
Karen Metts
82f7bd9e6f
Doc: Fix formatting for bulleted list (#13694) 2022-01-31 20:18:44 -05:00
Karen Metts
ef024d8801
Doc: Add topic and content for es security on by default (#13597)
Co-authored-by: Alexander Marquardt <alexander.marquardt@elastic.co>
2022-01-31 15:02:44 -05:00
kaisecheng
1feeb7ec66
Revert "[DOC] Clarify the scope of environment variable expansion (#13299)" (#13679)
This reverts commit 096eb7ac48.
2022-01-26 13:00:57 +00:00
Luca Belluccini
e16a9d144c
[DOC] Clarify scope of queue settings (#12955)
Co-authored-by: Andrea Selva <andrea.selva@elastic.co>
Co-authored-by: Karen Metts <35154725+karenzone@users.noreply.github.com>
2022-01-20 10:09:28 -05:00
Karen Metts
ec51536f5e
Doc: Remove hard-coded edit_url links where possible (#13636) 2022-01-19 19:01:25 -05:00
Toby Sutor
e11d0364d4
[Docs] Add pipeline.ecs_compatibility to the list (#13612)
* Add pipeline.ecs_compatibility to the list

* Update docs/static/running-logstash-command-line.asciidoc

Co-authored-by: Ry Biesemeyer <yaauie@users.noreply.github.com>

Co-authored-by: Ry Biesemeyer <yaauie@users.noreply.github.com>
2022-01-18 16:37:03 -08:00
Rob Bavey
45f2de36c5
Forward port of #13598. Release notes for 8.0.0-rc1 (#13605)
Forward port of #13598 to main branch. Original message:

* Update release notes for 8.0.0

* Updated release notes for 8.0.0-rc1

Co-authored-by: Karen Metts <35154725+karenzone@users.noreply.github.com>
Co-authored-by: Rob Bavey <rob.bavey@elastic.co>
Co-authored-by: Logstash Machine <43502315+logstashmachine@users.noreply.github.com>
Co-authored-by: Karen Metts <35154725+karenzone@users.noreply.github.com>
2022-01-11 17:52:10 -05:00
Ry Biesemeyer
ef40bb0643
docs: sprintf vs UTC nature of @timestamp field (#13576)
Add notes to the Event sprintf docs about timestamp formatting to call out the
UTC nature of the Timestamp object.

Resolves: elastic/logstash#13112
Closes: elastic/logstash#13571
2022-01-06 14:56:26 -08:00
Karen Metts
eeb4025b21
Doc: Restructure source files for security docs (#13570) 2022-01-04 15:23:09 -05:00
Karen Metts
99f8b37c7a
Doc: Add anchor to bundled jdk info (#13535) 2021-12-17 18:17:02 -05:00
Toby McLaughlin
9b32b441f1
Doc: remove PQ on input for Output Isolator (#13537)
The Output Isolator Pattern doesn't need a persisted queue on the input
pipeline to work. It just needs one on every output pipeline.
2021-12-17 17:49:52 -05:00
Karen Metts
fbee01c5b0
Doc: Fix link in attribute (#13462) 2021-11-30 17:46:41 -05:00
Karen Metts
d2ca040e27
Doc: Update attribute for ECS messaging wrt default (LSR) (#13427)
Co-authored-by: Ry Biesemeyer <yaauie@users.noreply.github.com>
2021-11-19 17:20:15 -05:00
Karen Metts
63ed2da5ec
Doc: Expand PQ content for pipeline-pipeline (#13319) 2021-11-18 20:07:24 -05:00
Ry Biesemeyer
c3e498a24b
ECS on by default for Logstash 8, again (#13391)
* ecs: report pipeline's ECS-compatibility with INFO at startup

Because the pipeline-level setting `pipeline.ecs_compatibility` affects the
default behaviour of nearly every plugin in the pipeline, an INFO-level log
message will provide useful hints, especially to our users who upgrade to
Logstash 8 without first reading the breaking changes docs.

For example, when we have two pipelines `old` and `new` whose `pipeline.ecs_compatibility` is `disabled` and `v8` respectively, we would get the following log messages:

> ~~~
> [2021-11-04T18:43:21,810][INFO ][logstash.javapipeline    ] Pipeline `old` is configured with `pipeline.ecs_compatibility: disabled` setting. All plugins in this pipeline will default to `ecs_compatibility => disabled` unless explicitly configured otherwise.
> [2021-11-04T18:43:21,817][INFO ][logstash.javapipeline    ] Pipeline `new` is configured with `pipeline.ecs_compatibility: v8` setting. All plugins in this pipeline will default to `ecs_compatibility => v8` unless explicitly configured otherwise.
> ~~~

* ecs: make v8 the default for 8.0

* ecs: `pipeline.ecs_compatibility` defaults to `v8`

Related: elastic/logstash#11623

* doc: temporarily remove deep link from breaking changes doc to fix build
2021-11-17 13:17:23 -08:00
Karen Metts
65e163fc5b
Doc: Add breaking changes (#13376)
Co-authored-by: Ry Biesemeyer <yaauie@users.noreply.github.com>
2021-11-16 18:31:49 -05:00
João Duarte
47666a7b73
[DOC] replace references to master branch with main (#13302) 2021-11-08 10:24:18 +00:00
Karen Metts
853323290f
Doc: Update central management license info (#13368) 2021-11-01 12:17:56 -04:00
Rob Bavey
15be7a98c0
Update documentation around JVM usage to reflect changes (#13350)
* Update documentation around JVM usage to reflect changes

For Logstash `8.0`, java 8 will no longer be supported, and the documentation should
reflect that.

Update troubleshooting documentation - changes made in #13349 should remove the warnings
at startup for fresh installs of Logstash, but upgrading may still have the same issues.

Co-authored-by: João Duarte <jsvd@users.noreply.github.com>
Co-authored-by: Karen Metts <35154725+karenzone@users.noreply.github.com>
2021-10-26 14:56:19 -04:00
Ry Biesemeyer
15930ccd3e
Secure API (#13308)
* settings: add "deprecated alias" support

A deprecated alias provides a path for renaming a setting.

 - When a deprecated alias is set on its own, a deprecation notice is emitted
   but fetching the canonical setting value will reflect the value set with the
   deprecated alias.
 - When both the canonical setting (new name) and the deprecated alias (old
   name) are specified, it is an error condition.
 - When the value of the deprecated alias is queried, a warning is emitted to
   the logger and only the value explicitly set to the deprecated alias is
   returned.

Additionally, some relevant cleanup is also included:

 - Starting Logstash with invalid settings no longer results in the obtuse "An
   unexpected error occurred" with backtrace and exception data obscuring the
   issue. Instead, a simple message is emitted indicating that the settings are
   invalid along with the originating exception's message.
 - The various settings implementations share a common logger, instead of each
   implementation class providing its own. This is aimed to reduce noise from
   the logs and to ensure specs validating logging do not need to tie so
   closely to implementation details.

* settings: add password-wrapped setting

* settings: make any setting type capable of being nullable

* settings: add `Settings#names` to power programatic iteration

* cli: route CLI-flag deprecations in to deprecation logger

* settings: group API-related settings under `api.*`

retains deprecated aliases, and is fully backward-compatible.

* webserver: cleanup orphaned attr accessors for never-set ivars

* api: pull settings extraction down from agent

This net-no-change refactor introduces a new method `WebServer#from_settings`
that bridges the gap between Logstash settings and Puma-related options, so
that future additions to the API settings don't add complexity to the Agent.

It also has the benefit of initializing the API Rack App and just ONCE, instead
of once per attempted HTTP port.

* api: add optional TLS/SSL

* docs: reference API security settings

* api: when configured securely, bind to all available interfaces by default

* cleanup: remove unused cert artifacts

* tests: generate fresh webserver certificates

* certs: actually add the binary keystores 🤦
2021-10-19 14:13:20 -07:00
Karen Metts
e5c8e6e3e6
Doc: Add link to pq info from troubleshooting topic (#13320)
Fixes: #13158
Related: #13173
2021-10-15 14:44:35 -04:00
Karen Metts
fc35cba884
Doc: Fix templating error in integration plugin header (#13324) 2021-10-15 13:32:01 -04:00
Karen Metts
904d257cf8
Doc: Expand content for memqueue (#13317)
Co-authored-by: Ry Biesemeyer <ry.biesemeyer@elastic.co>
2021-10-14 19:30:48 -04:00
João Duarte
096eb7ac48
[DOC] Clarify the scope of environment variable expansion (#13299)
Environment variable expansion only works in plugin parameters, not in conditionals.
For more on this limitation see https://github.com/elastic/logstash/issues/5115
2021-10-13 11:17:49 +01:00
Ry Biesemeyer
82081d80d7
Add support for Nanosecond-precision timetamps (#12797)
* add nanoseconds support

Migrates internals of `org.logstash.Timestamp` from legacy `org.joda.time.*`
which is limited to millisecond-precision to modern `java.time.Instant`,
allowing us to retain nanosecond granularity of `@timestamp` values.

Timestamps that are generated by Logstash (such as when creating an event that
does _not_ have a `@timestamp` field) will be generated at the highest precision
available to the JVM and/or platform (in many cases, this is microseconds).

Timestamps that are _parsed_ from user input will capture the entire provided
precision, up to and including nanosecond granularity.

Throughout the flow in the pipeline, including serialization to PQ, DLQ, and
JSON, will retain all available precision.

BREAKING: This produces an effectively-breaking change to the serialization
          format of both the persistent queue (PQ) and dead-letter queue (DLQ),
          as the serialized format this changeset contains a higher granularity
          of timestamp than previous releases of Logstash were capable of
          parsing without error.
          As such, it _MUST NOT_ be back-ported to the 7.x series.
2021-10-11 09:22:33 -07:00
Karen Metts
8a01cf6d19
Doc: Fix list formatting (#13294) 2021-10-07 09:36:31 -04:00