Commit graph

170 commits

Author SHA1 Message Date
Suyog Rao
e583cffed9 bump version to 5.3.3 (#7171) 2017-05-19 14:23:36 -07:00
Suyog Rao
af4e958f04 Update lock file for 5.3.0 (#6772) 2017-03-01 08:53:10 -08:00
Joao Duarte
c4e505853e make dissect filter a default plugin
Fixes #6729 Fixes #6629
2017-02-18 11:55:12 -08:00
Aaron Mildenstein
6a71c89150 Update pleaserun and system-install
This will now put ENV variables from the `startup.options` file into `/etc/default/logstash` or `/etc/sysconfig/logstash` (or whatever service name you chose), and use the updated pleaserun to ensure these are honored at start time for whichever init system you use (systemd, upstart, SysV).

fixes #6482
2017-02-09 10:26:06 -07:00
Suyog Rao
530c5fc43d Bump to v5.5 (#6670)
* Bump to v5.5
2017-02-08 19:38:07 -08:00
Pier-Hugues Pellerin
1b812af23c Add bin/logstash-plugin prepare-offline-pack command
This new command replace the old workflow of `pack`, `unpack` and the `install --local`, and wrap all the logic into one uniform way of installing plugins.
The work is based on the flow developed for installing an x-pack inside Logstash, when you call prepare-offline-pack, the specified plugins and their dependencies will be packaged in a zip.
And this zip can be installed with the same flow as the pack.

Definition:

Source Logstash: Where you run the prepare-offline-pack.
Target Logstash: Where you install the offline package.

PROS:
- If you install a .gem in the source logstash, the .gem and his dependencies will be bundled.
- The install flow doesn't need to have access to the internet.
- Nothing special need to be setup in the target logstash environment.

CONS:
- The is one minor drawback, the plugins need to have their JARS bundled with them for this flow to work, this is currently the case for all the official plugins.
- The source Logstash need to have access to the internet when you install plugins before packaging them.

Usage examples:
bin/logstash-plugin prepare-offline-pack logstash-input-beats
bin/logstash-plugin prepare-offline-pack logstash-filter-jdbc logstash-input-beats
bin/logstash-plugin prepare-offline-pack logstash-filter-*
bin/logstash-plugin prepare-offline-pack logstash-filter-* logstash-input-beats

How to install:
bin/logstash-plugin install file:///tmp/logstash-offline-plugins-XXXX.zip

Fixes #6404
2017-01-03 13:59:51 -05:00
Suyog Rao
666fab2b0e Undo gemfile changes
Fixes #6367
2016-12-13 00:59:24 -05:00
Suyog Rao
678ebd1efc Add reload stats at the instance level
Reload stats are currently reported at the pipeline level. The instance
level aggregates these stats across the pipelines

Fixes #6350

Fixes #6367
2016-12-13 00:59:24 -05:00
Pier-Hugues Pellerin
fe8c438b24 Logstash-docgen tool v2
**Motivation**: We have decided to rewrite the documentation generator to add more features
to our documentation and to fix some outstanding bugs.

This PR addresses the following problem:
- Hard to add new features to the code base.
- The code was tied with Logstash.
- No easy way to publish the doc for a single plugin
- The plugin author was not able to test their documentation changes
- The reported errors were hard to understand.
- No easy way to automate it.
- the minimal requirement on base classes.

Fixes #5720
2016-11-30 19:57:40 -05:00
Joao Duarte
3b82211e0c update version to 5.2.0
Fixes #6294
2016-11-24 06:01:29 -05:00
Pier-Hugues Pellerin
00e225a849 Feature: A way to install/remove a plugin pack
A pack in this context is a *bundle* of plugins that can be distributed outside of rubygems; it is similar to what ES and kibana are doing, and
the user interface is modeled after them. See https://www.elastic.co/downloads/x-pack

**Do not mix it with the `bin/logstash-plugin pack/unpack` command.**

- it contains one or more plugins that need to be installed
- it is self-contains with the gems and the needed jars
- it is distributed as a zip file
- the file structure needs to follow some rules.

- As a reserved name name on elastic.co download http server
    - `bin/plugin install logstash-mypack` will check on the download server if a pack for the current specific logstash version exist and it will be downloaded, if it doesn't exist we fallback on rubygems.
    - The file on the server will follow this convention `logstash-mypack-{LOGSTASH_VERSION}.zip`

- As a fully qualified url
    - `bin/plugin install http://test.abc/logstash-mypack.zip`, if it exists it will be downloaded and installed if it does not we raise an error.

- As a local file
    - `bin/plugin install file:///tmp/logstash-mypack.zip`, if it exists it will be installed

Fixes #6168
2016-11-17 14:00:02 -05:00
Suyog Rao
e2c84056a0 Add cef codec to default plugins
Fixes #6270
2016-11-17 13:26:47 -05:00
Jordan Sissel
ee822debf3 Use to pleaserun 0.0.27 or newer
Fixes #6208
2016-11-07 16:58:00 -05:00
Colin Surprenant
ab05082a89 merge feature/java_persistence into 5.x 2016-10-31 17:03:40 -04:00
Suyog Rao
58ae7637bb Add back docker-api to fix test failure 2016-10-04 00:11:37 +02:00
Suyog Rao
503ee89a71 Pin terms-ansicolor the right way
Fixes #5992
2016-10-03 17:56:18 -04:00
Pier-Hugues Pellerin
4502144d81 Update Logstash 5 to the latest input beats 3.1.4 (#5925)
The B1 internal releases contained an old version of the beats input which didn't
work well with the private keys, this PR make sure we use the latest version 3.1.4 in the 5.0 and 5.X branches

Fixes: https://github.com/logstash-plugins/logstash-input-beats/issues/129
2016-09-15 09:56:36 -07:00
Joao Duarte
88ba046bf7 bump dependency of devutils to ~> 1.1
Fixes #5891
2016-09-13 10:37:46 -04:00
Suyog Rao
8728ecf816 5.0 -- Bump to beats input beta4 version (#5711) 2016-07-29 09:57:38 -07:00
Suyog Rao
244e88ae25 Bump version to 5.0.0-alpha5 (#5698) 2016-07-27 11:32:01 -07:00
Joao Duarte
1ed6b76b4d pin major versions of default plugins in Gemfile
Fixes #5535
2016-07-05 15:16:54 -04:00
Joao Duarte
fa0eeb579f add single command release task and other release support tooling
Purpose:

* manage releases through a minimum number of rake tasks
* simplify building of snapshot builds
* create staged artifacts, candidates for releases, that required no changes to become releases
* this means the snapshot release process will not involve publishing gems, therefore:
* the gem artifacts should only be published to rubygems as a final artifact, at the time of GA

Changes:

* release artifacts no longer depend on gems of core components
* all core components are used locally AS-IS to minimize code changes between snapshot, RC and GA
* `versions.yml` describes the versions of all logstash parts and package
  * `rake version:set[version]` manage the yaml file and push the changes to the gemspecs/version.rb files
  * `rake version:set_plugin_api[version]` manage the yaml file and push the changes to the gemspecs/version.rb files
  * `rake artifact:all` generates SNAPSHOT artifacts: tar.gz, zip, rpm, deb
  * `RELEASE=1 rake artifact:all` creates release candidate artifacts + 4 gems: logstash-core, logstash-core-event, logstash-core-event-java and logstash-core-plugin-api

implements #5416 and #5414

Fixes #5460
2016-06-21 12:29:18 +01:00
Suyog Rao
6f64b7031d Release 5.0.0-alpha3.snapshot3 (#5519) 2016-06-17 12:57:52 -07:00
Suyog Rao
f5d6942daa Release 5.0.0-alpha4.snapshot2 (#5505) 2016-06-15 13:47:32 -07:00
Suyog Rao
45ee712ac3 Release 5.0.0-alpha4.snapshot1 (#5441) 2016-06-03 10:47:10 +02:00
Suyog Rao
68bf39e659 Release 5.0.0-alpha3 gems and lock file (#5394) 2016-05-31 12:05:53 +02:00
Suyog Rao
9764584698 Release 5.0.0.alpha3 RC8 (#5386) 2016-05-29 21:15:41 +02:00
Suyog Rao
4bd26f2c53 Release 5.0.0-alpha3.snpashot5 (#5368) 2016-05-26 15:02:51 -07:00
Suyog Rao
03ece707c7 Release 5.0.0-alpha3 snapshot4 (#5360) 2016-05-26 07:56:11 -07: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
Colin Surprenant
537d6a2780 refactor Ruby Event getter and setter
refactor wip gemfiles

refactor Java Event getter and setter

bump plugin-api to 2.0

use plugin-api 2.0

switch to core-event-java

include logstash-core-event-java.jar jar file so that gem dependency using the source tree work

updated core plugins to core-api 2.0

added grok for refactor branch

fix rebased specs

remove temp plugins github paths

remove commented out tmp alias_method
2016-05-06 13:47:03 -04:00
Suyog Rao
59e113c852 Release 5.0 alpha2 (#5233)
* Release 5.0.0-alpha2
2016-05-02 11:15:16 -07:00
Suyog Rao
a8380099e4 Release 5.0.0-alpha2 snapshot2 (#5225)
* Release 5.0.0-alpha2 snapshot2 release
2016-04-29 10:21:09 -07:00
Suyog Rao
99daeffac5 Added back Kafka beta pinned versions 2016-04-26 14:07:59 -07:00
Suyog Rao
0fbded8e43 Release alpha2 snapshot1 2016-04-26 13:04:41 -07:00
Pier-Hugues Pellerin
3f3a202d92 Gemfile + lock file for 5.0.0.alpha1
Fixes #5019
2016-04-05 14:26:21 +00:00
Pier-Hugues Pellerin
0f5089d1f0 Logstash 5.0.0 alpha1
Fixes #5011
2016-04-05 14:08:06 +00:00
Pier-Hugues Pellerin
ea7ec090c8 preps for 5.0.0-alpha1.snapshot2
Fixes #5006
2016-04-04 21:45:38 +00:00
Suyog Rao
46d2297785 Add Kafka beta version to 5.0.0-alpha1 package
Fixes #4941
2016-04-01 14:36:58 +00:00
Pier-Hugues Pellerin
4977b82bc4 Make sure the gemfile has the rack/test dep
Fixes #4934
2016-03-30 19:16:12 +00:00
Suyog Rao
318f07e5fc Bump version to 5.0.0-alpha1.snapshot1 2016-03-29 18:21:51 -07:00
Pier-Hugues Pellerin
48bfff31db Create a virtual gem to handler the plugin dependency on core
We have decided to create a gem that the plugins can depend on to make
sure they use the correct core, with that in mind this will reduce the
mass update required when releasing a major release of logstash if the
contract between logstash and the plugin didnt change. The first version
of this gem act as a virtual gem, future release will include the actual
plugins code of the contract.

This gem should follow the same convention as semver, a breaking change
in the api will mean a bump in the major version.  Plugins author are
encouraged to test their plugins with a specific version of the contract
and define their dependency as the following:

```
  s.add_runtime_dependency "logstash-core-plugin-api", "~> 2.0"
```

This PR also introduce rake task to help managing this gem, since every
release of logstash will produce a new version of this gem with the
minor version bump. A **logstash-core-plugin-api** will declare a strict
dependency on a specific **logstash-core** version, like this:

```
  s.add_runtime_dependency "logstash-core", "2.3.0"
```

On the other hand each release of logtash will also declare a strict
dependency on a specific version of the `logstash-core-plugin-api` gem.

ref #4829

Fixes #4866
2016-03-23 20:09:32 +00:00
Pere Urbon-Bayes
b6dde59d44 add back the commented out logstash core event
Fixes #4676

Fixes #4653
2016-02-12 19:00:11 +00:00
Pere Urbon-Bayes
23dcf467e4 This make all designed resources for the metrics api available, this follows the initial sketches created in #4446.
As discussed in this adds:

/
/_node/hot_threads
/_node/stats/
/_node/stats/events
/_node/stats/jvm
/_stats/jvm

introduces also small refactors and cleanup necessary to improve the
webapi code quality.

adds also a way to handle references from the webapi to the internals of
logstash by passing the agent refrences to the collector, this is not
perfect, but for now it solve the communication situation until furder
refactor.

Fixes #4652

Fixes #4653
2016-02-12 19:00:10 +00:00
Pier-Hugues Pellerin
a04da0f76d Collecting Logstash metrics at runtime
This commit introduce the collection of the main metrics inside the
logstash pipeline and records it to the metric store. This code is also
the initial stone to define an internal metric api.

Collected metrics from the pipeline and system will be exposed by the web
api.

This work was done in collaboration by @ph and @purbon, commits were
squashed to simplify the merging process.

Fixes #4653
2016-02-12 19:00:09 +00:00
Colin Surprenant
5a522a0037 code cleanups and integration work for defaulting to Java Event implementation
cleaned dependencies, removed Guava code

default to java event

also compile java event

use json-unit for json result assertions

remove Java 8 specific constructs to be able to compile on Java 7

use jar-dependencies

better jar file loading

copy jar into lib after build

add post-build copy and clean of gem jar and re-indented file

fix jar destination

include generated jar in gem

remove useless ArrayList constructions

add tests for KeyNode.join method

remove useless  shadow and disable unchecked warnings

update gradle dependency to 2.8

fix deprecated asserEquals usage

simplify convoluted list contruction

fix array fields nil values handling

moar nil value tests

simplify for loop
2016-01-26 12:39:35 -05:00
Andrew Cholakian
68e0d5c126 Revert accidentally altered Gemfiles in ng_pipeline
Fixes #4354
2015-12-15 19:40:21 +00:00
Andrew Cholakian
028576ba6f Next generation pipeline
Fixes #4340
2015-12-15 18:51:45 +00:00
Colin Surprenant
d74d41cb30 logstash-core & logstash-core-event extraction to support logstash-core-event-java impl, relates to #4191
fixed timezone issue

extracted logstash-core and reorganized specs

extracted logstash-core-event

extract java Event into logstash-core-event-java in a proper gem

remove obsolete jruby_event bootstrapping

fix require path

add java code bootstrap

use logstash-core-event/logstash-core-event.rb

remove obsolete files

basic instructions

LogStash::Json need to be initialized from event

update jruby and gradle versions

update compile:logstash-core-event-java rake task

WIP tasks refactor

fix gem.files

skip test if class is not defined

fix gem related tasks for new structure

add gem spec dirs in core tests

bootstrap java implementation when requiring timestamp

new Cloner class and Event clone impl

fix array fields assignments, see #4140

don't rely on json implementation ordering

fix skipped last iterpolation char

remove implementation specific unnecessary check

also require ruby classes

define error class in ruby

raise exception on invalid format

remove implementation specific tests and extract and put logger related test in pending

missing bits for having all core timestamp specs pass

run all core specs

remove leftover

comment regex

missing encoding header

revert to logstash-core-event by default

finished proper gemification

useless require

dynamically pick specs depending on logstash-core-event-* implementation

logstash root package version

missing file for proper gemification

do not build java event by default

always check for root logstash lib dir

fix concurrent-ruby version confict

fix rebase conflict

re-enable specs

user vars instead of constants

move non core code in bootstrap

document version files

move version file

remove useless code

use version in logstash-core

fix gem files list

put back concurrent-ruby version constrain as in master

add dependency on logstash-core-event

remove dependency on logstash-core to avoid circular dependency

fix rebase conflict

remove circular dependency

fix specs

update README
2015-11-16 16:40:19 -05:00
Pier-Hugues Pellerin
2e2b96f867 Fix tins to 1.6
The 1.6 releases is the latest release to support ruby 1.9
Fixes: #4163

Fixes #4164
2015-11-11 20:03:52 +00:00