["appendix",role="exclude",id="redirects"] = Deleted pages The following pages have moved or been deleted. // MULTILINE FILTER [role="exclude",id="plugins-filters-multiline"] === Multiline filter plugin The <> replaces the multiline filter plugin. The multiline codec is better equipped to handle multi-worker pipelines and threading. Here's why. Multiline takes individual lines of text and groups them according to some criteria. Accomplishing this operation in the filter stage is possible only if the pipeline has a single worker. Otherwise, chunks would end up in different workers, and the resulting composition would not make sense. The <> allows input plugins to create separate codec instances per “identity.” For example, each file or tcp connection can have its own codec instance. [role="exclude",id="alt-fb"] ==== {filebeat} modules If your use case involves reading files that contain multiline entries, {filebeat-ref}[{filebeat}] might be a better option. {filebeat} offers {filebeat-ref}/filebeat-modules.html[modules] for processing logs from many known apps, such as nginx or apache. // HOMEBREW INSTALL [role="exclude",id="brew"] === Homebrew (MacOS) for Logstash As of Logstash 8.0, Elastic no longer maintains a homebrew cask containing formulae for installing the Elastic-licensed distribution of Logstash. If you want to run the full distribution of Logstash on a Mac, you are encouraged to <>. You can still install the Apache-licensed OSS distribution with homebrew using the formulae maintained by Homebrew. [role="exclude",id="brew-start"] ==== Homebrew for Logstash As of Logstash 8.0, Elastic no longer maintains a Homebrew cask containing formulae for installing the Elastic-licensed distribution of Logstash. If you want to run the full distribution of Logstash on a Mac, you are encouraged to <>. // UPGRADE FROM OLDER VERSIONS [role="exclude",id="upgrading-logstash-pqs"] === Upgrading with the Persistent Queue enabled If you have the persistent queue (PQ) enabled, please read the section that applies for your upgrade scenario. * If you are upgrading from version 6.2.x or earlier, we recommend that you <> before you upgrade. * If you are upgrading from version 6.3.0 or later, see <> for information. [role="exclude",id="drain-pq"] [float] ==== Drain the Persistent Queue (version 6.2.x and earlier) The following applies only if you are upgrading from Logstash version 6.2.x or earlier with the persistent queue (PQ) enabled. We strive to maintain backward compatibility within a given major release. Serialization issues in Logstash 6.2.x and earlier required us to break that compatibility in version 6.3.0 to ensure correctness of operation. For more technical details, please check our tracking github issue for this matter, https://github.com/elastic/logstash/issues/9494[#9494]. We strongly recommend that you drain or delete the persistent queue before you upgrade from version 6.2.x and earlier. To drain the queue: . In the logstash.yml file, set `queue.drain: true`. . Restart Logstash for this setting to take effect. . Shutdown Logstash (using CTRL+C or SIGTERM), and wait for the queue to empty. When the queue is empty: . Complete the upgrade. . Restart Logstash. We have resolved issues with data incompatibilities for version 6.3 and later. These steps won’t be required for future upgrades. [float] [role="exclude",id="upgrading-logstash-pqs-6.3"] ==== Upgrading from version 6.3 (and later) with Persistent Queues enabled Upgrading Logstash with persistent queues enabled is supported. The persistent queue directory is self-contained and can be read by a new Logstash instance running the same pipeline. You can safely shut down the original Logstash instance, spin up a new instance, and set `path.queue` in the `logstash.yml` <> to point to the original queue directory. You can also use a mounted drive to make this workflow easier. Keep in mind that only one Logstash instance can write to `path.queue`. You cannot have the original instance and the new instance writing to the queue at the same time. [role="exclude",id="glossary"] === Glossary of Terms This content has moved. Refer to {glossary}/terms.html[Terminology].