logstash-lib 1.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +24 -0
- data/.tailor +8 -0
- data/.travis.yml +12 -0
- data/CHANGELOG +1185 -0
- data/CONTRIBUTING.md +61 -0
- data/CONTRIBUTORS +79 -0
- data/LICENSE +14 -0
- data/Makefile +460 -0
- data/README.md +120 -0
- data/STYLE.md +96 -0
- data/bin/logstash +37 -0
- data/bin/logstash-test +4 -0
- data/bin/logstash-web +4 -0
- data/bin/logstash.lib.sh +78 -0
- data/bot/check_pull_changelog.rb +89 -0
- data/docs/configuration.md +260 -0
- data/docs/docgen.rb +242 -0
- data/docs/extending/example-add-a-new-filter.md +121 -0
- data/docs/extending/index.md +91 -0
- data/docs/flags.md +43 -0
- data/docs/generate_index.rb +28 -0
- data/docs/index.html.erb +56 -0
- data/docs/learn.md +46 -0
- data/docs/life-of-an-event.md +109 -0
- data/docs/logging-tool-comparisons.md +60 -0
- data/docs/plugin-doc.html.erb +91 -0
- data/docs/plugin-milestones.md +41 -0
- data/docs/plugin-synopsis.html.erb +24 -0
- data/docs/release-engineering.md +46 -0
- data/docs/release-test-results.md +14 -0
- data/docs/repositories.md +35 -0
- data/docs/tutorials/10-minute-walkthrough/apache-elasticsearch.conf +35 -0
- data/docs/tutorials/10-minute-walkthrough/apache-parse.conf +33 -0
- data/docs/tutorials/10-minute-walkthrough/apache_log.1 +1 -0
- data/docs/tutorials/10-minute-walkthrough/apache_log.2.bz2 +0 -0
- data/docs/tutorials/10-minute-walkthrough/hello-search.conf +25 -0
- data/docs/tutorials/10-minute-walkthrough/hello.conf +16 -0
- data/docs/tutorials/10-minute-walkthrough/index.md +124 -0
- data/docs/tutorials/10-minute-walkthrough/step-5-output.txt +17 -0
- data/docs/tutorials/getting-started-centralized-overview-diagram.png +0 -0
- data/docs/tutorials/getting-started-centralized-overview-diagram.xml +1 -0
- data/docs/tutorials/getting-started-centralized.md +217 -0
- data/docs/tutorials/getting-started-simple.md +200 -0
- data/docs/tutorials/just-enough-rabbitmq-for-logstash.md +201 -0
- data/docs/tutorials/media/frontend-response-codes.png +0 -0
- data/docs/tutorials/metrics-from-logs.md +84 -0
- data/docs/tutorials/zeromq.md +118 -0
- data/extract_services.rb +29 -0
- data/gembag.rb +64 -0
- data/lib/logstash-event.rb +2 -0
- data/lib/logstash.rb +4 -0
- data/lib/logstash/JRUBY-6970-openssl.rb +22 -0
- data/lib/logstash/JRUBY-6970.rb +102 -0
- data/lib/logstash/agent.rb +305 -0
- data/lib/logstash/certs/cacert.pem +3895 -0
- data/lib/logstash/codecs/base.rb +49 -0
- data/lib/logstash/codecs/compress_spooler.rb +50 -0
- data/lib/logstash/codecs/dots.rb +18 -0
- data/lib/logstash/codecs/edn.rb +28 -0
- data/lib/logstash/codecs/edn_lines.rb +36 -0
- data/lib/logstash/codecs/fluent.rb +55 -0
- data/lib/logstash/codecs/graphite.rb +114 -0
- data/lib/logstash/codecs/json.rb +41 -0
- data/lib/logstash/codecs/json_lines.rb +52 -0
- data/lib/logstash/codecs/json_spooler.rb +22 -0
- data/lib/logstash/codecs/line.rb +58 -0
- data/lib/logstash/codecs/msgpack.rb +43 -0
- data/lib/logstash/codecs/multiline.rb +189 -0
- data/lib/logstash/codecs/netflow.rb +342 -0
- data/lib/logstash/codecs/netflow/util.rb +212 -0
- data/lib/logstash/codecs/noop.rb +19 -0
- data/lib/logstash/codecs/oldlogstashjson.rb +56 -0
- data/lib/logstash/codecs/plain.rb +48 -0
- data/lib/logstash/codecs/rubydebug.rb +22 -0
- data/lib/logstash/codecs/spool.rb +38 -0
- data/lib/logstash/config/Makefile +4 -0
- data/lib/logstash/config/config_ast.rb +380 -0
- data/lib/logstash/config/file.rb +39 -0
- data/lib/logstash/config/grammar.rb +3504 -0
- data/lib/logstash/config/grammar.treetop +241 -0
- data/lib/logstash/config/mixin.rb +464 -0
- data/lib/logstash/config/registry.rb +13 -0
- data/lib/logstash/config/test.conf +18 -0
- data/lib/logstash/errors.rb +10 -0
- data/lib/logstash/event.rb +262 -0
- data/lib/logstash/filters/advisor.rb +178 -0
- data/lib/logstash/filters/alter.rb +173 -0
- data/lib/logstash/filters/anonymize.rb +93 -0
- data/lib/logstash/filters/base.rb +190 -0
- data/lib/logstash/filters/checksum.rb +50 -0
- data/lib/logstash/filters/cidr.rb +76 -0
- data/lib/logstash/filters/cipher.rb +145 -0
- data/lib/logstash/filters/clone.rb +35 -0
- data/lib/logstash/filters/collate.rb +114 -0
- data/lib/logstash/filters/csv.rb +94 -0
- data/lib/logstash/filters/date.rb +244 -0
- data/lib/logstash/filters/dns.rb +201 -0
- data/lib/logstash/filters/drop.rb +32 -0
- data/lib/logstash/filters/elapsed.rb +256 -0
- data/lib/logstash/filters/elasticsearch.rb +73 -0
- data/lib/logstash/filters/environment.rb +27 -0
- data/lib/logstash/filters/extractnumbers.rb +84 -0
- data/lib/logstash/filters/gelfify.rb +52 -0
- data/lib/logstash/filters/geoip.rb +145 -0
- data/lib/logstash/filters/grep.rb +153 -0
- data/lib/logstash/filters/grok.rb +425 -0
- data/lib/logstash/filters/grokdiscovery.rb +75 -0
- data/lib/logstash/filters/i18n.rb +51 -0
- data/lib/logstash/filters/json.rb +90 -0
- data/lib/logstash/filters/json_encode.rb +52 -0
- data/lib/logstash/filters/kv.rb +232 -0
- data/lib/logstash/filters/metaevent.rb +68 -0
- data/lib/logstash/filters/metrics.rb +237 -0
- data/lib/logstash/filters/multiline.rb +241 -0
- data/lib/logstash/filters/mutate.rb +399 -0
- data/lib/logstash/filters/noop.rb +21 -0
- data/lib/logstash/filters/prune.rb +149 -0
- data/lib/logstash/filters/punct.rb +32 -0
- data/lib/logstash/filters/railsparallelrequest.rb +86 -0
- data/lib/logstash/filters/range.rb +142 -0
- data/lib/logstash/filters/ruby.rb +42 -0
- data/lib/logstash/filters/sleep.rb +111 -0
- data/lib/logstash/filters/split.rb +64 -0
- data/lib/logstash/filters/sumnumbers.rb +73 -0
- data/lib/logstash/filters/syslog_pri.rb +107 -0
- data/lib/logstash/filters/translate.rb +121 -0
- data/lib/logstash/filters/unique.rb +29 -0
- data/lib/logstash/filters/urldecode.rb +57 -0
- data/lib/logstash/filters/useragent.rb +112 -0
- data/lib/logstash/filters/uuid.rb +58 -0
- data/lib/logstash/filters/xml.rb +139 -0
- data/lib/logstash/filters/zeromq.rb +123 -0
- data/lib/logstash/filterworker.rb +122 -0
- data/lib/logstash/inputs/base.rb +125 -0
- data/lib/logstash/inputs/collectd.rb +306 -0
- data/lib/logstash/inputs/drupal_dblog.rb +323 -0
- data/lib/logstash/inputs/drupal_dblog/jdbcconnection.rb +66 -0
- data/lib/logstash/inputs/elasticsearch.rb +140 -0
- data/lib/logstash/inputs/eventlog.rb +129 -0
- data/lib/logstash/inputs/eventlog/racob_fix.rb +44 -0
- data/lib/logstash/inputs/exec.rb +69 -0
- data/lib/logstash/inputs/file.rb +146 -0
- data/lib/logstash/inputs/ganglia.rb +127 -0
- data/lib/logstash/inputs/ganglia/gmondpacket.rb +146 -0
- data/lib/logstash/inputs/ganglia/xdr.rb +327 -0
- data/lib/logstash/inputs/gelf.rb +138 -0
- data/lib/logstash/inputs/gemfire.rb +222 -0
- data/lib/logstash/inputs/generator.rb +97 -0
- data/lib/logstash/inputs/graphite.rb +41 -0
- data/lib/logstash/inputs/heroku.rb +51 -0
- data/lib/logstash/inputs/imap.rb +136 -0
- data/lib/logstash/inputs/irc.rb +84 -0
- data/lib/logstash/inputs/log4j.rb +136 -0
- data/lib/logstash/inputs/lumberjack.rb +53 -0
- data/lib/logstash/inputs/pipe.rb +57 -0
- data/lib/logstash/inputs/rabbitmq.rb +126 -0
- data/lib/logstash/inputs/rabbitmq/bunny.rb +118 -0
- data/lib/logstash/inputs/rabbitmq/hot_bunnies.rb +1 -0
- data/lib/logstash/inputs/rabbitmq/march_hare.rb +129 -0
- data/lib/logstash/inputs/redis.rb +263 -0
- data/lib/logstash/inputs/relp.rb +106 -0
- data/lib/logstash/inputs/s3.rb +279 -0
- data/lib/logstash/inputs/snmptrap.rb +87 -0
- data/lib/logstash/inputs/sqlite.rb +185 -0
- data/lib/logstash/inputs/sqs.rb +172 -0
- data/lib/logstash/inputs/stdin.rb +46 -0
- data/lib/logstash/inputs/stomp.rb +84 -0
- data/lib/logstash/inputs/syslog.rb +237 -0
- data/lib/logstash/inputs/tcp.rb +231 -0
- data/lib/logstash/inputs/threadable.rb +18 -0
- data/lib/logstash/inputs/twitter.rb +82 -0
- data/lib/logstash/inputs/udp.rb +81 -0
- data/lib/logstash/inputs/unix.rb +163 -0
- data/lib/logstash/inputs/varnishlog.rb +48 -0
- data/lib/logstash/inputs/websocket.rb +50 -0
- data/lib/logstash/inputs/wmi.rb +72 -0
- data/lib/logstash/inputs/xmpp.rb +81 -0
- data/lib/logstash/inputs/zenoss.rb +143 -0
- data/lib/logstash/inputs/zeromq.rb +165 -0
- data/lib/logstash/kibana.rb +113 -0
- data/lib/logstash/loadlibs.rb +9 -0
- data/lib/logstash/logging.rb +89 -0
- data/lib/logstash/monkeypatches-for-bugs.rb +2 -0
- data/lib/logstash/monkeypatches-for-debugging.rb +47 -0
- data/lib/logstash/monkeypatches-for-performance.rb +66 -0
- data/lib/logstash/multiqueue.rb +53 -0
- data/lib/logstash/namespace.rb +16 -0
- data/lib/logstash/outputs/base.rb +120 -0
- data/lib/logstash/outputs/boundary.rb +116 -0
- data/lib/logstash/outputs/circonus.rb +78 -0
- data/lib/logstash/outputs/cloudwatch.rb +351 -0
- data/lib/logstash/outputs/csv.rb +55 -0
- data/lib/logstash/outputs/datadog.rb +93 -0
- data/lib/logstash/outputs/datadog_metrics.rb +123 -0
- data/lib/logstash/outputs/elasticsearch.rb +332 -0
- data/lib/logstash/outputs/elasticsearch/elasticsearch-template.json +44 -0
- data/lib/logstash/outputs/elasticsearch_http.rb +256 -0
- data/lib/logstash/outputs/elasticsearch_river.rb +214 -0
- data/lib/logstash/outputs/email.rb +299 -0
- data/lib/logstash/outputs/exec.rb +40 -0
- data/lib/logstash/outputs/file.rb +180 -0
- data/lib/logstash/outputs/ganglia.rb +75 -0
- data/lib/logstash/outputs/gelf.rb +208 -0
- data/lib/logstash/outputs/gemfire.rb +103 -0
- data/lib/logstash/outputs/google_bigquery.rb +570 -0
- data/lib/logstash/outputs/google_cloud_storage.rb +431 -0
- data/lib/logstash/outputs/graphite.rb +143 -0
- data/lib/logstash/outputs/graphtastic.rb +185 -0
- data/lib/logstash/outputs/hipchat.rb +80 -0
- data/lib/logstash/outputs/http.rb +142 -0
- data/lib/logstash/outputs/irc.rb +80 -0
- data/lib/logstash/outputs/jira.rb +109 -0
- data/lib/logstash/outputs/juggernaut.rb +105 -0
- data/lib/logstash/outputs/librato.rb +146 -0
- data/lib/logstash/outputs/loggly.rb +93 -0
- data/lib/logstash/outputs/lumberjack.rb +51 -0
- data/lib/logstash/outputs/metriccatcher.rb +103 -0
- data/lib/logstash/outputs/mongodb.rb +81 -0
- data/lib/logstash/outputs/nagios.rb +119 -0
- data/lib/logstash/outputs/nagios_nsca.rb +123 -0
- data/lib/logstash/outputs/null.rb +18 -0
- data/lib/logstash/outputs/opentsdb.rb +101 -0
- data/lib/logstash/outputs/pagerduty.rb +79 -0
- data/lib/logstash/outputs/pipe.rb +132 -0
- data/lib/logstash/outputs/rabbitmq.rb +96 -0
- data/lib/logstash/outputs/rabbitmq/bunny.rb +135 -0
- data/lib/logstash/outputs/rabbitmq/hot_bunnies.rb +1 -0
- data/lib/logstash/outputs/rabbitmq/march_hare.rb +143 -0
- data/lib/logstash/outputs/redis.rb +245 -0
- data/lib/logstash/outputs/riak.rb +152 -0
- data/lib/logstash/outputs/riemann.rb +109 -0
- data/lib/logstash/outputs/s3.rb +356 -0
- data/lib/logstash/outputs/sns.rb +124 -0
- data/lib/logstash/outputs/solr_http.rb +78 -0
- data/lib/logstash/outputs/sqs.rb +141 -0
- data/lib/logstash/outputs/statsd.rb +116 -0
- data/lib/logstash/outputs/stdout.rb +53 -0
- data/lib/logstash/outputs/stomp.rb +67 -0
- data/lib/logstash/outputs/syslog.rb +145 -0
- data/lib/logstash/outputs/tcp.rb +145 -0
- data/lib/logstash/outputs/udp.rb +38 -0
- data/lib/logstash/outputs/websocket.rb +46 -0
- data/lib/logstash/outputs/websocket/app.rb +29 -0
- data/lib/logstash/outputs/websocket/pubsub.rb +45 -0
- data/lib/logstash/outputs/xmpp.rb +78 -0
- data/lib/logstash/outputs/zabbix.rb +108 -0
- data/lib/logstash/outputs/zeromq.rb +125 -0
- data/lib/logstash/pipeline.rb +286 -0
- data/lib/logstash/plugin.rb +150 -0
- data/lib/logstash/plugin_mixins/aws_config.rb +93 -0
- data/lib/logstash/program.rb +15 -0
- data/lib/logstash/runner.rb +238 -0
- data/lib/logstash/sized_queue.rb +8 -0
- data/lib/logstash/test.rb +183 -0
- data/lib/logstash/threadwatchdog.rb +37 -0
- data/lib/logstash/time_addon.rb +33 -0
- data/lib/logstash/util.rb +106 -0
- data/lib/logstash/util/buftok.rb +139 -0
- data/lib/logstash/util/charset.rb +39 -0
- data/lib/logstash/util/fieldreference.rb +50 -0
- data/lib/logstash/util/password.rb +25 -0
- data/lib/logstash/util/prctl.rb +11 -0
- data/lib/logstash/util/relp.rb +326 -0
- data/lib/logstash/util/require-helper.rb +18 -0
- data/lib/logstash/util/socket_peer.rb +7 -0
- data/lib/logstash/util/zenoss.rb +566 -0
- data/lib/logstash/util/zeromq.rb +47 -0
- data/lib/logstash/version.rb +6 -0
- data/locales/en.yml +170 -0
- data/logstash-event.gemspec +29 -0
- data/logstash.gemspec +128 -0
- data/patterns/firewalls +60 -0
- data/patterns/grok-patterns +91 -0
- data/patterns/haproxy +37 -0
- data/patterns/java +3 -0
- data/patterns/linux-syslog +14 -0
- data/patterns/mcollective +1 -0
- data/patterns/mcollective-patterns +4 -0
- data/patterns/nagios +108 -0
- data/patterns/postgresql +3 -0
- data/patterns/redis +3 -0
- data/patterns/ruby +2 -0
- data/pkg/build.sh +135 -0
- data/pkg/centos/after-install.sh +1 -0
- data/pkg/centos/before-install.sh +10 -0
- data/pkg/centos/before-remove.sh +11 -0
- data/pkg/centos/sysconfig +15 -0
- data/pkg/debian/after-install.sh +5 -0
- data/pkg/debian/before-install.sh +13 -0
- data/pkg/debian/before-remove.sh +13 -0
- data/pkg/debian/build.sh +34 -0
- data/pkg/debian/debian/README +6 -0
- data/pkg/debian/debian/changelog +17 -0
- data/pkg/debian/debian/compat +1 -0
- data/pkg/debian/debian/control +16 -0
- data/pkg/debian/debian/copyright +27 -0
- data/pkg/debian/debian/dirs +19 -0
- data/pkg/debian/debian/docs +0 -0
- data/pkg/debian/debian/logstash.default +39 -0
- data/pkg/debian/debian/logstash.init +201 -0
- data/pkg/debian/debian/logstash.install +1 -0
- data/pkg/debian/debian/logstash.logrotate +9 -0
- data/pkg/debian/debian/logstash.postinst +68 -0
- data/pkg/debian/debian/logstash.postrm +23 -0
- data/pkg/debian/debian/manpage.1.ex +59 -0
- data/pkg/debian/debian/preinst.ex +37 -0
- data/pkg/debian/debian/prerm.ex +40 -0
- data/pkg/debian/debian/release.conf +5 -0
- data/pkg/debian/debian/rules +80 -0
- data/pkg/debian/debian/watch.ex +22 -0
- data/pkg/logrotate.conf +8 -0
- data/pkg/logstash-web.default +41 -0
- data/pkg/logstash-web.sysv.debian +201 -0
- data/pkg/logstash-web.upstart.ubuntu +18 -0
- data/pkg/logstash.default +45 -0
- data/pkg/logstash.sysv.debian +202 -0
- data/pkg/logstash.sysv.redhat +158 -0
- data/pkg/logstash.upstart.ubuntu +20 -0
- data/pkg/rpm/SOURCES/logstash.conf +26 -0
- data/pkg/rpm/SOURCES/logstash.init +80 -0
- data/pkg/rpm/SOURCES/logstash.logrotate +8 -0
- data/pkg/rpm/SOURCES/logstash.sysconfig +3 -0
- data/pkg/rpm/SOURCES/logstash.wrapper +105 -0
- data/pkg/rpm/SPECS/logstash.spec +180 -0
- data/pkg/rpm/readme.md +4 -0
- data/pkg/ubuntu/after-install.sh +7 -0
- data/pkg/ubuntu/before-install.sh +12 -0
- data/pkg/ubuntu/before-remove.sh +13 -0
- data/pull_release_note.rb +25 -0
- data/require-analyze.rb +22 -0
- data/spec/README.md +14 -0
- data/spec/codecs/edn.rb +40 -0
- data/spec/codecs/edn_lines.rb +53 -0
- data/spec/codecs/graphite.rb +96 -0
- data/spec/codecs/json.rb +57 -0
- data/spec/codecs/json_lines.rb +51 -0
- data/spec/codecs/json_spooler.rb +43 -0
- data/spec/codecs/msgpack.rb +39 -0
- data/spec/codecs/multiline.rb +60 -0
- data/spec/codecs/oldlogstashjson.rb +55 -0
- data/spec/codecs/plain.rb +35 -0
- data/spec/codecs/spool.rb +35 -0
- data/spec/conditionals/test.rb +323 -0
- data/spec/config.rb +31 -0
- data/spec/event.rb +165 -0
- data/spec/examples/fail2ban.rb +28 -0
- data/spec/examples/graphite-input.rb +41 -0
- data/spec/examples/mysql-slow-query.rb +70 -0
- data/spec/examples/parse-apache-logs.rb +66 -0
- data/spec/examples/parse-haproxy-logs.rb +115 -0
- data/spec/examples/syslog.rb +48 -0
- data/spec/filters/alter.rb +96 -0
- data/spec/filters/anonymize.rb +189 -0
- data/spec/filters/checksum.rb +41 -0
- data/spec/filters/clone.rb +67 -0
- data/spec/filters/collate.rb +122 -0
- data/spec/filters/csv.rb +174 -0
- data/spec/filters/date.rb +285 -0
- data/spec/filters/date_performance.rb +31 -0
- data/spec/filters/dns.rb +159 -0
- data/spec/filters/drop.rb +19 -0
- data/spec/filters/elapsed.rb +294 -0
- data/spec/filters/environment.rb +43 -0
- data/spec/filters/geoip.rb +62 -0
- data/spec/filters/grep.rb +342 -0
- data/spec/filters/grok.rb +473 -0
- data/spec/filters/grok/timeout2.rb +56 -0
- data/spec/filters/grok/timeouts.rb +39 -0
- data/spec/filters/i18n.rb +25 -0
- data/spec/filters/json.rb +72 -0
- data/spec/filters/json_encode.rb +37 -0
- data/spec/filters/kv.rb +403 -0
- data/spec/filters/metrics.rb +212 -0
- data/spec/filters/multiline.rb +119 -0
- data/spec/filters/mutate.rb +180 -0
- data/spec/filters/noop.rb +221 -0
- data/spec/filters/prune.rb +441 -0
- data/spec/filters/punct.rb +18 -0
- data/spec/filters/railsparallelrequest.rb +112 -0
- data/spec/filters/range.rb +169 -0
- data/spec/filters/split.rb +58 -0
- data/spec/filters/translate.rb +70 -0
- data/spec/filters/unique.rb +25 -0
- data/spec/filters/useragent.rb +42 -0
- data/spec/filters/xml.rb +157 -0
- data/spec/inputs/file.rb +107 -0
- data/spec/inputs/gelf.rb +52 -0
- data/spec/inputs/generator.rb +30 -0
- data/spec/inputs/imap.rb +60 -0
- data/spec/inputs/redis.rb +63 -0
- data/spec/inputs/relp.rb +70 -0
- data/spec/inputs/tcp.rb +101 -0
- data/spec/jar.rb +21 -0
- data/spec/outputs/csv.rb +266 -0
- data/spec/outputs/elasticsearch.rb +161 -0
- data/spec/outputs/elasticsearch_http.rb +240 -0
- data/spec/outputs/email.rb +173 -0
- data/spec/outputs/file.rb +82 -0
- data/spec/outputs/graphite.rb +236 -0
- data/spec/outputs/redis.rb +127 -0
- data/spec/speed.rb +20 -0
- data/spec/sqlite-test.rb +81 -0
- data/spec/support/LOGSTASH-733.rb +21 -0
- data/spec/support/LOGSTASH-820.rb +25 -0
- data/spec/support/akamai-grok.rb +26 -0
- data/spec/support/date-http.rb +17 -0
- data/spec/support/postwait1.rb +26 -0
- data/spec/support/pull375.rb +21 -0
- data/spec/test_utils.rb +125 -0
- data/spec/util/fieldeval_spec.rb +44 -0
- data/test/jenkins/config.xml.erb +74 -0
- data/test/jenkins/create-jobs.rb +23 -0
- data/test/jenkins/generatorjob.config.xml +66 -0
- data/tools/Gemfile +14 -0
- data/tools/Gemfile.jruby-1.9.lock +322 -0
- data/tools/Gemfile.rbx-2.1.lock +516 -0
- data/tools/Gemfile.ruby-1.9.1.lock +310 -0
- data/tools/Gemfile.ruby-2.0.0.lock +310 -0
- metadata +629 -0
data/docs/flags.md
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Command-line flags - logstash
|
|
3
|
+
layout: content_right
|
|
4
|
+
---
|
|
5
|
+
# Command-line flags
|
|
6
|
+
|
|
7
|
+
## Agent
|
|
8
|
+
|
|
9
|
+
The logstash agent has the following flags (also try using the '--help' flag)
|
|
10
|
+
|
|
11
|
+
<dl>
|
|
12
|
+
<dt> -f, --config CONFIGFILE </dt>
|
|
13
|
+
<dd> Load the logstash config from a specific file, directory, or a
|
|
14
|
+
wildcard. If given a directory or wildcard, config files will be read
|
|
15
|
+
from the directory in alphabetical order. </dd>
|
|
16
|
+
<dt> -e CONFIGSTRING </dt>
|
|
17
|
+
<dd> Use the given string as the configuration data. Same syntax as the
|
|
18
|
+
config file. If not input is specified, 'stdin { type => stdin }' is
|
|
19
|
+
default. If no output is specified, 'stdout { debug => true }}' is
|
|
20
|
+
default. </dd>
|
|
21
|
+
<dt> -w, --filterworkers COUNT </dt>
|
|
22
|
+
<dd> Run COUNT filter workers (default: 1) </dd>
|
|
23
|
+
<dt> --watchdog-timeout TIMEOUT </dt>
|
|
24
|
+
<dd> Set watchdog timeout value in seconds. Default is 10.</dd>
|
|
25
|
+
<dt> -l, --log FILE </dt>
|
|
26
|
+
<dd> Log to a given path. Default is to log to stdout </dd>
|
|
27
|
+
<dt> -v </dt>
|
|
28
|
+
<dd> Increase verbosity. There are multiple levels of verbosity available with
|
|
29
|
+
'-vv' currently being the highest </dd>
|
|
30
|
+
<dt> --pluginpath PLUGIN_PATH </dt>
|
|
31
|
+
<dd> A colon-delimted path to find other logstash plugins in </dd>
|
|
32
|
+
</dl>
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
## Web
|
|
36
|
+
|
|
37
|
+
<dl>
|
|
38
|
+
<dt> -a, --address ADDRESS </dt>
|
|
39
|
+
<dd>Address on which to start webserver. Default is 0.0.0.0.</dd>
|
|
40
|
+
<dt> -p, --port PORT</dt>
|
|
41
|
+
<dd>Port on which to start webserver. Default is 9292.</dd>
|
|
42
|
+
</dl>
|
|
43
|
+
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
|
|
3
|
+
require "erb"
|
|
4
|
+
|
|
5
|
+
if ARGV.size != 1
|
|
6
|
+
$stderr.puts "No path given to search for plugin docs"
|
|
7
|
+
$stderr.puts "Usage: #{$0} plugin_doc_dir"
|
|
8
|
+
exit 1
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def plugins(glob)
|
|
12
|
+
files = Dir.glob(glob)
|
|
13
|
+
names = files.collect { |f| File.basename(f).gsub(".html", "") }
|
|
14
|
+
return names.sort
|
|
15
|
+
end # def plugins
|
|
16
|
+
|
|
17
|
+
basedir = ARGV[0]
|
|
18
|
+
docs = {
|
|
19
|
+
"inputs" => plugins(File.join(basedir, "inputs/*.html")),
|
|
20
|
+
"codecs" => plugins(File.join(basedir, "codecs/*.html")),
|
|
21
|
+
"filters" => plugins(File.join(basedir, "filters/*.html")),
|
|
22
|
+
"outputs" => plugins(File.join(basedir, "outputs/*.html")),
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
template_path = File.join(File.dirname(__FILE__), "index.html.erb")
|
|
26
|
+
template = File.new(template_path).read
|
|
27
|
+
erb = ERB.new(template, nil, "-")
|
|
28
|
+
puts erb.result(binding)
|
data/docs/index.html.erb
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: logstash docs index
|
|
3
|
+
layout: content_right
|
|
4
|
+
---
|
|
5
|
+
<div id="doc_index_container">
|
|
6
|
+
|
|
7
|
+
<h3> for users </h3>
|
|
8
|
+
<ul>
|
|
9
|
+
<li> <a href="https://download.elasticsearch.org/logstash/logstash/logstash-%VERSION%-flatjar.jar"> download logstash %VERSION% </a> </li>
|
|
10
|
+
<li> <a href="repositories">Repositories</a> </li>
|
|
11
|
+
<li> <a href="configuration"> configuration file overview </a> </li>
|
|
12
|
+
<li> <a href="configuration#conditionals">conditionals</a> </li>
|
|
13
|
+
<li> <a href="configuration#fieldreferences">referring to fields [like][this]</a> </li>
|
|
14
|
+
<li> <a href="configuration#sprintf">using the %{fieldname} syntax</a> </li>
|
|
15
|
+
|
|
16
|
+
<li> <a href="life-of-an-event"> the life of an event in logstash </a> </li>
|
|
17
|
+
<li> <a href="flags"> command-line flags </a> </li>
|
|
18
|
+
</ul>
|
|
19
|
+
|
|
20
|
+
<h3> for developers </h3>
|
|
21
|
+
<ul>
|
|
22
|
+
<li> <a href="extending"> writing your own plugins </a> </li>
|
|
23
|
+
</ul>
|
|
24
|
+
|
|
25
|
+
<h3> use cases and tutorials </h3>
|
|
26
|
+
|
|
27
|
+
<ul>
|
|
28
|
+
<li> <a href="tutorials/getting-started-simple"> getting started (standalone) </a> </li>
|
|
29
|
+
<li> <a href="tutorials/getting-started-centralized"> getting started (centralized) </a> </li>
|
|
30
|
+
<li> <a href="tutorials/10-minute-walkthrough"> 10-minute walkthrough</a> - a simple walkthrough to show you how to configure the logstash agent to process events and even old logs. </li>
|
|
31
|
+
<li> <a href="tutorials/metrics-from-logs"> Gathering metrics from logs </a> - take metrics from logs and ship them to graphite, ganglia, and more. </li>
|
|
32
|
+
<li> <a href="tutorials/just-enough-rabbitmq-for-logstash">Just enough RabbitMQ for Logstash </a> - Get a quick primer on RabbitMQ and how to use it in Logstash! </li>
|
|
33
|
+
</ul>
|
|
34
|
+
|
|
35
|
+
<h3> books and articles </h3>
|
|
36
|
+
|
|
37
|
+
<ul>
|
|
38
|
+
<li> <a href="http://www.logstashbook.com">The LogStash Book </a> - An introductory LogStash book. </li>
|
|
39
|
+
</ul>
|
|
40
|
+
|
|
41
|
+
<h3> plugin documentation </h3>
|
|
42
|
+
<% docs.each do |type, paths| -%>
|
|
43
|
+
<div class="doc_index_section">
|
|
44
|
+
<h3><%= type %></h3>
|
|
45
|
+
<ul>
|
|
46
|
+
<% paths.each do |path| -%>
|
|
47
|
+
<% name = File.basename(path).gsub(".html", "") -%>
|
|
48
|
+
<li>
|
|
49
|
+
<a href="<%= "#{type}/#{name}" %>"><%= name %></a>
|
|
50
|
+
</li>
|
|
51
|
+
<% end -%>
|
|
52
|
+
</ul>
|
|
53
|
+
</div>
|
|
54
|
+
<% end -%>
|
|
55
|
+
</div>
|
|
56
|
+
<div class="clear"></div>
|
data/docs/learn.md
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Learn - logstash
|
|
3
|
+
layout: content_right
|
|
4
|
+
---
|
|
5
|
+
# What is logstash?
|
|
6
|
+
|
|
7
|
+
logstash is a tool for managing your logs.
|
|
8
|
+
|
|
9
|
+
It helps you take logs and other event data from your systems and move it into
|
|
10
|
+
a central place. logstash is open source and completely free. You can find
|
|
11
|
+
support on the mailing list and on IRC.
|
|
12
|
+
|
|
13
|
+
For an overview of logstash and why you would use it, you should watch the
|
|
14
|
+
presentation I gave at CarolinaCon 2011:
|
|
15
|
+
[video here](http://carolinacon.blip.tv/file/5105901/). This presentation covers
|
|
16
|
+
logstash, how you can use it, some alternatives, logging best practices,
|
|
17
|
+
parsing tools, etc. Video also below:
|
|
18
|
+
|
|
19
|
+
<!--
|
|
20
|
+
<embed src="http://blip.tv/play/gvE9grjcdQI" type="application/x-shockwave-flash" width="480" height="296" allowscriptaccess="always" allowfullscreen="true"></embed>
|
|
21
|
+
|
|
22
|
+
The slides are available online here: [slides](http://goo.gl/68c62). The slides
|
|
23
|
+
include speaker notes (click 'actions' then 'speaker notes').
|
|
24
|
+
-->
|
|
25
|
+
<iframe width="480" height="296" src="http://www.youtube.com/embed/RuUFnog29M4" frameborder="0" allowfullscreen="allowfullscreen"></iframe>
|
|
26
|
+
|
|
27
|
+
The slides are available online here: [slides](http://semicomplete.com/presentations/logstash-puppetconf-2012/).
|
|
28
|
+
|
|
29
|
+
## Getting Help
|
|
30
|
+
|
|
31
|
+
There's [documentation](.) here on this site. If that isn't sufficient, you can
|
|
32
|
+
email the mailing list (logstash-users@googlegroups.com). Further, there is also
|
|
33
|
+
an IRC channel - #logstash on irc.freenode.org.
|
|
34
|
+
|
|
35
|
+
If you find a bug or have a feature request, file them
|
|
36
|
+
on <http://logstash.jira.com/>. (Honestly though, if you prefer email or irc
|
|
37
|
+
for such things, that works for me, too.)
|
|
38
|
+
|
|
39
|
+
## Download It
|
|
40
|
+
|
|
41
|
+
[Download logstash-%VERSION%](https://download.elasticsearch.org/logstash/logstash/logstash-%VERSION%-flatjar.jar)
|
|
42
|
+
|
|
43
|
+
## What's next?
|
|
44
|
+
|
|
45
|
+
Try the [standalone logstash guide](tutorials/getting-started-simple) for a simple
|
|
46
|
+
real-world example getting started using logstash.
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: the life of an event - logstash
|
|
3
|
+
layout: content_right
|
|
4
|
+
---
|
|
5
|
+
# the life of an event
|
|
6
|
+
|
|
7
|
+
The logstash agent is an event pipeline.
|
|
8
|
+
|
|
9
|
+
## The Pipeline
|
|
10
|
+
|
|
11
|
+
The logstash agent is a processing pipeline with 3 stages: inputs -> filters ->
|
|
12
|
+
outputs. Inputs generate events, filters modify them, outputs ship them
|
|
13
|
+
elsewhere.
|
|
14
|
+
|
|
15
|
+
Internal to logstash, events are passed from each phase using internal queues.
|
|
16
|
+
It is implemented with a 'SizedQueue' in Ruby. SizedQueue allows a bounded
|
|
17
|
+
maximum of items in the queue such that any writes to the queue will block if
|
|
18
|
+
the queue is full at maximum capacity.
|
|
19
|
+
|
|
20
|
+
Logstash sets each queue size to 20. This means only 20 events can be pending
|
|
21
|
+
into the next phase - this helps reduce any data loss and in general avoids
|
|
22
|
+
logstash trying to act as a data storage system. These internal queues are not
|
|
23
|
+
for storing messages long-term.
|
|
24
|
+
|
|
25
|
+
## Fault Tolerance
|
|
26
|
+
|
|
27
|
+
Starting at outputs, here's what happens when things break.
|
|
28
|
+
|
|
29
|
+
An output can fail or have problems because of some downstream cause, such as
|
|
30
|
+
full disk, permissions problems, temporary network failures, or service
|
|
31
|
+
outages. Most outputs should keep retrying to ship any events that were
|
|
32
|
+
involved in the failure.
|
|
33
|
+
|
|
34
|
+
If an output is failing, the output thread will wait until this output is
|
|
35
|
+
healthy again and able to successfully send the message. Therefore, the output
|
|
36
|
+
queue will stop being read from by this output and will eventually fill up with
|
|
37
|
+
events and block new events from being written to this queue.
|
|
38
|
+
|
|
39
|
+
A full output queue means filters will block trying to write to the output
|
|
40
|
+
queue. Because filters will be stuck, blocked writing to the output queue, they
|
|
41
|
+
will stop reading from the filter queue which will eventually cause the filter
|
|
42
|
+
queue (input -> filter) to fill up.
|
|
43
|
+
|
|
44
|
+
A full filter queue will cause inputs to block when writing to the filters.
|
|
45
|
+
This will cause each input to block, causing each input to stop processing new
|
|
46
|
+
data from wherever that input is getting new events.
|
|
47
|
+
|
|
48
|
+
In ideal circumstances, this will behave similarly to when the tcp window
|
|
49
|
+
closes to 0, no new data is sent because the receiver hasn't finished
|
|
50
|
+
processing the current queue of data, but as soon as the downstream (output)
|
|
51
|
+
problem is resolved, messages will begin flowing again..
|
|
52
|
+
|
|
53
|
+
## Thread Model
|
|
54
|
+
|
|
55
|
+
The thread model in logstash is currently:
|
|
56
|
+
|
|
57
|
+
input threads | filter worker threads | output worker
|
|
58
|
+
|
|
59
|
+
Filters are optional, so you will have this model if you have no filters
|
|
60
|
+
defined:
|
|
61
|
+
|
|
62
|
+
input threads | output worker
|
|
63
|
+
|
|
64
|
+
Each input runs in a thread by itself. This allows busier inputs to not be
|
|
65
|
+
blocked by slower ones, etc. It also allows for easier containment of scope
|
|
66
|
+
because each input has a thread.
|
|
67
|
+
|
|
68
|
+
The filter thread model is a 'worker' model where each worker receives an event
|
|
69
|
+
and applies all filters, in order, before emitting that to the output queue.
|
|
70
|
+
This allows scalability across CPUs because many filters are CPU intensive
|
|
71
|
+
(permitting that we have thread safety).
|
|
72
|
+
|
|
73
|
+
The default number of filter workers is 1, but you can increase this number
|
|
74
|
+
with the '-w' flag on the agent.
|
|
75
|
+
|
|
76
|
+
The output worker model is currently a single thread. Outputs will receive
|
|
77
|
+
events in the order they are defined in the config file.
|
|
78
|
+
|
|
79
|
+
Outputs may decide to buffer events temporarily before publishing them,
|
|
80
|
+
possibly in a separate thread. One example of this is the elasticsearch output
|
|
81
|
+
which will buffer events and flush them all at once, in a separate thread. This
|
|
82
|
+
mechanism (buffering many events + writing in a separate thread) can improve
|
|
83
|
+
performance so the logstash pipeline isn't stalled waiting for a response from
|
|
84
|
+
elasticsearch.
|
|
85
|
+
|
|
86
|
+
## Consequences and Expectations
|
|
87
|
+
|
|
88
|
+
Small queue sizes mean that logstash simply blocks and stalls safely during
|
|
89
|
+
times of load or other temporary pipeline problems. There are two alternatives
|
|
90
|
+
to this - unlimited queue length and dropping messages. Unlimited queues grow
|
|
91
|
+
grow unbounded and eventually exceed memory causing a crash which loses all of
|
|
92
|
+
those messages. Dropping messages is also an undesirable behavior in most cases.
|
|
93
|
+
|
|
94
|
+
At a minimum, logstash will have probably 3 threads (2 if you have no filters).
|
|
95
|
+
One input, one filter worker, and one output thread each.
|
|
96
|
+
|
|
97
|
+
If you see logstash using multiple CPUs, this is likely why. If you want to
|
|
98
|
+
know more about what each thread is doing, you should read this:
|
|
99
|
+
<http://www.semicomplete.com/blog/geekery/debugging-java-performance.html>.
|
|
100
|
+
|
|
101
|
+
Threads in java have names, and you can use jstack and top to figure out who is
|
|
102
|
+
using what resources. The URL above will help you learn how to do this.
|
|
103
|
+
|
|
104
|
+
On Linux platforms, logstash will label all the threads it can with something
|
|
105
|
+
descriptive. Inputs will show up as "<inputname" and filter workers as
|
|
106
|
+
"|worker" and outputs as ">outputworker" (or something similar). Other threads
|
|
107
|
+
may be labeled as well, and are intended to help you identify their purpose
|
|
108
|
+
should you wonder why they are consuming resources!
|
|
109
|
+
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Logging tools comparisons - logstash
|
|
3
|
+
layout: content_right
|
|
4
|
+
---
|
|
5
|
+
# Logging tools comparison
|
|
6
|
+
|
|
7
|
+
The information below is provided as "best effort" and is not strictly intended
|
|
8
|
+
as a complete source of truth. If the information below is unclear or incorrect, please
|
|
9
|
+
email the logstash-users list (or send a pull request with the fix) :)
|
|
10
|
+
|
|
11
|
+
Where feasible, this document will also provide information on how you can use
|
|
12
|
+
logstash with these other projects.
|
|
13
|
+
|
|
14
|
+
# logstash
|
|
15
|
+
|
|
16
|
+
Primary goal: Make log/event data and analytics accessible.
|
|
17
|
+
|
|
18
|
+
Overview: Where your logs come from, how you store them, or what you do with
|
|
19
|
+
them is up to you. Logstash exists to help make such actions easier and faster.
|
|
20
|
+
|
|
21
|
+
It provides you a simple event pipeline for taking events and logs from any
|
|
22
|
+
input, manipulating them with filters, and sending them to any output. Inputs
|
|
23
|
+
can be files, network, message brokers, etc. Filters are date and string
|
|
24
|
+
parsers, grep-like, etc. Outputs are data stores (elasticsearch, mongodb, etc),
|
|
25
|
+
message systems (rabbitmq, stomp, etc), network (tcp, syslog), etc.
|
|
26
|
+
|
|
27
|
+
It also provides a web interface for doing search and analytics on your
|
|
28
|
+
logs.
|
|
29
|
+
|
|
30
|
+
# graylog2
|
|
31
|
+
|
|
32
|
+
[http://graylog2.org/](http://graylog2.org)
|
|
33
|
+
|
|
34
|
+
_Overview to be written_
|
|
35
|
+
|
|
36
|
+
You can use graylog2 with logstash by using the 'gelf' output to send logstash
|
|
37
|
+
events to a graylog2 server. This gives you logstash's excellent input and
|
|
38
|
+
filter features while still being able to use the graylog2 web interface.
|
|
39
|
+
|
|
40
|
+
# whoops
|
|
41
|
+
|
|
42
|
+
[whoops site](http://www.whoopsapp.com/)
|
|
43
|
+
|
|
44
|
+
_Overview to be written_
|
|
45
|
+
|
|
46
|
+
A logstash output to whoops is coming soon - <https://logstash.jira.com/browse/LOGSTASH-133>
|
|
47
|
+
|
|
48
|
+
# flume
|
|
49
|
+
|
|
50
|
+
[flume site](https://github.com/cloudera/flume/wiki)
|
|
51
|
+
|
|
52
|
+
Flume is primarily a transport system aimed at reliably copying logs from
|
|
53
|
+
application servers to HDFS.
|
|
54
|
+
|
|
55
|
+
You can use it with logstash by having a syslog sink configured to shoot logs
|
|
56
|
+
at a logstash syslog input.
|
|
57
|
+
|
|
58
|
+
# scribe
|
|
59
|
+
|
|
60
|
+
_Overview to be written_
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: logstash docs for <%= section %>s/<%= name %>
|
|
3
|
+
layout: content_right
|
|
4
|
+
---
|
|
5
|
+
<h2><%= name %></h2>
|
|
6
|
+
<h3>Milestone: <a href="../plugin-milestones"><%= @milestone %></a></h3>
|
|
7
|
+
|
|
8
|
+
<%= description %>
|
|
9
|
+
|
|
10
|
+
<% if !@flags.empty? -%>
|
|
11
|
+
<!-- Flags are deprecated
|
|
12
|
+
<h3> Flags </h3>
|
|
13
|
+
|
|
14
|
+
This plugin provides the following flags:
|
|
15
|
+
|
|
16
|
+
<dl>
|
|
17
|
+
<% @flags.each do |flag, description| -%>
|
|
18
|
+
<%# Prefix flag with plugin name. %>
|
|
19
|
+
<dt> <%= flag.gsub(/^--/, "--#{name}-") %> </dt>
|
|
20
|
+
<dd> <%= description %> </dd>
|
|
21
|
+
<% end -%>
|
|
22
|
+
</dl>
|
|
23
|
+
|
|
24
|
+
... flags are deprecated -->
|
|
25
|
+
|
|
26
|
+
<% end -%>
|
|
27
|
+
|
|
28
|
+
<h3> Synopsis </h3>
|
|
29
|
+
|
|
30
|
+
This is what it might look like in your config file:
|
|
31
|
+
|
|
32
|
+
<pre><code><% if section == "codec" -%>
|
|
33
|
+
# with an input plugin:
|
|
34
|
+
# you can also use this codec with an output.
|
|
35
|
+
input {
|
|
36
|
+
file {
|
|
37
|
+
codec => <%= synopsis.split("\n").map { |l| " #{l}" }.join("\n") %>
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
<% else -%>
|
|
41
|
+
<%= section %> {
|
|
42
|
+
<%= synopsis %>
|
|
43
|
+
}
|
|
44
|
+
<% end -%></code></pre>
|
|
45
|
+
|
|
46
|
+
<h3> Details </h3>
|
|
47
|
+
|
|
48
|
+
<% sorted_attributes.each do |name, config| -%>
|
|
49
|
+
<%
|
|
50
|
+
if name.is_a?(Regexp)
|
|
51
|
+
name = "/" + name.to_s.gsub(/^\(\?-mix:/, "").gsub(/\)$/, "") + "/"
|
|
52
|
+
is_regexp = true
|
|
53
|
+
else
|
|
54
|
+
is_regexp = false
|
|
55
|
+
end
|
|
56
|
+
-%>
|
|
57
|
+
<h4>
|
|
58
|
+
<a name="<%= name %>">
|
|
59
|
+
<%= name %><%= " (required setting)" if config[:required] %>
|
|
60
|
+
<%= " <strong>DEPRECATED</strong>" if config[:deprecated] %>
|
|
61
|
+
</a>
|
|
62
|
+
</h4>
|
|
63
|
+
|
|
64
|
+
<ul>
|
|
65
|
+
<% if config[:deprecated] -%>
|
|
66
|
+
<li> DEPRECATED WARNING: This config item is deprecated. It may be removed in a further version. </li>
|
|
67
|
+
<% end -%>
|
|
68
|
+
<% if is_regexp -%>
|
|
69
|
+
<li> The configuration attribute name here is anything that matches the above regular expression. </li>
|
|
70
|
+
<% end -%>
|
|
71
|
+
<% if config[:validate].is_a?(Symbol) -%>
|
|
72
|
+
<li> Value type is <a href="../configuration#<%= config[:validate] %>"><%= config[:validate] %></a> </li>
|
|
73
|
+
<% elsif config[:validate].nil? -%>
|
|
74
|
+
<li> Value type is <a href="../configuration#string">string</a> </li>
|
|
75
|
+
<% elsif config[:validate].is_a?(Array) -%>
|
|
76
|
+
<li> Value can be any of: <%= config[:validate].map(&:inspect).join(", ") %> </li>
|
|
77
|
+
<% end -%>
|
|
78
|
+
<% if config.include?(:default) -%>
|
|
79
|
+
<li> Default value is <%= config[:default].inspect %> </li>
|
|
80
|
+
<% else -%>
|
|
81
|
+
<li> There is no default value for this setting. </li>
|
|
82
|
+
<% end -%>
|
|
83
|
+
</ul>
|
|
84
|
+
|
|
85
|
+
<%= config[:description] %>
|
|
86
|
+
|
|
87
|
+
<% end -%>
|
|
88
|
+
|
|
89
|
+
<hr>
|
|
90
|
+
|
|
91
|
+
This is documentation from <a href="https://github.com/logstash/logstash/blob/v<%= LOGSTASH_VERSION %>/<%= file %>"><%= file %></a>
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Plugin Milestones - logstash
|
|
3
|
+
layout: content_right
|
|
4
|
+
---
|
|
5
|
+
# Plugin Milestones
|
|
6
|
+
|
|
7
|
+
Plugins (inputs/outputs/filters/codecs) have a milestone label in logstash.
|
|
8
|
+
This is to provide an indicator to the end-user as to the kinds of changes
|
|
9
|
+
a given plugin could have between logstash releases.
|
|
10
|
+
|
|
11
|
+
The desire here is to allow plugin developers to quickly iterate on possible
|
|
12
|
+
new plugins while conveying to the end-user a set of expectations about that
|
|
13
|
+
plugin.
|
|
14
|
+
|
|
15
|
+
## Milestone 1
|
|
16
|
+
|
|
17
|
+
Plugins at this milestone need your feedback to improve! Plugins at this
|
|
18
|
+
milestone may change between releases as the community figures out the best way
|
|
19
|
+
for the plugin to behave and be configured.
|
|
20
|
+
|
|
21
|
+
## Milestone 2
|
|
22
|
+
|
|
23
|
+
Plugins at this milestone are more likely to have backwards-compatibility to
|
|
24
|
+
previous releases than do Milestone 1 plugins. This milestone also indicates
|
|
25
|
+
a greater level of in-the-wild usage by the community than the previous
|
|
26
|
+
milestone.
|
|
27
|
+
|
|
28
|
+
## Milestone 3
|
|
29
|
+
|
|
30
|
+
Plugins at this milestone have strong promises towards backwards-compatibility.
|
|
31
|
+
This is enforced with automated tests to ensure behavior and configuration are
|
|
32
|
+
consistent across releases.
|
|
33
|
+
|
|
34
|
+
## Milestone 0
|
|
35
|
+
|
|
36
|
+
This milestone appears at the bottom of the page because it is very
|
|
37
|
+
infrequently used.
|
|
38
|
+
|
|
39
|
+
This milestone marker is used to generally indicate that a plugin has no
|
|
40
|
+
active code maintainer nor does it have support from the community in terms
|
|
41
|
+
of getting help.
|