mirror of
https://github.com/elastic/logstash.git
synced 2025-04-24 06:37:19 -04:00
- rename plugin status "unstable" to "beta" so as to imply less in the
word alone.
This commit is contained in:
parent
bcad82f033
commit
e017087e8f
37 changed files with 66 additions and 46 deletions
|
@ -4,20 +4,40 @@ layout: content_right
|
|||
---
|
||||
# Plugin Status
|
||||
|
||||
Plugins (inputs/outputs/filters) have a status in logstash. This is to provide an indicator to the end-user as to the 'state' of the plugin.
|
||||
Plugins (inputs/outputs/filters) have a status in logstash. This is to provide
|
||||
an indicator to the end-user as to the 'state' of the plugin.
|
||||
|
||||
Terminology is still being worked out but there are three general states - experimental, unstable, stable.
|
||||
Terminology is still being worked out but there are three general states -
|
||||
experimental, beta, stable.
|
||||
|
||||
The desire here is to allow people to quickly iterate on possible new plugins while conveying to the end-user a set of expectations about that plugin. This allows you to make more informed decisions about when and where to use the functionality provided by the new plugin.
|
||||
The desire here is to allow people to quickly iterate on possible new plugins
|
||||
while conveying to the end-user a set of expectations about that plugin. This
|
||||
allows you to make more informed decisions about when and where to use the
|
||||
functionality provided by the new plugin.
|
||||
|
||||
## Experimental
|
||||
When a plugin is in the `experimental` state, it is essentially untested. This does not mean that it does not have any associated unit tests. This applies more to in-the-wild usage. Most new plugins will probably fit in this category. There is a chance that experimental plugins may be removed at some point. It is possible that an experimental plugin will be broken mid-release.
|
||||
|
||||
## Unstable
|
||||
Unstable plugins are plugins that are in the process of being stabalized into a final form. Unstable plugins will have a bit more wide-spread usage in the community. The API for these plugins has stabilized and is unlikely to change mid-release. Test cases may or may not exist.
|
||||
When a plugin is in the `experimental` state, it is essentially untested. This
|
||||
does not mean that it does not have any associated unit tests. This applies
|
||||
more to in-the-wild usage. Most new plugins will probably fit in this category.
|
||||
There is a chance that experimental plugins may be removed at some point. It is
|
||||
possible that an experimental plugin will be broken mid-release.
|
||||
|
||||
## Beta
|
||||
|
||||
Beta plugins are plugins that are in the process of being stabalized into a
|
||||
final form. Beta plugins will have a bit more wide-spread usage in the
|
||||
community. The API for these plugins has stabilized and is unlikely to change
|
||||
mid-release. Test cases may or may not exist.
|
||||
|
||||
## Stable
|
||||
Stable plugins are plugins that you can comfortably rely on in production. These have full test cases.
|
||||
|
||||
Stable plugins are plugins that you can comfortably rely on in production.
|
||||
These have full test cases.
|
||||
|
||||
# A note about output plugins
|
||||
It's worth reminding users that `output` plugins are currently blocking. If any output plugin fails, all output plugins are blocked. Please keep this in mind when using experimental output plugins as it could cause unintended side-effects.
|
||||
|
||||
It's worth reminding users that `output` plugins are currently blocking (by
|
||||
design). If any output plugin fails, all output plugins are blocked. Please
|
||||
keep this in mind when using experimental output plugins as it could cause
|
||||
unintended side-effects.
|
||||
|
|
|
@ -176,10 +176,10 @@ module LogStash::Config::Mixin
|
|||
case @plugin_status
|
||||
when "experimental"
|
||||
@logger.warn("Using experimental plugin #{@config_name}. This plugin is untested. Use at your own risk. #{docmsg}")
|
||||
when "unstable"
|
||||
@logger.info("Using unstable plugin #{@config_name}. #{docmsg}")
|
||||
when "beta"
|
||||
@logger.info("Using beta plugin #{@config_name}. #{docmsg}")
|
||||
when "stable"
|
||||
# This is cool.
|
||||
# This is cool. Nothing worth logging.
|
||||
when nil
|
||||
raise "#{@config_name} must set a plugin_status. #{docmsg}"
|
||||
else
|
||||
|
|
|
@ -21,7 +21,7 @@ require "logstash/time"
|
|||
class LogStash::Filters::Date < LogStash::Filters::Base
|
||||
|
||||
config_name "date"
|
||||
plugin_status "unstable"
|
||||
plugin_status "beta"
|
||||
|
||||
# Config for date is:
|
||||
# fieldname => dateformat
|
||||
|
|
|
@ -30,7 +30,7 @@ require "logstash/namespace"
|
|||
class LogStash::Filters::DNS < LogStash::Filters::Base
|
||||
|
||||
config_name "dns"
|
||||
plugin_status "unstable"
|
||||
plugin_status "beta"
|
||||
|
||||
# Reverse resolve one or more fields.
|
||||
config :reverse, :validate => :array
|
||||
|
|
|
@ -5,7 +5,7 @@ require "logstash/namespace"
|
|||
# corresponding GELF levels.
|
||||
class LogStash::Filters::Gelfify < LogStash::Filters::Base
|
||||
config_name "gelfify"
|
||||
plugin_status "unstable"
|
||||
plugin_status "beta"
|
||||
|
||||
SYSLOG_LEVEL_MAP = {
|
||||
0 => 3, # Emergency => FATAL
|
||||
|
|
|
@ -9,7 +9,7 @@ require "logstash/namespace"
|
|||
class LogStash::Filters::Grep < LogStash::Filters::Base
|
||||
|
||||
config_name "grep"
|
||||
plugin_status "unstable"
|
||||
plugin_status "beta"
|
||||
|
||||
# Drop events that don't match
|
||||
#
|
||||
|
|
|
@ -11,7 +11,7 @@ require "set"
|
|||
# your own trivially. (See the patterns_dir setting)
|
||||
class LogStash::Filters::Grok < LogStash::Filters::Base
|
||||
config_name "grok"
|
||||
plugin_status "unstable"
|
||||
plugin_status "beta"
|
||||
|
||||
# Specify a pattern to parse with. This will match the '@message' field.
|
||||
#
|
||||
|
|
|
@ -6,7 +6,7 @@ require "logstash/namespace"
|
|||
class LogStash::Filters::Json < LogStash::Filters::Base
|
||||
|
||||
config_name "json"
|
||||
plugin_status "unstable"
|
||||
plugin_status "beta"
|
||||
|
||||
# Config for json is:
|
||||
# source: dest
|
||||
|
|
|
@ -61,7 +61,7 @@ require "logstash/namespace"
|
|||
class LogStash::Filters::Multiline < LogStash::Filters::Base
|
||||
|
||||
config_name "multiline"
|
||||
plugin_status "unstable"
|
||||
plugin_status "beta"
|
||||
|
||||
# The regular expression to match
|
||||
config :pattern, :validate => :string, :require => true
|
||||
|
|
|
@ -8,7 +8,7 @@ require "logstash/time"
|
|||
# TODO(sissel): Support regexp replacements like String#gsub ?
|
||||
class LogStash::Filters::Mutate < LogStash::Filters::Base
|
||||
config_name "mutate"
|
||||
plugin_status "unstable"
|
||||
plugin_status "beta"
|
||||
|
||||
# Rename one or more fields.
|
||||
config :rename, :validate => :hash
|
||||
|
|
|
@ -13,7 +13,7 @@ require "logstash/time"
|
|||
class LogStash::Filters::Split < LogStash::Filters::Base
|
||||
|
||||
config_name "split"
|
||||
plugin_status "unstable"
|
||||
plugin_status "beta"
|
||||
|
||||
# The string to split on. This is usually a line terminator, but can be any
|
||||
# string.
|
||||
|
|
|
@ -12,7 +12,7 @@ require "logstash/namespace"
|
|||
class LogStash::Inputs::Amqp < LogStash::Inputs::Base
|
||||
|
||||
config_name "amqp"
|
||||
plugin_status "unstable"
|
||||
plugin_status "beta"
|
||||
|
||||
# Your amqp server address
|
||||
config :host, :validate => :string, :required => true
|
||||
|
|
|
@ -15,7 +15,7 @@ require "socket" # for Socket.gethostname
|
|||
class LogStash::Inputs::Exec < LogStash::Inputs::Base
|
||||
|
||||
config_name "exec"
|
||||
plugin_status "unstable"
|
||||
plugin_status "beta"
|
||||
|
||||
# Set this to true to enable debugging on an input.
|
||||
config :debug, :validate => :boolean, :default => false
|
||||
|
|
|
@ -11,7 +11,7 @@ require "socket" # for Socket.gethostname
|
|||
# is detected and handled by this input.
|
||||
class LogStash::Inputs::File < LogStash::Inputs::Base
|
||||
config_name "file"
|
||||
plugin_status "unstable"
|
||||
plugin_status "beta"
|
||||
|
||||
# The path to the file to use as an input.
|
||||
# You can use globs here, such as "/var/log/*.log"
|
||||
|
|
|
@ -13,7 +13,7 @@ require "socket"
|
|||
#
|
||||
class LogStash::Inputs::Gelf < LogStash::Inputs::Base
|
||||
config_name "gelf"
|
||||
plugin_status "unstable"
|
||||
plugin_status "beta"
|
||||
|
||||
# The address to listen on
|
||||
config :host, :validate => :string, :default => "0.0.0.0"
|
||||
|
|
|
@ -8,7 +8,7 @@ require "logstash/namespace"
|
|||
class LogStash::Inputs::Redis < LogStash::Inputs::Base
|
||||
|
||||
config_name "redis"
|
||||
plugin_status "unstable"
|
||||
plugin_status "beta"
|
||||
|
||||
# Name is used for logging in case there are multiple instances.
|
||||
# This feature has no real function and will be removed in future versions.
|
||||
|
|
|
@ -10,7 +10,7 @@ class LogStash::Inputs::Stdin < LogStash::Inputs::Base
|
|||
|
||||
config_name "stdin"
|
||||
|
||||
plugin_status "unstable"
|
||||
plugin_status "beta"
|
||||
|
||||
public
|
||||
def register
|
||||
|
|
|
@ -4,7 +4,7 @@ require 'pp'
|
|||
|
||||
class LogStash::Inputs::Stomp < LogStash::Inputs::Base
|
||||
config_name "stomp"
|
||||
plugin_status "unstable"
|
||||
plugin_status "beta"
|
||||
|
||||
# The address of the STOMP server.
|
||||
config :host, :validate => :string, :default => "localhost", :required => true
|
||||
|
|
|
@ -20,7 +20,7 @@ require "socket"
|
|||
# Note: this input will start listeners on both TCP and UDP
|
||||
class LogStash::Inputs::Syslog < LogStash::Inputs::Base
|
||||
config_name "syslog"
|
||||
plugin_status "unstable"
|
||||
plugin_status "beta"
|
||||
|
||||
# The address to listen on
|
||||
config :host, :validate => :string, :default => "0.0.0.0"
|
||||
|
|
|
@ -12,7 +12,7 @@ require "timeout"
|
|||
class LogStash::Inputs::Tcp < LogStash::Inputs::Base
|
||||
|
||||
config_name "tcp"
|
||||
plugin_status "unstable"
|
||||
plugin_status "beta"
|
||||
|
||||
# When mode is `server`, the address to listen on.
|
||||
# When mode is `client`, the address to connect to.
|
||||
|
|
|
@ -8,7 +8,7 @@ require "json"
|
|||
class LogStash::Inputs::Twitter < LogStash::Inputs::Base
|
||||
|
||||
config_name "twitter"
|
||||
plugin_status "unstable"
|
||||
plugin_status "beta"
|
||||
|
||||
# Your twitter username
|
||||
config :user, :validate => :string, :required => true
|
||||
|
|
|
@ -9,7 +9,7 @@ require "logstash/namespace"
|
|||
class LogStash::Inputs::Xmpp < LogStash::Inputs::Base
|
||||
|
||||
config_name "xmpp"
|
||||
plugin_status "unstable"
|
||||
plugin_status "beta"
|
||||
|
||||
# The user or resource ID, like foo@example.com.
|
||||
config :user, :validate => :string, :required => :true
|
||||
|
|
|
@ -10,7 +10,7 @@ class LogStash::Outputs::Amqp < LogStash::Outputs::Base
|
|||
MQTYPES = [ "fanout", "direct", "topic" ]
|
||||
|
||||
config_name "amqp"
|
||||
plugin_status "unstable"
|
||||
plugin_status "beta"
|
||||
|
||||
# Your amqp server address
|
||||
config :host, :validate => :string, :required => true
|
||||
|
|
|
@ -17,7 +17,7 @@ require "net/http"
|
|||
class LogStash::Outputs::ElasticSearchRiver < LogStash::Outputs::Base
|
||||
|
||||
config_name "elasticsearch_river"
|
||||
plugin_status "unstable"
|
||||
plugin_status "beta"
|
||||
|
||||
config :debug, :validate => :boolean, :default => false
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ require "zlib"
|
|||
class LogStash::Outputs::File < LogStash::Outputs::Base
|
||||
|
||||
config_name "file"
|
||||
plugin_status "unstable"
|
||||
plugin_status "beta"
|
||||
|
||||
# The path to the file to write. Event fields can be used here,
|
||||
# like "/var/log/logstash/%{@source_host}/%{application}"
|
||||
|
|
|
@ -5,7 +5,7 @@ require "logstash/namespace"
|
|||
# ganglia's gmond. This is heavily based on the graphite output.
|
||||
class LogStash::Outputs::Ganglia < LogStash::Outputs::Base
|
||||
config_name "ganglia"
|
||||
plugin_status "unstable"
|
||||
plugin_status "beta"
|
||||
|
||||
# The address of the graphite server.
|
||||
config :host, :validate => :string, :default => "localhost"
|
||||
|
|
|
@ -8,7 +8,7 @@ require "logstash/outputs/base"
|
|||
class LogStash::Outputs::Gelf < LogStash::Outputs::Base
|
||||
|
||||
config_name "gelf"
|
||||
plugin_status "unstable"
|
||||
plugin_status "beta"
|
||||
|
||||
# graylog2 server address
|
||||
config :host, :validate => :string, :required => true
|
||||
|
|
|
@ -10,7 +10,7 @@ require "socket"
|
|||
# I can capture the metric values from the logs and emit them to graphite.
|
||||
class LogStash::Outputs::Graphite < LogStash::Outputs::Base
|
||||
config_name "graphite"
|
||||
plugin_status "unstable"
|
||||
plugin_status "beta"
|
||||
|
||||
# The address of the graphite server.
|
||||
config :host, :validate => :string, :default => "localhost"
|
||||
|
|
|
@ -25,7 +25,7 @@ end
|
|||
# and 'json logging' enabled.
|
||||
class LogStash::Outputs::Loggly < LogStash::Outputs::Base
|
||||
config_name "loggly"
|
||||
plugin_status "unstable"
|
||||
plugin_status "beta"
|
||||
|
||||
# The hostname to send logs to. This should target the loggly http input
|
||||
# server which is usually "logs.loggly.com"
|
||||
|
|
|
@ -4,7 +4,7 @@ require "logstash/namespace"
|
|||
class LogStash::Outputs::Mongodb < LogStash::Outputs::Base
|
||||
|
||||
config_name "mongodb"
|
||||
plugin_status "unstable"
|
||||
plugin_status "beta"
|
||||
|
||||
# your mongodb host
|
||||
config :host, :validate => :string, :required => true
|
||||
|
|
|
@ -40,7 +40,7 @@ class LogStash::Outputs::Nagios < LogStash::Outputs::Base
|
|||
NAGIOS_WARN = 1
|
||||
|
||||
config_name "nagios"
|
||||
plugin_status "unstable"
|
||||
plugin_status "beta"
|
||||
|
||||
# The path to your nagios command file
|
||||
config :commandfile, :validate => :string, :default => "/var/lib/nagios3/rw/nagios.cmd"
|
||||
|
|
|
@ -7,7 +7,7 @@ require "logstash/namespace"
|
|||
class LogStash::Outputs::Redis < LogStash::Outputs::Base
|
||||
|
||||
config_name "redis"
|
||||
plugin_status "unstable"
|
||||
plugin_status "beta"
|
||||
|
||||
# Name is used for logging in case there are multiple instances.
|
||||
# TODO: delete
|
||||
|
|
|
@ -20,7 +20,7 @@ class LogStash::Outputs::Statsd < LogStash::Outputs::Base
|
|||
## Regex stolen from statsd code
|
||||
RESERVED_CHARACTERS_REGEX = /[\:\|\@]/
|
||||
config_name "statsd"
|
||||
plugin_status "unstable"
|
||||
plugin_status "beta"
|
||||
|
||||
# The address of the Statsd server.
|
||||
config :host, :validate => :string, :default => "localhost"
|
||||
|
|
|
@ -3,7 +3,7 @@ require "logstash/namespace"
|
|||
|
||||
class LogStash::Outputs::Stomp < LogStash::Outputs::Base
|
||||
config_name "stomp"
|
||||
plugin_status "unstable"
|
||||
plugin_status "beta"
|
||||
|
||||
# The address of the STOMP server.
|
||||
config :host, :validate => :string, :required => true
|
||||
|
|
|
@ -12,7 +12,7 @@ require "thread"
|
|||
class LogStash::Outputs::Tcp < LogStash::Outputs::Base
|
||||
|
||||
config_name "tcp"
|
||||
plugin_status "unstable"
|
||||
plugin_status "beta"
|
||||
|
||||
# When mode is `server`, the address to listen on.
|
||||
# When mode is `client`, the address to connect to.
|
||||
|
|
|
@ -7,7 +7,7 @@ require "logstash/namespace"
|
|||
# use it for PubSub or general message passing for logstash to logstash.
|
||||
class LogStash::Outputs::Xmpp < LogStash::Outputs::Base
|
||||
config_name "xmpp"
|
||||
plugin_status "unstable"
|
||||
plugin_status "beta"
|
||||
|
||||
# The user or resource ID, like foo@example.com.
|
||||
config :user, :validate => :string, :required => :true
|
||||
|
|
|
@ -50,7 +50,7 @@ require "logstash/outputs/base"
|
|||
class LogStash::Outputs::Zabbix < LogStash::Outputs::Base
|
||||
|
||||
config_name "zabbix"
|
||||
plugin_status "unstable"
|
||||
plugin_status "beta"
|
||||
|
||||
config :host, :validate => :string, :default => "localhost"
|
||||
config :port, :validate => :number, :default => 10051
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue