logstash-perftool 0.1.0

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.
Files changed (54) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +4 -0
  3. data/.rspec +3 -0
  4. data/CONTRIBUTORS +11 -0
  5. data/Gemfile +3 -0
  6. data/LICENSE +13 -0
  7. data/README.md +119 -0
  8. data/Rakefile +10 -0
  9. data/bin/lsperfm +9 -0
  10. data/bin/lsperfm-deps +32 -0
  11. data/examples/config/complex_syslog.conf +46 -0
  12. data/examples/config/json_inout_codec.conf +11 -0
  13. data/examples/config/json_inout_filter.conf +11 -0
  14. data/examples/config/simple.conf +11 -0
  15. data/examples/config/simple_grok.conf +13 -0
  16. data/examples/config/simple_json_out.conf +11 -0
  17. data/examples/input/apache_log.txt +30 -0
  18. data/examples/input/json_medium.txt +10 -0
  19. data/examples/input/simple_10.txt +10 -0
  20. data/examples/input/syslog_acl_10.txt +10 -0
  21. data/examples/suite/basic_performance_long.rb +18 -0
  22. data/examples/suite/basic_performance_quick.rb +18 -0
  23. data/lib/lsperfm.rb +22 -0
  24. data/lib/lsperfm/core.rb +81 -0
  25. data/lib/lsperfm/core/reporter.rb +21 -0
  26. data/lib/lsperfm/core/run.rb +139 -0
  27. data/lib/lsperfm/core/stats.rb +64 -0
  28. data/lib/lsperfm/defaults/config/complex_syslog.conf +46 -0
  29. data/lib/lsperfm/defaults/config/json_inout_codec.conf +11 -0
  30. data/lib/lsperfm/defaults/config/json_inout_filter.conf +11 -0
  31. data/lib/lsperfm/defaults/config/simple.conf +11 -0
  32. data/lib/lsperfm/defaults/config/simple_grok.conf +13 -0
  33. data/lib/lsperfm/defaults/config/simple_json_out.conf +11 -0
  34. data/lib/lsperfm/defaults/input/apache_log.txt +30 -0
  35. data/lib/lsperfm/defaults/input/json_medium.txt +10 -0
  36. data/lib/lsperfm/defaults/input/simple_10.txt +10 -0
  37. data/lib/lsperfm/defaults/input/syslog_acl_10.txt +10 -0
  38. data/lib/lsperfm/defaults/suite.rb +12 -0
  39. data/lib/lsperfm/defaults/suite/long.rb +18 -0
  40. data/lib/lsperfm/defaults/suite/quick.rb +18 -0
  41. data/lib/lsperfm/version.rb +5 -0
  42. data/logstash-perftool.gemspec +24 -0
  43. data/scripts/loader.rb +114 -0
  44. data/scripts/setup.sh +63 -0
  45. data/spec/fixtures/basic_suite.rb +4 -0
  46. data/spec/fixtures/config.yml +4 -0
  47. data/spec/fixtures/simple.conf +11 -0
  48. data/spec/fixtures/simple_10.txt +10 -0
  49. data/spec/fixtures/wrong_config.yml +4 -0
  50. data/spec/lib/runner_spec.rb +35 -0
  51. data/spec/lib/suite_spec.rb +51 -0
  52. data/spec/spec_helper.rb +9 -0
  53. data/suite.rb +46 -0
  54. metadata +154 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: e6022c1e0ceb936a26ecfa1d2e3523de3d24e836
