Commit graph

19 commits

Author SHA1 Message Date
Andres Rodriguez
a1166cc9ba
Fix system unit TimeoutStopSec on older version. (#14947)
Fixes the system unit TimeoutStopSec option to set 0 on older version that do not support 'infinity'.
Also handles the upgrade case where the OS may not automatically upgrade the systemd file.
2023-03-31 14:38:11 -04:00
Andres Rodriguez
303fdb0193
Only remove /etc/s/s/logstash.service if previously installed by Logstash (#14200)
During upgrade, Logstash packaging removes /etc/systemd/system/logstash.service because Logstahs used to install the systemd unit there. However, this could have been modified by the user by overriding the systemd file. As such, the upgrade process should only remove if it is certain it wasn't installed by Logstash.

Unfortunately, there's no particular way to determine if Logstash installation process installed the file because it was done on the fly, by a script, on a postinst script of the package.

As such, the best way to address this is to check if both the new and the old file exists. If the new one doesn't exist, we can assume we are upgrading (or installing afresh), and the old file should be removed. If the new one exists and the user-create one (old location) also exists, we assume it is user created, and as such, we don't remove it just to be safe.
2022-06-24 10:56:07 -04:00
Andres Rodriguez
38fbe5aa0f
Remove pleaserun (via bin/system-install) usage (#12415)
This change removes the usage of 'pleaserun', which
was leveraged create the init.d scripts or systemd units.

Now, we ship init.d scripts and systemd units to make
the maintenance easier and following the lead of the
other Elastic projects.

Fixes: #10519, Fixes: #12439, Fixes: #8253
2022-03-10 12:11:41 -05:00
Andres Rodriguez
c4cb8f4f12
Set correct permissions for /usr/share/logstash on pkg installs (#12782)
This PR sets correct ownership of /usr/share/logstash on DEB & RPM installs, following FHS guidelines.

Closes: #12771
2021-03-31 12:21:48 -04:00
Jake Landis
9841f7bf67 Ensure that environment variables are only accessible to be read root
Part of #8735

Fixes #9006
2018-01-24 16:43:37 +00:00
Jordan Sissel
e120906673 Use multiple pipelines feature by default in RPM and Debian packages.
This change keeps the previous behavior but implements it using multiple
pipelines (pipelines.yml) instead of with `path.config`.

* The default pipeline name is still "main"
* Default config path is still /etc/logstash/conf.d/*.conf

Other small changes included:
* Specify fpm workdir. Otherwise rpmbuild is given an empty value for
  its temporary directory. It's unclear if this is a bug in fpm or in my
  environment, but I like the change anyway to put fpm's build activity
  in the build directory.
* DRY's up the common files going in /etc/logstash for both rpm and deb
  packages.

For #8893

Fixes #8894
2018-01-10 19:04:38 +00:00
Suyog Rao
cfecf81091 Only glob *.conf by default in conf.d folder (#7130)
* Only glob *.conf by default in conf.d folder

Fixes #6979, Fixes #1831
2017-05-19 11:26:10 -07:00
Suyog Rao
f3f3e14432 Remove logrotate references since it's not used
Fixes #6028

Fixes #6029
2016-10-11 16:01:43 -04:00
Tal Levy
61ebeb0b4b update path.log to path.logs directory, and respect it in log4j2
Fixes #5876
2016-09-08 18:06:30 -04:00
Daniel Riegel
f8739018ab Update after-install.sh - fix log file permissions (#5737)
Update after-install.sh - fix log file permissions

When installing Logstash (after previous removal of the Logstash RPM), there is a chance that there are old log files without proper owner.
Running Logstash as service, it may want to append data to these log files. Consequently, the logstash service does not start because it doesn't have write permissions to that files. This patch sets the (new) user logstash to own these historic files.
2016-08-09 08:27:05 -07:00
Joao Duarte
c0c9a3babc add data.path setting
Fixes #5528
2016-06-24 07:32:25 -04:00
Aaron Mildenstein
58b1c5386a 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
e40ecbb6b8 Update existing packaging to use /usr/lib/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

Fixes #5341
2016-05-25 17:25:26 +00:00
Aaron Mildenstein
65a5996187 Fix logrotate file perms for Debian systems
In some cases it seems that the file permissions for the logrotate
configuration file are not set properly. This should address those
cases.

Fixes #4136
2015-11-04 17:29:02 +00:00
Zhanpeng Chen
40665f02d6 fix nologin path
Fixes #2283
2015-01-05 22:55:02 +00:00
Faye Salwin
3537c6b847 Tarball packages. Homogenized init. Common defaults. 2014-02-24 14:21:01 -08:00
Hans-Christian Otto
a55a524864 Created symlink for /var/lib/logstash/logstash.jar
The puppet manifests expect it here. If you'd prefer that, i could also change it in the puppet manifests.
2013-08-26 17:35:10 +02:00
Tray Torrance
8925b68082 Various fixes to generated .deb packages
This resolves a few inconsistencies and issues in the generated packages
for Debian/Ubuntu:

  * Creates /etc/logstash/conf.d
  * Installs a basic defaults file in /etc/default/logstash (which also sets HOME)
  * Stops creating /var/run/logstash (unused)
  * Uses /var/lib/logstash as the home directory of the logstash user instead of /home/logstash
  * Defaults package files to be owned by root, fixes ownership in post-install script
  * Properly stops service when removing the package on Debian

The end result is that after installing, LogStash will pretty much "just
work" with only 2 changes:

1) Enable START=yes in /etc/default/logstash
2) Provide a config for the LogStash agent
2013-08-14 16:03:19 -07:00
Jordan Sissel
9011562a97 - more scripts 2013-04-15 22:14:34 -07:00