Commit graph

1389 commits

Author SHA1 Message Date
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
Karen Metts
3314f2fbdf
Doc: Rework PQ content (#13173)
Co-authored-by: Rob Bavey <rob.bavey@elastic.co>
2021-10-06 18:46:27 -04:00
Karen Metts
1299f336d9
Doc: Remove outdated info and folder (#13259) 2021-10-06 11:56:50 -04:00
Karen Metts
44ea102a7e
Doc: Add topic and expand info for in-memory queue (#13246)
Co-authored-by: Rob Bavey <rob.bavey@elastic.co>
2021-10-05 18:12:02 -04:00
Karen Metts
2d8abc4597
Doc: Add shared attribute for messaging ecs default info (#13083)
Co-authored-by: Ry Biesemeyer <yaauie@users.noreply.github.com>
2021-10-01 13:15:44 -04:00
Karen Metts
37e1db0c12
Doc: Add note and example for date math in conditionals (#13199)
Co-authored-by: Rob Bavey <rob.bavey@elastic.co>
2021-09-21 15:09:15 -04:00
Rob Bavey
642875d705
[Docs] Remove outdated roadmap content (#13233) 2021-09-16 13:00:11 -04:00
Logstash Machine
0ce03de17f
Release notes for 8.0.0-alpha2 (#13228)
Co-authored-by: Rob Bavey <rob.bavey@elastic.co>
Co-authored-by: lcawl <lcawley@elastic.co>
Co-authored-by: Karen Metts <35154725+karenzone@users.noreply.github.com>
2021-09-15 20:52:16 -04:00
Andrea Selva
d51afe54d5
Removed JAVA_HOME using only LS_JAVA_HOME (#13214)
Removes the usage of JAVA_HOME completely which is not anymore used for JDK path resolution.

Updated all the Logstash launching scripts to use only LS_JAVA_HOME as environment variable to
determine the JDK to use to launch Logstash. JAVA_HOME is abandoned for this job.
2021-09-15 09:29:07 +02:00
Andrea Selva
3ffdb99119
Deprecate JAVA_HOME preferring LS_JAVA_HOME (#13207)
Adds print of deprecation notices on stdout when Logstash is starting with JAVA_HOME instead of LS_JAVA_HOME
2021-09-08 11:06:53 +02:00
Andrea Selva
979ea21c5e
Introduce LS_JAVA_HOME environment variable (#13204)
This commit modifies the launch scripts to take care of the LS_JAVA_HOME giving precedence over the JAVA_HOME, which is still used it the first is not found.
2021-09-06 10:22:51 +02:00
Mat Schaffer
8073b0c35e
Add beta tag to pipeline viewer docs (#13167) 2021-09-06 10:31:31 +09:00
Rob Bavey
4707cbd94c
Bundler: freeze lockfile on run, and "normalize" platform on plugin changes (#13015)
This PR enables the upgrade of bundler to the latest version.

Prior to this PR, the ability to do so was blocked by bundler.setup in versions of bundler > `2.23` making runtime changes to `Gemfile.lock` (unless the lock file was `frozen`) based on the specific platform the application was being run on, overriding any platforms (including generic `java` platform) set during build time. This was in conflict with changes made in #12782, which prevented the logstash user writing to files in `/usr/share/logstash`.

This PR will freeze the lockfile when logstash is run, and unfreeze it when manipulating plugins (install, update, remove, install from offline pack) to allow new plugins to be added. While unfrozen, changes are also made to ensure that the platform list remains as the generic `java` platform, and not changed to the specific platform for the runtime JVM.

This PR also introduces a new runtime flag, `--enable-local-plugin-development`. This flag is intended for use by Logstash developers only, and enables a mode of operation where a Gemfile can be manipulated, eg

```
gem "logstash-integration-kafka", :path => '/users/developer/code/plugins/logstash-integration-kafka'
```

to facilitate quick and simple plugin testing.

This PR also sets the `silence_root_warning` flag to avoid bundler printing out alarming looking warning messages when `sudo` is used. This warning message was concerning for users - it would be printed out during normal operation of `bin/logstash-plugin install/update/remove` when run under `sudo`, which is the expected mode of operation when logstash is installed to run as a service via rpm/deb packages. 

This PR also updates the vagrant based integration tests to ensure that Logstash still runs after plugin update/install/remove operations, fixes up some regular expressions that would cause test failures, and removes some dead code from tests.

## Release notes

* Updated Bundler to latest version
* Ensured that `Gemfile.lock` are appropriately frozen
* Added new developer-only flag to facilitate local plugin development to allow unfrozen lockfile in a development environment
2021-08-17 09:35:30 -04:00
Karen Metts
771844c070
Doc: Move shared region tags for breaking changes to 8.0.0 content (#13131) 2021-08-16 19:14:22 -04:00
Karen Metts
b7416cad37
Doc: Add breaking changes to breaking changes page (#13130)
Adds breaking changes noted in 8.0.0-alpha1 release notes to breaking changes page
Updates [float] tags to [discrete]
2021-08-13 11:02:18 -04:00
Logstash Machine
c679de1542
Release notes draft for 8.0.0-alpha1 (#13098)
Co-authored-by: Jenkins CI <jenkins@logstash-ci-immutable-fedora-32-1626957762752525520.c.elastic-ci-prod.internal>
Co-authored-by: andsel <selva.andre@gmail.com>
Co-authored-by: Karen Metts <karen.metts@elastic.co>
2021-08-03 13:46:32 -04:00
Karen Metts
f0504588df
Doc: Enhance and expand DLQ docs (#12959)
Fixes: #12923
Related: #10493
2021-07-22 16:13:23 -04:00
Karen Metts
426e883f11
Doc:Fix typo and adjust keystore text (#12779) 2021-07-20 18:14:12 -04:00