4
+ data.tar.gz: 30e95250b7a8377d36cd8e3cae983795d7262bec
5
+ SHA512:
6
+ metadata.gz: 62171012bd2ba7bd5dd46e3bf271a43a2ca96ef6c7390884465262cef9f17efaad3a94e42e45d178318bbdf6abc43154f25f1990455916a400c5f7eb99dae62f
7
+ data.tar.gz: 613962482e0a065a643ce9c9775f2e143433e812ce2947eb4c1699e21f91ab6db6b1a331e512bbd7082074c49d17dceeb98ee5621e9b6b055d1a48b575e36d25
data/.gitignore ADDED
@@ -0,0 +1,4 @@
1
+ *.lock
2
+ *.gem
3
+ config.txt
4
+ workspace/
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format documentation
2
+ --colour
3
+ --tty
data/CONTRIBUTORS ADDED
@@ -0,0 +1,11 @@
1
+ The following is a list of people who have contributed ideas, code, bug
2
+ reports, or in general have helped logstash along its way.
3
+
4
+ Contributors:
5
+ * Pere Urbon-Bayes (purbon)
6
+ * Colin Surprenant (colin)
7
+
8
+ Note: If you've sent me patches, bug reports, or otherwise contributed to
9
+ logstash, and you aren't on the list above and want to be, please let me know
10
+ and I'll make sure you're here. Contributions from folks like you are what make
11
+ open source awesome.
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source 'http://rubygems.org'
2
+
3
+ gemspec
data/LICENSE ADDED
@@ -0,0 +1,13 @@
1
+ Copyright (c) 2012–2015 Elasticsearch <http://www.elastic.co>
2
+
3
+ Licensed under the Apache License, Version 2.0 (the "License");
4
+ you may not use this file except in compliance with the License.
5
+ You may obtain a copy of the License at
6
+
7
+ http://www.apache.org/licenses/LICENSE-2.0
8
+
9
+ Unless required by applicable law or agreed to in writing, software
10
+ distributed under the License is distributed on an "AS IS" BASIS,
11
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ See the License for the specific language governing permissions and
13
+ limitations under the License.
data/README.md ADDED
@@ -0,0 +1,119 @@
1
+ # Performance Testing for Logstash
2
+
3
+ ## Installation
4
+
5
+ You can use this code as a gem within your logstash project, to proceed with the installation you can either download the code and build the gem using the next command:
6
+
7
+ To run a benchmark using the Logstash Performance meter tool you will need to install this gem in your system, and to do it you can run the next command:
8
+
9
+ * ```gem install logstash-perftool```
10
+
11
+ This will make the last version of this gem available to you.
12
+
13
+ or, if you like to be on the edge, you can add it to your Gemfile like this:
14
+
15
+ gem 'logstash-perftool', :git => 'https://github.com/elastic/logstash-performance-testing.git'
16
+
17
+ and then do budler update.
18
+
19
+ ## Setup and Runtime
20
+
21
+ The most simple scenario you could find is using the default set of
22
+ test, available in this gem. To do this you can simple run the ```lsperfm```
23
+ from the root of your Logstash installation.
24
+
25
+ If you like to add you own configurations and test suites, you need the next data (you can see an example of them at the `examples/` directory):
26
+
27
+ - The logstash configs, found in `..config/`
28
+ - The sample input files, found in `..input/`
29
+ - The suites definitions, found in `..suite/`
30
+
31
+ ### Configuration
32
+
33
+ If you add a file named ```.lsperfm.yml``` in your main logstash directory you can have your configuration and input files in non standard
34
+ location.
35
+
36
+ Example:
37
+
38
+ ```
39
+ default:
40
+ path: 'config-path'
41
+ config: ''
42
+ input: ''
43
+ ```
44
+
45
+ ### Bootstrap
46
+
47
+ Before you can run your test is necessary to bootstrap your logstash installation and install the test dependencies, to do that you must:
48
+
49
+ If you are in 1.5.x:
50
+ - Run `rake bootstrap` to setup the system.
51
+ - Run `lsperfm-deps` to install the test dependencies
52
+ For 1.4:
53
+ - Run `bin/logstash deps` to setup everything.
54
+
55
+ ## Performance tests
56
+
57
+ The test are run in groups called suites.
58
+
59
+ ### How to execute the default tests
60
+
61
+ This is the most simple use case you can have. To run the default tests
62
+ you can simply run ```lsperfm``` from the root of your Logstash
63
+ installation and the tool will use the default test suite.
64
+
65
+ ### How to run a custom test suite
66
+
67
+ - suites examples can be found in `examples/suite/`
68
+
69
+ ```
70
+ lsperfm [suite definition]
71
+ ```
72
+
73
+ a suite file defines a series of tests to run.
74
+
75
+ #### suite file format
76
+
77
+ ```ruby
78
+ # each test can be executed by either target duration using :time => N secs
79
+ # or by number of events with :events => N
80
+ #
81
+ #[
82
+ # {:name => "simple json out", :config => "config/simple_json_out.conf", :input => "input/simple_10.txt", :time => 30},
83
+ # {:name => "simple json out", :config => "config/simple_json_out.conf", :input => "input/simple_10.txt", :events => 50000},
84
+ #]
85
+ #
86
+ [
87
+ {:name => "simple json out", :config => "config/simple_json_out.conf", :input => "input/simple_10.txt", :time => 60},
88
+ {:name => "simple line out", :config => "config/simple.conf", :input => "input/simple_10.txt", :time => 60},
89
+ {:name => "json codec", :config => "config/json_inout_codec.conf", :input => "input/json_medium.txt", :time => 60},
90
+ {:name => "json filter", :config => "config/json_inout_filter.conf", :input => "input/json_medium.txt", :time => 60},
91
+ {:name => "complex syslog", :config => "config/complex_syslog.conf", :input => "input/syslog_acl_10.txt", :time => 60},
92
+ ]
93
+ ```
94
+
95
+ ## Contributing
96
+
97
+ All contributions are welcome: ideas, patches, documentation, bug reports,
98
+ complaints, and even something you drew up on a napkin.
99
+
100
+ Programming is not a required skill. Whatever you've seen about open source and
101
+ maintainers or community members saying "send patches or die" - you will not
102
+ see that here.
103
+
104
+ It is more important to me that you are able to contribute.
105
+
106
+ ### Contribution Steps
107
+
108
+ 1. Test your changes! Write test and run the test suites.
109
+ 2. Please make sure you have signed our [Contributor License
110
+ Agreement](http://www.elastic.co/contributor-agreement/). We are not
111
+ asking you to assign copyright to us, but to give us the right to distribute
112
+ your code without restriction. We ask this of all contributors in order to
113
+ assure our users of the origin and continuing existence of the code. You
114
+ only need to sign the CLA once.
115
+ 3. Send a pull request! Push your changes to your fork of the repository and
116
+ [submit a pull
117
+ request](https://help.github.com/articles/using-pull-requests). In the pull
118
+ request, describe what your changes do and mention any bugs/issues related
119
+ to the pull request.
data/Rakefile ADDED
@@ -0,0 +1,10 @@
1
+ require "bundler/gem_tasks"
2
+
3
+ require 'rspec'
4
+ require 'rspec/core/rake_task'
5
+
6
+ desc "Run all specs"
7
+ RSpec::Core::RakeTask.new(:spec) do |t|
8
+ t.fail_on_error = true
9
+ t.verbose = false
10
+ end
data/bin/lsperfm ADDED
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # encoding: utf-8
4
+
5
+ $LOAD_PATH << "."
6
+
7
+ require 'lsperfm'
8
+
9
+ LogStash::PerformanceMeter.invoke
data/bin/lsperfm-deps ADDED
@@ -0,0 +1,32 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # encoding: utf-8
4
+
5
+ puts "installing dependencies..."
6
+
7
+ logstash_home = ENV['LOGSTASH_HOME'] || Dir.pwd
8
+ base_dir = (ARGV.size < 1 ? logstash_home : ARGV[0])
9
+
10
+ logstash = File.join(base_dir, "bin", "logstash")
11
+ version = `#{logstash} --version`
12
+
13
+ if version[/\d\.\d\.\d/] =~ /1\.4\./
14
+ # why do deps here? can't we assume you must have a working logstash distribution?
15
+ # `#{logstash} deps 2>&1`
16
+ else
17
+ inputs = ['stdin'].map{|s| "input-#{s}"}
18
+ outputs = ['stdout'].map{|s| "output-#{s}"}
19
+ filters = ['clone', 'json', 'grok', 'syslog_pri', 'date', 'mutate'].map{|s| "filter-#{s}"}
20
+
21
+ # why do bootstrap here? can't we assume you must have a working logstash distribution?
22
+ # `#{rake} bootstrap`
23
+
24
+ [inputs, outputs, filters].each do |plugins|
25
+ plugins.map{|s| "logstash-#{s}"}.each do |plugin|
26
+ command = "#{File.join(base_dir, "bin", "plugin")} install #{plugin}"
27
+ puts "#{command}\n#{%x[#{command}]}"
28
+ end
29
+ end
30
+ end
31
+
32
+ puts "done!"
@@ -0,0 +1,46 @@
1
+ input {
2
+ stdin {
3
+ type => syslog
4
+ }
5
+ }
6
+
7
+ filter {
8
+ if [type] == "syslog" {
9
+ grok {
10
+ match => { "message" => "<%{POSINT:syslog_pri}>%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{PROG:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }
11
+ add_field => [ "received_at", "%{@timestamp}" ]
12
+ add_field => [ "received_from", "%{syslog_hostname}" ]
13
+ }
14
+ syslog_pri { }
15
+ date {
16
+ match => ["syslog_timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ]
17
+ }
18
+
19
+ if [syslog_timestamp] {
20
+ mutate {
21
+ add_field => [ "[times][created_at]", "%{syslog_timestamp}"]
22
+ add_field => [ "[times][received_at]", "%{@timestamp}"]
23
+ }
24
+ }
25
+
26
+ mutate {
27
+ add_field => [ "[hosts][source]", "%{received_from}"]
28
+ add_field => [ "[level][facility]", "%{syslog_facility}"]
29
+ add_field => [ "[level][severity]", "%{syslog_severity}"]
30
+ }
31
+
32
+ if !("_grokparsefailure" in [tags]) {
33
+ mutate {
34
+ replace => [ "@source_host", "%{syslog_hostname}" ]
35
+ replace => [ "@message", "%{syslog_message}" ]
36
+ }
37
+ }
38
+ mutate {
39
+ remove_field => [ "syslog_hostname", "syslog_message", "syslog_timestamp" ]
40
+ }
41
+ }
42
+ }
43
+
44
+ output {
45
+ stdout { codec => json_lines }
46
+ }
@@ -0,0 +1,11 @@
1
+ input {
2
+ stdin { codec => "json_lines" }
3
+ }
4
+
5
+ filter {
6
+ clone {}
7
+ }
8
+
9
+ output {
10
+ stdout { codec => json_lines }
11
+ }
@@ -0,0 +1,11 @@
1
+ input {
2
+ stdin {}
3
+ }
4
+
5
+ filter {
6
+ json { source => "message" }
7
+ }
8
+
9
+ output {
10
+ stdout { codec => json_lines }
11
+ }
@@ -0,0 +1,11 @@
1
+ input {
2
+ stdin {}
3
+ }
4
+
5
+ filter {
6
+ clone {}
7
+ }
8
+
9
+ output {
10
+ stdout { codec => line }
11
+ }
@@ -0,0 +1,13 @@
1
+ input {
2
+ stdin { type => "apache" }
3
+ }
4
+
5
+ filter {
6
+ grok {
7
+ match => {"message" => "%{COMBINEDAPACHELOG}"}
8
+ }
9
+ }
10
+
11
+ output {
12
+ stdout { codec => line }
13
+ }
@@ -0,0 +1,11 @@
1
+ input {
2
+ stdin {}
3
+ }
4
+
5
+ filter {
6
+ clone {}
7
+ }
8
+
9
+ output {
10
+ stdout { codec => json_lines }
11
+ }
@@ -0,0 +1,30 @@
1
+ 83.149.9.216 - - [17/Sep/2014:07:13:42 +0000] "GET /presentations/logstash-monitorama-2013/images/kibana-search.png HTTP/1.1" 200 203023 "http://semicomplete.com/presentations/logstash-monitorama-2013/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36"
2
+ 83.149.9.216 - - [17/Sep/2014:07:13:42 +0000] "GET /presentations/logstash-monitorama-2013/images/kibana-dashboard3.png HTTP/1.1" 200 171717 "http://semicomplete.com/presentations/logstash-monitorama-2013/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36"
3
+ 83.149.9.216 - - [17/Sep/2014:07:13:44 +0000] "GET /presentations/logstash-monitorama-2013/plugin/highlight/highlight.js HTTP/1.1" 200 26185 "http://semicomplete.com/presentations/logstash-monitorama-2013/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36"
4
+ 83.149.9.216 - - [17/Sep/2014:07:13:44 +0000] "GET /presentations/logstash-monitorama-2013/plugin/zoom-js/zoom.js HTTP/1.1" 200 7697 "http://semicomplete.com/presentations/logstash-monitorama-2013/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36"
5
+ 83.149.9.216 - - [17/Sep/2014:07:13:45 +0000] "GET /presentations/logstash-monitorama-2013/plugin/notes/notes.js HTTP/1.1" 200 2892 "http://semicomplete.com/presentations/logstash-monitorama-2013/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36"
6
+ 83.149.9.216 - - [17/Sep/2014:07:13:42 +0000] "GET /presentations/logstash-monitorama-2013/images/sad-medic.png HTTP/1.1" 200 430406 "http://semicomplete.com/presentations/logstash-monitorama-2013/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36"
7
+ 83.149.9.216 - - [17/Sep/2014:07:13:45 +0000] "GET /presentations/logstash-monitorama-2013/css/fonts/Roboto-Bold.ttf HTTP/1.1" 200 38720 "http://semicomplete.com/presentations/logstash-monitorama-2013/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36"
8
+ 83.149.9.216 - - [17/Sep/2014:07:13:45 +0000] "GET /presentations/logstash-monitorama-2013/css/fonts/Roboto-Regular.ttf HTTP/1.1" 200 41820 "http://semicomplete.com/presentations/logstash-monitorama-2013/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36"
9
+ 83.149.9.216 - - [17/Sep/2014:07:13:45 +0000] "GET /presentations/logstash-monitorama-2013/images/frontend-response-codes.png HTTP/1.1" 200 52878 "http://semicomplete.com/presentations/logstash-monitorama-2013/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36"
10
+ 83.149.9.216 - - [17/Sep/2014:07:13:43 +0000] "GET /presentations/logstash-monitorama-2013/images/kibana-dashboard.png HTTP/1.1" 200 321631 "http://semicomplete.com/presentations/logstash-monitorama-2013/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36"
11
+ 83.149.9.216 - - [17/Sep/2014:07:13:46 +0000] "GET /presentations/logstash-monitorama-2013/images/Dreamhost_logo.svg HTTP/1.1" 200 2126 "http://semicomplete.com/presentations/logstash-monitorama-2013/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36"
12
+ 83.149.9.216 - - [17/Sep/2014:07:13:43 +0000] "GET /presentations/logstash-monitorama-2013/images/kibana-dashboard2.png HTTP/1.1" 200 394967 "http://semicomplete.com/presentations/logstash-monitorama-2013/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36"
13
+ 83.149.9.216 - - [17/Sep/2014:07:13:46 +0000] "GET /presentations/logstash-monitorama-2013/images/apache-icon.gif HTTP/1.1" 200 8095 "http://semicomplete.com/presentations/logstash-monitorama-2013/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36"
14
+ 83.149.9.216 - - [17/Sep/2014:07:13:46 +0000] "GET /presentations/logstash-monitorama-2013/images/nagios-sms5.png HTTP/1.1" 200 78075 "http://semicomplete.com/presentations/logstash-monitorama-2013/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36"
15
+ 83.149.9.216 - - [17/Sep/2014:07:13:46 +0000] "GET /presentations/logstash-monitorama-2013/images/redis.png HTTP/1.1" 200 25230 "http://semicomplete.com/presentations/logstash-monitorama-2013/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36"
16
+ 83.149.9.216 - - [17/Sep/2014:07:13:47 +0000] "GET /presentations/logstash-monitorama-2013/images/elasticsearch.png HTTP/1.1" 200 8026 "http://semicomplete.com/presentations/logstash-monitorama-2013/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36"
17
+ 83.149.9.216 - - [17/Sep/2014:07:13:47 +0000] "GET /presentations/logstash-monitorama-2013/images/logstashbook.png HTTP/1.1" 200 54662 "http://semicomplete.com/presentations/logstash-monitorama-2013/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36"
18
+ 83.149.9.216 - - [17/Sep/2014:07:13:47 +0000] "GET /presentations/logstash-monitorama-2013/images/github-contributions.png HTTP/1.1" 200 34245 "http://semicomplete.com/presentations/logstash-monitorama-2013/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36"
19
+ 83.149.9.216 - - [17/Sep/2014:07:13:47 +0000] "GET /presentations/logstash-monitorama-2013/css/print/paper.css HTTP/1.1" 200 4254 "http://semicomplete.com/presentations/logstash-monitorama-2013/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36"
20
+ 83.149.9.216 - - [17/Sep/2014:07:13:47 +0000] "GET /presentations/logstash-monitorama-2013/images/1983_delorean_dmc-12-pic-38289.jpeg HTTP/1.1" 200 220562 "http://semicomplete.com/presentations/logstash-monitorama-2013/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36"
21
+ 83.149.9.216 - - [17/Sep/2014:07:13:46 +0000] "GET /presentations/logstash-monitorama-2013/images/simple-inputs-filters-outputs.jpg HTTP/1.1" 200 1168622 "http://semicomplete.com/presentations/logstash-monitorama-2013/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36"
22
+ 83.149.9.216 - - [17/Sep/2014:07:13:46 +0000] "GET /presentations/logstash-monitorama-2013/images/tiered-outputs-to-inputs.jpg HTTP/1.1" 200 1079983 "http://semicomplete.com/presentations/logstash-monitorama-2013/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36"
23
+ 83.149.9.216 - - [17/Sep/2014:07:13:53 +0000] "GET /favicon.ico HTTP/1.1" 200 3638 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36"
24
+ 24.236.252.67 - - [17/Sep/2014:07:14:10 +0000] "GET /favicon.ico HTTP/1.1" 200 3638 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:26.0) Gecko/20100101 Firefox/26.0"
25
+ 93.114.45.13 - - [17/Sep/2014:07:14:32 +0000] "GET /articles/dynamic-dns-with-dhcp/ HTTP/1.1" 200 18848 "http://www.google.ro/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0CCwQFjAB&url=http%3A%2F%2Fwww.semicomplete.com%2Farticles%2Fdynamic-dns-with-dhcp%2F&ei=W88AU4n9HOq60QXbv4GwBg&usg=AFQjCNEF1X4Rs52UYQyLiySTQxa97ozM4g&bvm=bv.61535280,d.d2k" "Mozilla/5.0 (X11; Linux x86_64; rv:25.0) Gecko/20100101 Firefox/25.0"
26
+ 93.114.45.13 - - [17/Sep/2014:07:14:32 +0000] "GET /reset.css HTTP/1.1" 200 1015 "http://www.semicomplete.com/articles/dynamic-dns-with-dhcp/" "Mozilla/5.0 (X11; Linux x86_64; rv:25.0) Gecko/20100101 Firefox/25.0"
27
+ 93.114.45.13 - - [17/Sep/2014:07:14:33 +0000] "GET /style2.css HTTP/1.1" 200 4877 "http://www.semicomplete.com/articles/dynamic-dns-with-dhcp/" "Mozilla/5.0 (X11; Linux x86_64; rv:25.0) Gecko/20100101 Firefox/25.0"
28
+ 93.114.45.13 - - [17/Sep/2014:07:14:33 +0000] "GET /favicon.ico HTTP/1.1" 200 3638 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:25.0) Gecko/20100101 Firefox/25.0"
29
+ 93.114.45.13 - - [17/Sep/2014:07:14:33 +0000] "GET /images/jordan-80.png HTTP/1.1" 200 6146 "http://www.semicomplete.com/articles/dynamic-dns-with-dhcp/" "Mozilla/5.0 (X11; Linux x86_64; rv:25.0) Gecko/20100101 Firefox/25.0"
30
+ 93.114.45.13 - - [17/Sep/2014:07:14:33 +0000] "GET /images/web/2009/banner.png HTTP/1.1" 200 52315 "http://www.semicomplete.com/style2.css" "Mozilla/5.0 (X11; Linux x86_64; rv:25.0) Gecko/20100101 Firefox/25.0"
@@ -0,0 +1,10 @@
1
+ {"_scroll_id":"xxx", "took":5, "timed_out":false, "_shards":{"total":15,"successful":15,"failed":0}, "hits":{"total":1000050, "max_score":1.0, "hits":[{"_index":"logstash2", "_type":"logs", "_id":"AmaqL7VuSWKF-F6N_Gz72g", "_score":1.0, "_source" : {"message":"foobar", "@version":"1", "@timestamp":"2014-05-19T21:08:39.000Z", "host":"colin-mbp13r"} } ] } }
2
+ {"_scroll_id":"xxx", "took":5, "timed_out":false, "_shards":{"total":15,"successful":15,"failed":0}, "hits":{"total":1000050, "max_score":1.0, "hits":[{"_index":"logstash2", "_type":"logs", "_id":"AmaqL7VuSWKF-F6N_Gz72g", "_score":1.0, "_source" : {"message":"foobar", "@version":"1", "@timestamp":"2014-05-19T21:08:39.000Z", "host":"colin-mbp13r"} } ] } }
3
+ {"_scroll_id":"xxx", "took":5, "timed_out":false, "_shards":{"total":15,"successful":15,"failed":0}, "hits":{"total":1000050, "max_score":1.0, "hits":[{"_index":"logstash2", "_type":"logs", "_id":"AmaqL7VuSWKF-F6N_Gz72g", "_score":1.0, "_source" : {"message":"foobar", "@version":"1", "@timestamp":"2014-05-19T21:08:39.000Z", "host":"colin-mbp13r"} } ] } }
4
+ {"_scroll_id":"xxx", "took":5, "timed_out":false, "_shards":{"total":15,"successful":15,"failed":0}, "hits":{"total":1000050, "max_score":1.0, "hits":[{"_index":"logstash2", "_type":"logs", "_id":"AmaqL7VuSWKF-F6N_Gz72g", "_score":1.0, "_source" : {"message":"foobar", "@version":"1", "@timestamp":"2014-05-19T21:08:39.000Z", "host":"colin-mbp13r"} } ] } }
5
+ {"_scroll_id":"xxx", "took":5, "timed_out":false, "_shards":{"total":15,"successful":15,"failed":0}, "hits":{"total":1000050, "max_score":1.0, "hits":[{"_index":"logstash2", "_type":"logs", "_id":"AmaqL7VuSWKF-F6N_Gz72g", "_score":1.0, "_source" : {"message":"foobar", "@version":"1", "@timestamp":"2014-05-19T21:08:39.000Z", "host":"colin-mbp13r"} } ] } }
6
+ {"_scroll_id":"xxx", "took":5, "timed_out":false, "_shards":{"total":15,"successful":15,"failed":0}, "hits":{"total":1000050, "max_score":1.0, "hits":[{"_index":"logstash2", "_type":"logs", "_id":"AmaqL7VuSWKF-F6N_Gz72g", "_score":1.0, "_source" : {"message":"foobar", "@version":"1", "@timestamp":"2014-05-19T21:08:39.000Z", "host":"colin-mbp13r"} } ] } }
7
+ {"_scroll_id":"xxx", "took":5, "timed_out":false, "_shards":{"total":15,"successful":15,"failed":0}, "hits":{"total":1000050, "max_score":1.0, "hits":[{"_index":"logstash2", "_type":"logs", "_id":"AmaqL7VuSWKF-F6N_Gz72g", "_score":1.0, "_source" : {"message":"foobar", "@version":"1", "@timestamp":"2014-05-19T21:08:39.000Z", "host":"colin-mbp13r"} } ] } }
8
+ {"_scroll_id":"xxx", "took":5, "timed_out":false, "_shards":{"total":15,"successful":15,"failed":0}, "hits":{"total":1000050, "max_score":1.0, "hits":[{"_index":"logstash2", "_type":"logs", "_id":"AmaqL7VuSWKF-F6N_Gz72g", "_score":1.0, "_source" : {"message":"foobar", "@version":"1", "@timestamp":"2014-05-19T21:08:39.000Z", "host":"colin-mbp13r"} } ] } }
9
+ {"_scroll_id":"xxx", "took":5, "timed_out":false, "_shards":{"total":15,"successful":15,"failed":0}, "hits":{"total":1000050, "max_score":1.0, "hits":[{"_index":"logstash2", "_type":"logs", "_id":"AmaqL7VuSWKF-F6N_Gz72g", "_score":1.0, "_source" : {"message":"foobar", "@version":"1", "@timestamp":"2014-05-19T21:08:39.000Z", "host":"colin-mbp13r"} } ] } }
10
+ {"_scroll_id":"xxx", "took":5, "timed_out":false, "_shards":{"total":15,"successful":15,"failed":0}, "hits":{"total":1000050, "max_score":1.0, "hits":[{"_index":"logstash2", "_type":"logs", "_id":"AmaqL7VuSWKF-F6N_Gz72g", "_score":1.0, "_source" : {"message":"foobar", "@version":"1", "@timestamp":"2014-05-19T21:08:39.000Z", "host":"colin-mbp13r"} } ] } }
@@ -0,0 +1,10 @@
1
+ test 01
2
+ test 02
3
+ test 03
4
+ test 04
5
+ test 05
6
+ test 06
7
+ test 07
8
+ test 08
9
+ test 09
10
+ test 10
@@ -0,0 +1,10 @@
1
+ <164>Oct 26 15:19:25 1.2.3.4 %ASA-4-106023: Deny udp src DRAC:10.1.2.3/43434 dst outside:192.168.0.1/53 by access-group "acl_drac" [0x0, 0x0]
2
+ <164>Oct 6 15:20:25 2.2.3.4 %ASA-4-106023: Deny udp src DRAC:10.1.2.4/43434 dst outside:192.168.0.1/53 by access-group "acl_drac" [0x0, 0x0]
3
+ <164>Oct 1 15:21:25 3.2.3.4 %ASA-4-106023: Allow tcp src DRAC:10.1.2.5/43434 dst outside:192.168.0.1/53 by access-group "acl_drac" [0x0, 0x0]
4
+ <164>Oct 30 15:22:25 4.2.3.4 %ASA-4-106023: Allow tcp src DRAC:10.1.2.6/43434 dst outside:192.168.0.1/53 by access-group "acl_drac" [0x0, 0x0]
5
+ <164>Oct 26 15:19:25 1.2.3.4 %ASA-4-106023: Deny udp src DRAC:10.1.2.3/43434 dst outside:192.168.0.1/53 by access-group "acl_drac" [0x0, 0x0]
6
+ <164>Oct 6 15:20:25 2.2.3.4 %ASA-4-106023: Deny udp src DRAC:10.1.2.4/43434 dst outside:192.168.0.1/53 by access-group "acl_drac" [0x0, 0x0]
7
+ <164>Oct 1 15:21:25 3.2.3.4 %ASA-4-106023: Allow tcp src DRAC:10.1.2.5/43434 dst outside:192.168.0.1/53 by access-group "acl_drac" [0x0, 0x0]
8
+ <164>Oct 30 15:22:25 4.2.3.4 %ASA-4-106023: Allow tcp src DRAC:10.1.2.6/43434 dst outside:192.168.0.1/53 by access-group "acl_drac" [0x0, 0x0]
9
+ <164>Oct 26 15:19:25 1.2.3.4 %ASA-4-106023: Deny udp src DRAC:10.1.2.3/43434 dst outside:192.168.0.1/53 by access-group "acl_drac" [0x0, 0x0]
10
+ <164>Oct 6 15:20:25 2.2.3.4 %ASA-4-106023: Deny udp src DRAC:10.1.2.4/43434 dst outside:192.168.0.1/53 by access-group "acl_drac" [0x0, 0x0]
@@ -0,0 +1,18 @@
1
+ # format description:
2
+ # each test can be executed by either target duration using :time => N secs
3
+ # or by number of events with :events => N
4
+ #
5
+ #[
6
+ # {:name => "simple json out", :config => "config/simple_json_out.conf", :input => "input/simple_10.txt", :time => 30},
7
+ # {:name => "simple json out", :config => "config/simple_json_out.conf", :input => "input/simple_10.txt", :events => 50000},
8
+ #]
9
+ #
10
+ [
11
+ {:name => "simple line in/out", :config => "config/simple.conf", :input => "input/simple_10.txt", :time => 120},
12
+ {:name => "simple line in/json out", :config => "config/simple_json_out.conf", :input => "input/simple_10.txt", :time => 120},
13
+ {:name => "json codec in/out", :config => "config/json_inout_codec.conf", :input => "input/json_medium.txt", :time => 120},
14
+ {:name => "line in/json filter/json out", :config => "config/json_inout_filter.conf", :input => "input/json_medium.txt", :time => 120},
15
+ {:name => "apache in/json out", :config => "config/simple.conf", :input => "input/apache_log.txt", :time => 120},
16
+ {:name => "apache in/grok codec/json out", :config => "config/simple_grok.conf", :input => "input/apache_log.txt", :time => 120},
17
+ {:name => "syslog in/json out", :config => "config/complex_syslog.conf", :input => "input/syslog_acl_10.txt", :time => 120},
18
+ ]
@@ -0,0 +1,18 @@
1
+ # format description:
2
+ # each test can be executed by either target duration using :time => N secs
3
+ # or by number of events with :events => N
4
+ #
5
+ #[
6
+ # {:name => "simple json out", :config => "config/simple_json_out.conf", :input => "input/simple_10.txt", :time => 30},
7
+ # {:name => "simple json out", :config => "config/simple_json_out.conf", :input => "input/simple_10.txt", :events => 50000},
8
+ #]
9
+ #
10
+ [
11
+ {:name => "simple line in/out", :config => "config/simple.conf", :input => "input/simple_10.txt", :time => 30},
12
+ {:name => "simple line in/json out", :config => "config/simple_json_out.conf", :input => "input/simple_10.txt", :time => 30},
13
+ {:name => "json codec in/out", :config => "config/json_inout_codec.conf", :input => "input/json_medium.txt", :time => 30},
14
+ {:name => "line in/json filter/json out", :config => "config/json_inout_filter.conf", :input => "input/json_medium.txt", :time => 30},
15
+ {:name => "apache in/json out", :config => "config/simple.conf", :input => "input/apache_log.txt", :time => 30},
16
+ {:name => "apache in/grok codec/json out", :config => "config/simple_grok.conf", :input => "input/apache_log.txt", :time => 30},
17
+ {:name => "syslog in/json out", :config => "config/complex_syslog.conf", :input => "input/syslog_acl_10.txt", :time => 30},
18
+ ]