fluentd-ui 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of fluentd-ui might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7e4f40390e9ffbca20df06168b4d5591e478641699ed9169df54c2bbf8dd0dec
4
- data.tar.gz: 2a3a5aed7e28f5cd816ac8f680a849ba0288749aa89f1a3f004b40890731f9e7
3
+ metadata.gz: d6d045b90f722b9793cbf8e23abcfc7a9d78b00a898001bbdbd0c3c590a4de9a
4
+ data.tar.gz: 0dc77c43a23e146587351f375c0aaa976fafbd5cefcf1c10e053f611f1efee42
5
5
  SHA512:
6
- metadata.gz: '079b369d1b60180012516e425a933fc4a6730f86268066d9fb172198ce57468099b3ec4bdece068c2417cf70cbfe87b43da25bf1ada3ec847e0300de1a14830c'
7
- data.tar.gz: 6ddddd16fe8a61df18008eefc8c932e2a9cceffae0888ebdefe9ca1ce8352f4f6d2bf44e211c11a7a88a0bb5cf1bbe2f51c52b257e9b61b68d475eb9439a86a9
6
+ metadata.gz: f79d69613ea99bc156ba20899c0334b6919238181b5635acde0f31e5119f7c33bd749a2a5aee8195923fe29b0bb9152074ab9e2b2c85eec87e6f30503e73d47d
7
+ data.tar.gz: 49938a1d5aa8b4704deedc1c0a237b539a11661067a24a0c9fda5ca7e14dce96c504a3374257056d92e39bc13d1c1557b92f1c4aeecf80549a69d57ddb8f81eb
@@ -1,3 +1,11 @@
1
+ ## Release 1.0.1 - 2018/09/14
2
+
3
+ * [maintenance] Update rubyzip [#263](https://github.com/fluent/fluentd-ui/pull/263)
4
+ * [fixed] Fix CodeMirror visualization error[#260](https://github.com/fluent/fluentd-ui/pull/260)
5
+ * [improvement] Add note on dashboard [#259](https://github.com/fluent/fluentd-ui/pull/259)
6
+ * [maintenance] Remove unused grok support [#257](https://github.com/fluent/fluentd-ui/pull/257)
7
+ * [improvement] Improve login page [#258](https://github.com/fluent/fluentd-ui/pull/258)
8
+
1
9
  ## Release 1.0.0 - 2018/08/17
2
10
 
3
11
  * [maintenance] Update recommended plugins [#226](https://github.com/fluent/fluentd-ui/pull/226)
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- fluentd-ui (1.0.0)
4
+ fluentd-ui (1.0.1)
5
5
  addressable
6
6
  bootsnap (>= 1.1.0)
7
7
  bundler
@@ -174,7 +174,7 @@ GEM
174
174
  fluent-plugin-td (1.0.0)
175
175
  fluentd (>= 0.14.13, < 2)
176
176
  td-client (~> 1.0)
177
- fluentd (1.2.4)
177
+ fluentd (1.2.5)
178
178
  cool.io (>= 1.4.5, < 2.0.0)
179
179
  dig_rb (~> 1.0.0)
180
180
  http_parser.rb (>= 0.5.1, < 0.7.0)
@@ -292,7 +292,7 @@ GEM
292
292
  ruby_dep (1.5.0)
293
293
  ruby_parser (3.11.0)
294
294
  sexp_processor (~> 4.9)
295
- rubyzip (1.2.1)
295
+ rubyzip (1.2.2)
296
296
  safe_yaml (1.0.4)
297
297
  sass (3.5.7)
298
298
  sass-listen (~> 4.0.0)
@@ -161,6 +161,16 @@ label {
161
161
  resize: both;
162
162
  }
163
163
 
164
+ .fluentd-note {
165
+ display: block;
166
+ padding: 0.5em 1rem;
167
+ color: #999;
168
+ }
169
+
170
+ .fluentd-note:hover {
171
+ color: #495057;
172
+ }
173
+
164
174
  .fluentd-status {
165
175
  .running {
166
176
  color: #090;
@@ -188,4 +198,3 @@ label {
188
198
  border-radius: 3px;
189
199
  margin: 10px 0px;
190
200
  }
191
-
@@ -27,12 +27,6 @@ class ApiController < ApplicationController
27
27
  render json: { error: "#{ex.class}: #{ex.message}" }
28
28
  end
29
29
 
30
- def grok_to_regexp
31
- grok = GrokConverter.new
32
- grok.load_patterns
33
- render text: grok.convert_to_regexp(params[:grok_str]).source
34
- end
35
-
36
30
  private
37
31
 
38
32
  def prepare_plugin_config
@@ -29,7 +29,7 @@ class FluentdController < ApplicationController
29
29
  end
30
30
  redirect_to daemon_path
31
31
  end
32
-
32
+
33
33
  def destroy
34
34
  @fluentd.agent.stop if @fluentd.agent.running?
35
35
  @fluentd.destroy
@@ -51,7 +51,7 @@ class FluentdController < ApplicationController
51
51
  private
52
52
 
53
53
  def fluentd_params
54
- params.require(:fluentd).permit(:log_file, :pid_file, :config_file, :variant, :api_endpoint)
54
+ params.require(:fluentd).permit(:log_file, :pid_file, :config_file, :note, :variant, :api_endpoint)
55
55
  end
56
56
 
57
57
  def check_fluentd_exists
@@ -6,23 +6,23 @@ import "lodash/lodash";
6
6
  // See: http://codemirror.net/doc/manual.html#modeapi
7
7
  // and sample mode files: https://github.com/codemirror/CodeMirror/tree/master/mode
8
8
 
9
- CodeMirror.defineMode("fluentd", function(){
9
+ CodeMirror.defineMode("fluentd", function() {
10
10
  return {
11
- startState: function(aa){
11
+ startState: function(aa) {
12
12
  return { "context" : null };
13
13
  },
14
- token: function(stream, state){
15
- if(stream.eatWhile(/[ \t]/)){
14
+ token: function(stream, state) {
15
+ if (stream.eatWhile(/[ \t]/)) {
16
16
  // ignore indenting spaces
17
17
  stream.skipTo(stream.peek());
18
18
  return;
19
19
  }
20
- if(stream.eol()){
20
+ if (stream.eol()) {
21
21
  // reached end of line
22
22
  return;
23
23
  }
24
24
 
25
- switch(stream.peek()){
25
+ switch (stream.peek()) {
26
26
  case "#":
27
27
  stream.skipToEnd();
28
28
  return "comment";
@@ -35,7 +35,7 @@ CodeMirror.defineMode("fluentd", function(){
35
35
  state.context = "inner-definition";
36
36
  return "keyword";
37
37
  default:
38
- switch(state.context){
38
+ switch (state.context) {
39
39
  case "inner-bracket":
40
40
  stream.eat(/[^#<>]+/);
41
41
  return "keyword";
@@ -44,7 +44,15 @@ CodeMirror.defineMode("fluentd", function(){
44
44
  state.context = "inner-definition-keyword-appeared";
45
45
  return "variable";
46
46
  case "inner-definition-keyword-appeared":
47
- stream.eatWhile(/[^#]/);
47
+ let eatBuiltin = function(stream, state) {
48
+ stream.eatWhile(/[^#]/);
49
+ if (stream.current().match(/\\$/)) {
50
+ stream.next() && eatBuiltin(stream, state);
51
+ } else {
52
+ return;
53
+ }
54
+ };
55
+ eatBuiltin(stream, state);
48
56
  state.context = "inner-definition";
49
57
  return "builtin";
50
58
  default:
@@ -66,18 +74,18 @@ function codemirrorify(el) {
66
74
  }
67
75
 
68
76
  $(function(){
69
- $(".js-fluentd-config-editor").each(function(_, el){
77
+ $(".js-fluentd-config-editor").each(function(_, el) {
70
78
  codemirrorify(el);
71
79
  });
72
80
  });
73
81
 
74
82
  Vue.directive("config-editor", {
75
- bind: function(el, binding, vnode, oldVnode){
83
+ bind: function(el, binding, vnode, oldVnode) {
76
84
  // NOTE: needed delay for waiting CodeMirror setup
77
- _.delay(function(textarea){
85
+ _.delay(function(textarea) {
78
86
  let cm = codemirrorify(textarea);
79
87
  // textarea.codemirror = cm; // for test, but doesn't work for now (working on Chrome, but Poltergeist not)
80
- cm.on("change", function(code_mirror){
88
+ cm.on("change", function(code_mirror) {
81
89
  // bridge Vue - CodeMirror world
82
90
  el.dataset.content = code_mirror.getValue();
83
91
  });
@@ -10,7 +10,7 @@ class Fluentd
10
10
 
11
11
  before_validation :expand_paths
12
12
 
13
- COLUMNS = [:id, :variant, :log_file, :pid_file, :config_file]
13
+ COLUMNS = [:id, :variant, :log_file, :pid_file, :config_file, :note]
14
14
  DEFAULT_CONF = <<-CONF.strip_heredoc
15
15
  <source>
16
16
  # http://docs.fluentd.org/articles/in_forward
@@ -30,15 +30,6 @@ class Fluentd
30
30
  :regexp
31
31
  end
32
32
  end
33
-
34
- def grok
35
- @grok ||=
36
- begin
37
- grok = GrokConverter.new
38
- grok.load_patterns
39
- grok
40
- end
41
- end
42
33
  end
43
34
  end
44
35
  end
@@ -28,4 +28,7 @@
28
28
  = f.hidden_field :config_file
29
29
  - else
30
30
  = f.text_field :config_file, class: "form-control"
31
+ .form-group
32
+ = f.label :note
33
+ = f.text_field :note, class: "form-control"
31
34
  = f.submit btn, class: "btn btn-primary"
@@ -52,6 +52,9 @@
52
52
  %tr
53
53
  %th= @fluentd.class.human_attribute_name(:config_file)
54
54
  %td= @fluentd.agent.config_file
55
+ %tr
56
+ %th= @fluentd.class.human_attribute_name(:note)
57
+ %td= @fluentd.note
55
58
  .row
56
59
  .col-xl-12
57
60
  = preserve do # partial containing <pre>, so shouldn't break indent
@@ -30,6 +30,9 @@
30
30
  <%= render partial: "shared/global_nav" %>
31
31
  <ul class="navbar-nav ml-auto">
32
32
  <%- if @fluentd %>
33
+ <li class="nav-item fluentd-note">
34
+ <%= @fluentd.note %>
35
+ </li>
33
36
  <li class="nav-item fluentd-status">
34
37
  <a class="nav-link" href="<%= daemon_path %>" data-toggle="tooltip" data-placement="bottom" title="fluentd <%= fluentd_status_message %>">
35
38
  <%= fluentd_status_icon %>
@@ -6,13 +6,16 @@
6
6
  <meta charset="utf-8">
7
7
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
8
8
 
9
- <title>Fluentd-UI</title>
9
+ <title><%= fluentd_ui_title %></title>
10
10
  <%= stylesheet_link_tag 'application', media: 'all'%>
11
11
  <%= javascript_pack_tag 'application' %>
12
12
  <%= csrf_meta_tags %>
13
13
  </head>
14
14
 
15
- <body class="bg-light">
15
+ <body class="fixed-nav bg-light">
16
+ <nav class="navbar navbar-expand-lg navbar-light bg-light fixed-top" id="mainNav">
17
+ <%= link_to fluentd_ui_logo, root_path, class: "navbar-brand fluentd-ui-logo" %>
18
+ </nav>
16
19
  <div class="container">
17
20
  <%= yield %>
18
21
  </div>
@@ -6,10 +6,10 @@
6
6
  #plugin-setting
7
7
  - # NOTE: plugin_setting_form_action_url is defined at SettingConcern
8
8
  = form_with(model: setting, scope: :setting, url: plugin_setting_form_action_url(fluentd), local: true, class: "ignore-rails-error-div", builder: FluentdFormBuilder) do |form|
9
- - @setting.common_options.each do |key|
9
+ - setting.common_options.each do |key|
10
10
  = form.field(key)
11
11
 
12
- - if @setting.have_buffer_section?
12
+ - if setting.have_buffer_section?
13
13
  %owned-plugin-form{"v-bind:id" => "'buffer-section'",
14
14
  "v-bind:options-json" => "'#{Fluent::Plugin::BUFFER_REGISTRY.map.keys.to_json}'",
15
15
  "v-bind:initial-plugin-name" => "'#{setting.buffer_type}'",
@@ -215,42 +215,6 @@ en:
215
215
  notice_for_permission: "Please check permission or group setting for %{user} user can read it."
216
216
  notice_for_multiline_limit: "Please input Regexp(s) separated by newline. blank lines are ignored. Lines more than 20 are dropped."
217
217
  restart_from_first: Restart from first
218
- grok_manual: |
219
- <p>
220
- Grok syntax, for example, <code>%{INT:foo}</code> pattern given then translate to <code>/(?&lt;foo&gt;(?:[+-]?(?:[0-9]+)))/</code> regexp.
221
- </p>
222
- <p>
223
- Available key/value are <a href="http://grokdebug.herokuapp.com/patterns" target="_blank">here</a>.
224
- </p>
225
-
226
- <h4>Example</h4>
227
-
228
- <p>
229
- <code>Nov 29 17:02:55 MacBook-Pro-2.local UserEventAgent[239] : cannot find fw daemon port 1102</code> the log you have,<br />
230
- <code>%{MONTH:month}%{SPACE}%{MONTHDAY:day} %{TIME:time} %{DATA} \[%{INT:pid}\]</code> for matching that, you will gain following result.
231
- </p>
232
-
233
- <table class="table">
234
- <thead>
235
- <tr>
236
- <th>Key</th>
237
- <th>Value</th>
238
- </tr>
239
- </thead>
240
-
241
- <tr>
242
- <th>month</th><td>Nov</td>
243
- </tr>
244
- <tr>
245
- <th>day</th><td>29</td>
246
- </tr>
247
- <tr>
248
- <th>time</th><td>17:02:55</td>
249
- </tr>
250
- <tr>
251
- <th>pid</th><td>239</td>
252
- </tr>
253
- </table>
254
218
  show:
255
219
  page_title: "Choose File Path"
256
220
  after_file_choose:
@@ -320,6 +284,7 @@ en:
320
284
  log_file: Log file
321
285
  pid_file: PID file
322
286
  config_file: Config file
287
+ note: Note
323
288
  variant: type
324
289
  api_endpoint: API Endpoint
325
290
 
@@ -221,41 +221,6 @@ ja:
221
221
  notice_for_multiline_limit: "改行区切りで正規表現を入力してください。空行はカウントされません。21行目以降の入力は無視されます。"
222
222
  notice_for_permission: "※%{user}ユーザーが読み込み可能なようにパーミッションやグループの設定をご確認ください。"
223
223
  restart_from_first: 最初からやり直す
224
- grok_manual: |
225
- <p>
226
- Grokの記法が使えます。例えば<code>%{INT:foo}</code>とすると、<code>/(?&lt;foo&gt;(?:[+-]?(?:[0-9]+)))/</code>という正規表現に変換されます。
227
- </p>
228
- <p>
229
- 使えるキー・値については<a href="http://grokdebug.herokuapp.com/patterns" target="_blank">リファレンス</a>をご確認ください。
230
- </p>
231
- <p>
232
- <h4>例</h4>
233
-
234
- <code>Nov 29 17:02:55 MacBook-Pro-2.local UserEventAgent[239] : cannot find fw daemon port 1102</code>というログに対し、<br />
235
- <code>%{MONTH:month}%{SPACE}%{MONTHDAY:day} %{TIME:time} %{DATA} \[%{INT:pid}\]</code>というパターンを適用すると以下の結果が得られます。
236
-
237
- <table class="table">
238
- <thead>
239
- <tr>
240
- <th>キー名</th>
241
- <th>値</th>
242
- </tr>
243
- </thead>
244
-
245
- <tr>
246
- <th>month</th><td>Nov</td>
247
- </tr>
248
- <tr>
249
- <th>day</th><td>29</td>
250
- </tr>
251
- <tr>
252
- <th>time</th><td>17:02:55</td>
253
- </tr>
254
- <tr>
255
- <th>pid</th><td>239</td>
256
- </tr>
257
- </table>
258
- </p>
259
224
  show:
260
225
  page_title: "ファイル読み込み | ファイルの選択"
261
226
  after_file_choose:
@@ -325,6 +290,7 @@ ja:
325
290
  log_file: ログファイル
326
291
  pid_file: PIDファイル
327
292
  config_file: 設定ファイル
293
+ note: ノート
328
294
  variant: タイプ
329
295
  api_endpoint: APIエンドポイント
330
296
 
@@ -121,7 +121,6 @@ Rails.application.routes.draw do
121
121
  get "tree"
122
122
  get "file_preview"
123
123
  post "regexp_preview"
124
- post "grok_to_regexp"
125
124
 
126
125
  resources :settings, only: [:index, :show, :update, :destroy], defaults: { format: "json" }
127
126
  resources :config_definitions, only: [:index], defaults: { format: "json" }
@@ -1,3 +1,3 @@
1
1
  module FluentdUI
2
- VERSION = "1.0.0"
2
+ VERSION = "1.0.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluentd-ui
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Masahiro Nakagawa
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-08-17 00:00:00.000000000 Z
12
+ date: 2018-09-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: fluentd
@@ -662,7 +662,6 @@ files:
662
662
  - lib/fluentd-ui.rb
663
663
  - lib/fluentd-ui/command.rb
664
664
  - lib/fluentd-ui/version.rb
665
- - lib/grok_converter.rb
666
665
  - lib/regexp_preview.rb
667
666
  - lib/regexp_preview/multi_line.rb
668
667
  - lib/regexp_preview/single_line.rb
@@ -676,9 +675,9 @@ files:
676
675
  - public/404.html
677
676
  - public/422.html
678
677
  - public/500.html
679
- - public/assets/.sprockets-manifest-9693cd2afe926a5ca7da6b040a9a2e6b.json
680
- - public/assets/application-db8ee881ff43fff5b8f3a6c96c92c2c62428cc6340162b5fde8d0cbf80c03d2f.css
681
- - public/assets/application-db8ee881ff43fff5b8f3a6c96c92c2c62428cc6340162b5fde8d0cbf80c03d2f.css.gz
678
+ - public/assets/.sprockets-manifest-dc6484ae589afa885890c520f50eb51b.json
679
+ - public/assets/application-50d6f20589e877580d000fb7c0c720e1316973e08923a16e8f374a6be1ef571f.css
680
+ - public/assets/application-50d6f20589e877580d000fb7c0c720e1316973e08923a16e8f374a6be1ef571f.css.gz
682
681
  - public/assets/fontawesome-webfont-2adefcbc041e7d18fcf2d417879dc5a09997aa64d675b7a3c4b6ce33da13f3fe.woff2
683
682
  - public/assets/fontawesome-webfont-7bfcab6db99d5cfbf1705ca0536ddc78585432cc5fa41bbd7ad0f009033b2979.eot
684
683
  - public/assets/fontawesome-webfont-7bfcab6db99d5cfbf1705ca0536ddc78585432cc5fa41bbd7ad0f009033b2979.eot.gz
@@ -699,9 +698,9 @@ files:
699
698
  - public/packs/aws_credential-f430abe47eff7a069b97.js
700
699
  - public/packs/aws_credential-f430abe47eff7a069b97.js.gz
701
700
  - public/packs/aws_credential-f430abe47eff7a069b97.js.map
702
- - public/packs/codemirror-ee4da72eacbf03f4a8a6.js
703
- - public/packs/codemirror-ee4da72eacbf03f4a8a6.js.gz
704
- - public/packs/codemirror-ee4da72eacbf03f4a8a6.js.map
701
+ - public/packs/codemirror-1a4a1c6e408410a4615f.js
702
+ - public/packs/codemirror-1a4a1c6e408410a4615f.js.gz
703
+ - public/packs/codemirror-1a4a1c6e408410a4615f.js.map
705
704
  - public/packs/config_field-f5bced5c699aea7c0ab8.js
706
705
  - public/packs/config_field-f5bced5c699aea7c0ab8.js.gz
707
706
  - public/packs/config_field-f5bced5c699aea7c0ab8.js.map
@@ -805,19 +804,6 @@ files:
805
804
  - test/system/source_and_output_test.rb
806
805
  - test/test_helper.rb
807
806
  - tmp/.gitkeep
808
- - vendor/patterns/firewalls
809
- - vendor/patterns/grok-patterns
810
- - vendor/patterns/haproxy
811
- - vendor/patterns/java
812
- - vendor/patterns/junos
813
- - vendor/patterns/linux-syslog
814
- - vendor/patterns/mcollective
815
- - vendor/patterns/mcollective-patterns
816
- - vendor/patterns/mongodb
817
- - vendor/patterns/nagios
818
- - vendor/patterns/postgresql
819
- - vendor/patterns/redis
820
- - vendor/patterns/ruby
821
807
  - yarn.lock
822
808
  homepage: https://github.com/fluent/fluentd-ui
823
809
  licenses:
@@ -1,39 +0,0 @@
1
- class GrokConverter
2
- def load_patterns(dir = nil)
3
- @patterns = {}
4
- dir ||= Rails.root.join("vendor/patterns")
5
- Dir.glob("#{dir}/*").each do |file|
6
- File.read(file).split("\n").each do |line|
7
- line.strip!
8
- next if line == ""
9
- next if line.start_with?("#")
10
- name, pattern = line.split(/\s+/, 2)
11
- next unless pattern
12
- @patterns[name] = pattern
13
- end
14
- end
15
- end
16
-
17
- def convert_to_regexp(pattern)
18
- limit = 100
19
- expanded = pattern.dup
20
- while m = expanded.match(/%{(.*?)(?::(.*?))?}/) # %{key:name} or #{key}
21
- all, key, name = *m
22
- if name
23
- expanded = expanded.gsub(all, "(?<#{name}>#{@patterns[key]})")
24
- else
25
- expanded = expanded.gsub(all, @patterns[key])
26
- end
27
- limit -= 1
28
- break if limit == 0
29
- end
30
- Regexp.new expanded
31
- end
32
- end
33
-
34
- =begin
35
- g = GrokConverter.new
36
- g.load_patterns("vendor/patterns")
37
- p g.convert_to_regexp("%{USERNAME:user} %{NOT_EXISTS:foo} %{USER} aaaa")
38
- # => /(?<user>[a-zA-Z0-9._-]+) (?<foo>) [a-zA-Z0-9._-]+ aaaa/
39
- =end
@@ -1,60 +0,0 @@
1
- # NetScreen firewall logs
2
- NETSCREENSESSIONLOG %{SYSLOGTIMESTAMP:date} %{IPORHOST:device} %{IPORHOST}: NetScreen device_id=%{WORD:device_id}%{DATA}: start_time=%{QUOTEDSTRING:start_time} duration=%{INT:duration} policy_id=%{INT:policy_id} service=%{DATA:service} proto=%{INT:proto} src zone=%{WORD:src_zone} dst zone=%{WORD:dst_zone} action=%{WORD:action} sent=%{INT:sent} rcvd=%{INT:rcvd} src=%{IPORHOST:src_ip} dst=%{IPORHOST:dst_ip} src_port=%{INT:src_port} dst_port=%{INT:dst_port} src-xlated ip=%{IPORHOST:src_xlated_ip} port=%{INT:src_xlated_port} dst-xlated ip=%{IPORHOST:dst_xlated_ip} port=%{INT:dst_xlated_port} session_id=%{INT:session_id} reason=%{GREEDYDATA:reason}
3
-
4
- #== Cisco ASA ==
5
- CISCO_TAGGED_SYSLOG ^<%{POSINT:syslog_pri}>%{CISCOTIMESTAMP:timestamp}( %{SYSLOGHOST:sysloghost})?: %%{CISCOTAG:ciscotag}:
6
- CISCOTIMESTAMP %{MONTH} +%{MONTHDAY}(?: %{YEAR})? %{TIME}
7
- CISCOTAG [A-Z0-9]+-%{INT}-(?:[A-Z0-9_]+)
8
- # Common Particles
9
- CISCO_ACTION Built|Teardown|Deny|Denied|denied|requested|permitted|denied by ACL|discarded|est-allowed|Dropping|created|deleted
10
- CISCO_REASON Duplicate TCP SYN|Failed to locate egress interface|Invalid transport field|No matching connection|DNS Response|DNS Query|(?:%{WORD}\s*)*
11
- CISCO_DIRECTION Inbound|inbound|Outbound|outbound
12
- CISCO_INTERVAL first hit|%{INT}-second interval
13
- CISCO_XLATE_TYPE static|dynamic
14
- # ASA-2-106001
15
- CISCOFW106001 %{CISCO_DIRECTION:direction} %{WORD:protocol} connection %{CISCO_ACTION:action} from %{IP:src_ip}/%{INT:src_port} to %{IP:dst_ip}/%{INT:dst_port} flags %{GREEDYDATA:tcp_flags} on interface %{GREEDYDATA:interface}
16
- # ASA-2-106006, ASA-2-106007, ASA-2-106010
17
- CISCOFW106006_106007_106010 %{CISCO_ACTION:action} %{CISCO_DIRECTION:direction} %{WORD:protocol} (?:from|src) %{IP:src_ip}/%{INT:src_port}(\(%{DATA:src_fwuser}\))? (?:to|dst) %{IP:dst_ip}/%{INT:dst_port}(\(%{DATA:dst_fwuser}\))? (?:on interface %{DATA:interface}|due to %{CISCO_REASON:reason})
18
- # ASA-3-106014
19
- CISCOFW106014 %{CISCO_ACTION:action} %{CISCO_DIRECTION:direction} %{WORD:protocol} src %{DATA:src_interface}:%{IP:src_ip}(\(%{DATA:src_fwuser}\))? dst %{DATA:dst_interface}:%{IP:dst_ip}(\(%{DATA:dst_fwuser}\))? \(type %{INT:icmp_type}, code %{INT:icmp_code}\)
20
- # ASA-6-106015
21
- CISCOFW106015 %{CISCO_ACTION:action} %{WORD:protocol} \(%{DATA:policy_id}\) from %{IP:src_ip}/%{INT:src_port} to %{IP:dst_ip}/%{INT:dst_port} flags %{DATA:tcp_flags} on interface %{GREEDYDATA:interface}
22
- # ASA-1-106021
23
- CISCOFW106021 %{CISCO_ACTION:action} %{WORD:protocol} reverse path check from %{IP:src_ip} to %{IP:dst_ip} on interface %{GREEDYDATA:interface}
24
- # ASA-4-106023
25
- CISCOFW106023 %{CISCO_ACTION:action} %{WORD:protocol} src %{DATA:src_interface}:%{IP:src_ip}(/%{INT:src_port})?(\(%{DATA:src_fwuser}\))? dst %{DATA:dst_interface}:%{IP:dst_ip}(/%{INT:dst_port})?(\(%{DATA:dst_fwuser}\))?( \(type %{INT:icmp_type}, code %{INT:icmp_code}\))? by access-group %{DATA:policy_id} \[%{DATA:hashcode1}, %{DATA:hashcode2}\]
26
- # ASA-5-106100
27
- CISCOFW106100 access-list %{WORD:policy_id} %{CISCO_ACTION:action} %{WORD:protocol} %{DATA:src_interface}/%{IP:src_ip}\(%{INT:src_port}\)(\(%{DATA:src_fwuser}\))? -> %{DATA:dst_interface}/%{IP:dst_ip}\(%{INT:dst_port}\)(\(%{DATA:src_fwuser}\))? hit-cnt %{INT:hit_count} %{CISCO_INTERVAL:interval} \[%{DATA:hashcode1}, %{DATA:hashcode2}\]
28
- # ASA-6-110002
29
- CISCOFW110002 %{CISCO_REASON:reason} for %{WORD:protocol} from %{DATA:src_interface}:%{IP:src_ip}/%{INT:src_port} to %{IP:dst_ip}/%{INT:dst_port}
30
- # ASA-6-302010
31
- CISCOFW302010 %{INT:connection_count} in use, %{INT:connection_count_max} most used
32
- # ASA-6-302013, ASA-6-302014, ASA-6-302015, ASA-6-302016
33
- CISCOFW302013_302014_302015_302016 %{CISCO_ACTION:action}(?: %{CISCO_DIRECTION:direction})? %{WORD:protocol} connection %{INT:connection_id} for %{DATA:src_interface}:%{IP:src_ip}/%{INT:src_port}( \(%{IP:src_mapped_ip}/%{INT:src_mapped_port}\))?(\(%{DATA:src_fwuser}\))? to %{DATA:dst_interface}:%{IP:dst_ip}/%{INT:dst_port}( \(%{IP:dst_mapped_ip}/%{INT:dst_mapped_port}\))?(\(%{DATA:dst_fwuser}\))?( duration %{TIME:duration} bytes %{INT:bytes})?(?: %{CISCO_REASON:reason})?( \(%{DATA:user}\))?
34
- # ASA-6-302020, ASA-6-302021
35
- CISCOFW302020_302021 %{CISCO_ACTION:action}(?: %{CISCO_DIRECTION:direction})? %{WORD:protocol} connection for faddr %{IP:dst_ip}/%{INT:icmp_seq_num}(?:\(%{DATA:fwuser}\))? gaddr %{IP:src_xlated_ip}/%{INT:icmp_code_xlated} laddr %{IP:src_ip}/%{INT:icmp_code}( \(%{DATA:user}\))?
36
- # ASA-6-305011
37
- CISCOFW305011 %{CISCO_ACTION:action} %{CISCO_XLATE_TYPE:xlate_type} %{WORD:protocol} translation from %{DATA:src_interface}:%{IP:src_ip}(/%{INT:src_port})?(\(%{DATA:src_fwuser}\))? to %{DATA:src_xlated_interface}:%{IP:src_xlated_ip}/%{DATA:src_xlated_port}
38
- # ASA-3-313001, ASA-3-313004, ASA-3-313008
39
- CISCOFW313001_313004_313008 %{CISCO_ACTION:action} %{WORD:protocol} type=%{INT:icmp_type}, code=%{INT:icmp_code} from %{IP:src_ip} on interface %{DATA:interface}( to %{IP:dst_ip})?
40
- # ASA-4-313005
41
- CISCOFW313005 %{CISCO_REASON:reason} for %{WORD:protocol} error message: %{WORD:err_protocol} src %{DATA:err_src_interface}:%{IP:err_src_ip}(\(%{DATA:err_src_fwuser}\))? dst %{DATA:err_dst_interface}:%{IP:err_dst_ip}(\(%{DATA:err_dst_fwuser}\))? \(type %{INT:err_icmp_type}, code %{INT:err_icmp_code}\) on %{DATA:interface} interface\. Original IP payload: %{WORD:protocol} src %{IP:orig_src_ip}/%{INT:orig_src_port}(\(%{DATA:orig_src_fwuser}\))? dst %{IP:orig_dst_ip}/%{INT:orig_dst_port}(\(%{DATA:orig_dst_fwuser}\))?
42
- # ASA-4-402117
43
- CISCOFW402117 %{WORD:protocol}: Received a non-IPSec packet \(protocol= %{WORD:orig_protocol}\) from %{IP:src_ip} to %{IP:dst_ip}
44
- # ASA-4-402119
45
- CISCOFW402119 %{WORD:protocol}: Received an %{WORD:orig_protocol} packet \(SPI= %{DATA:spi}, sequence number= %{DATA:seq_num}\) from %{IP:src_ip} \(user= %{DATA:user}\) to %{IP:dst_ip} that failed anti-replay checking
46
- # ASA-4-419001
47
- CISCOFW419001 %{CISCO_ACTION:action} %{WORD:protocol} packet from %{DATA:src_interface}:%{IP:src_ip}/%{INT:src_port} to %{DATA:dst_interface}:%{IP:dst_ip}/%{INT:dst_port}, reason: %{GREEDYDATA:reason}
48
- # ASA-4-419002
49
- CISCOFW419002 %{CISCO_REASON:reason} from %{DATA:src_interface}:%{IP:src_ip}/%{INT:src_port} to %{DATA:dst_interface}:%{IP:dst_ip}/%{INT:dst_port} with different initial sequence number
50
- # ASA-4-500004
51
- CISCOFW500004 %{CISCO_REASON:reason} for protocol=%{WORD:protocol}, from %{IP:src_ip}/%{INT:src_port} to %{IP:dst_ip}/%{INT:dst_port}
52
- # ASA-6-602303, ASA-6-602304
53
- CISCOFW602303_602304 %{WORD:protocol}: An %{CISCO_DIRECTION:direction} %{GREEDYDATA:tunnel_type} SA \(SPI= %{DATA:spi}\) between %{IP:src_ip} and %{IP:dst_ip} \(user= %{DATA:user}\) has been %{CISCO_ACTION:action}
54
- # ASA-7-710001, ASA-7-710002, ASA-7-710003, ASA-7-710005, ASA-7-710006
55
- CISCOFW710001_710002_710003_710005_710006 %{WORD:protocol} (?:request|access) %{CISCO_ACTION:action} from %{IP:src_ip}/%{INT:src_port} to %{DATA:dst_interface}:%{IP:dst_ip}/%{INT:dst_port}
56
- # ASA-6-713172
57
- CISCOFW713172 Group = %{GREEDYDATA:group}, IP = %{IP:src_ip}, Automatic NAT Detection Status:\s+Remote end\s*%{DATA:is_remote_natted}\s*behind a NAT device\s+This\s+end\s*%{DATA:is_local_natted}\s*behind a NAT device
58
- # ASA-4-733100
59
- CISCOFW733100 \[\s*%{DATA:drop_type}\s*\] drop %{DATA:drop_rate_id} exceeded. Current burst rate is %{INT:drop_rate_current_burst} per second, max configured rate is %{INT:drop_rate_max_burst}; Current average rate is %{INT:drop_rate_current_avg} per second, max configured rate is %{INT:drop_rate_max_avg}; Cumulative total count is %{INT:drop_total_count}
60
- #== End Cisco ASA ==
@@ -1,94 +0,0 @@
1
- USERNAME [a-zA-Z0-9._-]+
2
- USER %{USERNAME}
3
- INT (?:[+-]?(?:[0-9]+))
4
- BASE10NUM (?<![0-9.+-])(?>[+-]?(?:(?:[0-9]+(?:\.[0-9]+)?)|(?:\.[0-9]+)))
5
- NUMBER (?:%{BASE10NUM})
6
- BASE16NUM (?<![0-9A-Fa-f])(?:[+-]?(?:0x)?(?:[0-9A-Fa-f]+))
7
- BASE16FLOAT \b(?<![0-9A-Fa-f.])(?:[+-]?(?:0x)?(?:(?:[0-9A-Fa-f]+(?:\.[0-9A-Fa-f]*)?)|(?:\.[0-9A-Fa-f]+)))\b
8
-
9
- POSINT \b(?:[1-9][0-9]*)\b
10
- NONNEGINT \b(?:[0-9]+)\b
11
- WORD \b\w+\b
12
- NOTSPACE \S+
13
- SPACE \s*
14
- DATA .*?
15
- GREEDYDATA .*
16
- QUOTEDSTRING (?>(?<!\\)(?>"(?>\\.|[^\\"]+)+"|""|(?>'(?>\\.|[^\\']+)+')|''|(?>`(?>\\.|[^\\`]+)+`)|``))
17
- UUID [A-Fa-f0-9]{8}-(?:[A-Fa-f0-9]{4}-){3}[A-Fa-f0-9]{12}
18
-
19
- # Networking
20
- MAC (?:%{CISCOMAC}|%{WINDOWSMAC}|%{COMMONMAC})
21
- CISCOMAC (?:(?:[A-Fa-f0-9]{4}\.){2}[A-Fa-f0-9]{4})
22
- WINDOWSMAC (?:(?:[A-Fa-f0-9]{2}-){5}[A-Fa-f0-9]{2})
23
- COMMONMAC (?:(?:[A-Fa-f0-9]{2}:){5}[A-Fa-f0-9]{2})
24
- IPV6 ((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?
25
- IPV4 (?<![0-9])(?:(?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2}))(?![0-9])
26
- IP (?:%{IPV6}|%{IPV4})
27
- HOSTNAME \b(?:[0-9A-Za-z][0-9A-Za-z-]{0,62})(?:\.(?:[0-9A-Za-z][0-9A-Za-z-]{0,62}))*(\.?|\b)
28
- HOST %{HOSTNAME}
29
- IPORHOST (?:%{HOSTNAME}|%{IP})
30
- HOSTPORT %{IPORHOST}:%{POSINT}
31
-
32
- # paths
33
- PATH (?:%{UNIXPATH}|%{WINPATH})
34
- UNIXPATH (?>/(?>[\w_%!$@:.,-]+|\\.)*)+
35
- TTY (?:/dev/(pts|tty([pq])?)(\w+)?/?(?:[0-9]+))
36
- WINPATH (?>[A-Za-z]+:|\\)(?:\\[^\\?*]*)+
37
- URIPROTO [A-Za-z]+(\+[A-Za-z+]+)?
38
- URIHOST %{IPORHOST}(?::%{POSINT:port})?
39
- # uripath comes loosely from RFC1738, but mostly from what Firefox
40
- # doesn't turn into %XX
41
- URIPATH (?:/[A-Za-z0-9$.+!*'(){},~:;=@#%_\-]*)+
42
- #URIPARAM \?(?:[A-Za-z0-9]+(?:=(?:[^&]*))?(?:&(?:[A-Za-z0-9]+(?:=(?:[^&]*))?)?)*)?
43
- URIPARAM \?[A-Za-z0-9$.+!*'|(){},~@#%&/=:;_?\-\[\]]*
44
- URIPATHPARAM %{URIPATH}(?:%{URIPARAM})?
45
- URI %{URIPROTO}://(?:%{USER}(?::[^@]*)?@)?(?:%{URIHOST})?(?:%{URIPATHPARAM})?
46
-
47
- # Months: January, Feb, 3, 03, 12, December
48
- MONTH \b(?:Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)?|May|Jun(?:e)?|Jul(?:y)?|Aug(?:ust)?|Sep(?:tember)?|Oct(?:ober)?|Nov(?:ember)?|Dec(?:ember)?)\b
49
- MONTHNUM (?:0?[1-9]|1[0-2])
50
- MONTHNUM2 (?:0[1-9]|1[0-2])
51
- MONTHDAY (?:(?:0[1-9])|(?:[12][0-9])|(?:3[01])|[1-9])
52
-
53
- # Days: Monday, Tue, Thu, etc...
54
- DAY (?:Mon(?:day)?|Tue(?:sday)?|Wed(?:nesday)?|Thu(?:rsday)?|Fri(?:day)?|Sat(?:urday)?|Sun(?:day)?)
55
-
56
- # Years?
57
- YEAR (?>\d\d){1,2}
58
- HOUR (?:2[0123]|[01]?[0-9])
59
- MINUTE (?:[0-5][0-9])
60
- # '60' is a leap second in most time standards and thus is valid.
61
- SECOND (?:(?:[0-5]?[0-9]|60)(?:[:.,][0-9]+)?)
62
- TIME (?!<[0-9])%{HOUR}:%{MINUTE}(?::%{SECOND})(?![0-9])
63
- # datestamp is YYYY/MM/DD-HH:MM:SS.UUUU (or something like it)
64
- DATE_US %{MONTHNUM}[/-]%{MONTHDAY}[/-]%{YEAR}
65
- DATE_EU %{MONTHDAY}[./-]%{MONTHNUM}[./-]%{YEAR}
66
- ISO8601_TIMEZONE (?:Z|[+-]%{HOUR}(?::?%{MINUTE}))
67
- ISO8601_SECOND (?:%{SECOND}|60)
68
- TIMESTAMP_ISO8601 %{YEAR}-%{MONTHNUM}-%{MONTHDAY}[T ]%{HOUR}:?%{MINUTE}(?::?%{SECOND})?%{ISO8601_TIMEZONE}?
69
- DATE %{DATE_US}|%{DATE_EU}
70
- DATESTAMP %{DATE}[- ]%{TIME}
71
- TZ (?:[PMCE][SD]T|UTC)
72
- DATESTAMP_RFC822 %{DAY} %{MONTH} %{MONTHDAY} %{YEAR} %{TIME} %{TZ}
73
- DATESTAMP_RFC2822 %{DAY}, %{MONTHDAY} %{MONTH} %{YEAR} %{TIME} %{ISO8601_TIMEZONE}
74
- DATESTAMP_OTHER %{DAY} %{MONTH} %{MONTHDAY} %{TIME} %{TZ} %{YEAR}
75
- DATESTAMP_EVENTLOG %{YEAR}%{MONTHNUM2}%{MONTHDAY}%{HOUR}%{MINUTE}%{SECOND}
76
-
77
- # Syslog Dates: Month Day HH:MM:SS
78
- SYSLOGTIMESTAMP %{MONTH} +%{MONTHDAY} %{TIME}
79
- PROG (?:[\w._/%-]+)
80
- SYSLOGPROG %{PROG:program}(?:\[%{POSINT:pid}\])?
81
- SYSLOGHOST %{IPORHOST}
82
- SYSLOGFACILITY <%{NONNEGINT:facility}.%{NONNEGINT:priority}>
83
- HTTPDATE %{MONTHDAY}/%{MONTH}/%{YEAR}:%{TIME} %{INT}
84
-
85
- # Shortcuts
86
- QS %{QUOTEDSTRING}
87
-
88
- # Log formats
89
- SYSLOGBASE %{SYSLOGTIMESTAMP:timestamp} (?:%{SYSLOGFACILITY} )?%{SYSLOGHOST:logsource} %{SYSLOGPROG}:
90
- COMMONAPACHELOG %{IPORHOST:clientip} %{USER:ident} %{USER:auth} \[%{HTTPDATE:timestamp}\] "(?:%{WORD:verb} %{NOTSPACE:request}(?: HTTP/%{NUMBER:httpversion})?|%{DATA:rawrequest})" %{NUMBER:response} (?:%{NUMBER:bytes}|-)
91
- COMBINEDAPACHELOG %{COMMONAPACHELOG} %{QS:referrer} %{QS:agent}
92
-
93
- # Log Levels
94
- LOGLEVEL ([Aa]lert|ALERT|[Tt]race|TRACE|[Dd]ebug|DEBUG|[Nn]otice|NOTICE|[Ii]nfo|INFO|[Ww]arn?(?:ing)?|WARN?(?:ING)?|[Ee]rr?(?:or)?|ERR?(?:OR)?|[Cc]rit?(?:ical)?|CRIT?(?:ICAL)?|[Ff]atal|FATAL|[Ss]evere|SEVERE|EMERG(?:ENCY)?|[Ee]merg(?:ency)?)
@@ -1,37 +0,0 @@
1
- ## These patterns were tested w/ haproxy-1.4.15
2
-
3
- ## Documentation of the haproxy log formats can be found at the following links:
4
- ## http://code.google.com/p/haproxy-docs/wiki/HTTPLogFormat
5
- ## http://code.google.com/p/haproxy-docs/wiki/TCPLogFormat
6
-
7
- HAPROXYTIME (?!<[0-9])%{HOUR:haproxy_hour}:%{MINUTE:haproxy_minute}(?::%{SECOND:haproxy_second})(?![0-9])
8
- HAPROXYDATE %{MONTHDAY:haproxy_monthday}/%{MONTH:haproxy_month}/%{YEAR:haproxy_year}:%{HAPROXYTIME:haproxy_time}.%{INT:haproxy_milliseconds}
9
-
10
- # Override these default patterns to parse out what is captured in your haproxy.cfg
11
- HAPROXYCAPTUREDREQUESTHEADERS %{DATA:captured_request_headers}
12
- HAPROXYCAPTUREDRESPONSEHEADERS %{DATA:captured_response_headers}
13
-
14
- # Example:
15
- # These haproxy config lines will add data to the logs that are captured
16
- # by the patterns below. Place them in your custom patterns directory to
17
- # override the defaults.
18
- #
19
- # capture request header Host len 40
20
- # capture request header X-Forwarded-For len 50
21
- # capture request header Accept-Language len 50
22
- # capture request header Referer len 200
23
- # capture request header User-Agent len 200
24
- #
25
- # capture response header Content-Type len 30
26
- # capture response header Content-Encoding len 10
27
- # capture response header Cache-Control len 200
28
- # capture response header Last-Modified len 200
29
- #
30
- # HAPROXYCAPTUREDREQUESTHEADERS %{DATA:request_header_host}\|%{DATA:request_header_x_forwarded_for}\|%{DATA:request_header_accept_language}\|%{DATA:request_header_referer}\|%{DATA:request_header_user_agent}
31
- # HAPROXYCAPTUREDRESPONSEHEADERS %{DATA:response_header_content_type}\|%{DATA:response_header_content_encoding}\|%{DATA:response_header_cache_control}\|%{DATA:response_header_last_modified}
32
-
33
- # parse a haproxy 'httplog' line
34
- HAPROXYHTTP %{SYSLOGTIMESTAMP:syslog_timestamp} %{IPORHOST:syslog_server} %{SYSLOGPROG}: %{IP:client_ip}:%{INT:client_port} \[%{HAPROXYDATE:accept_date}\] %{NOTSPACE:frontend_name} %{NOTSPACE:backend_name}/%{NOTSPACE:server_name} %{INT:time_request}/%{INT:time_queue}/%{INT:time_backend_connect}/%{INT:time_backend_response}/%{NOTSPACE:time_duration} %{INT:http_status_code} %{NOTSPACE:bytes_read} %{DATA:captured_request_cookie} %{DATA:captured_response_cookie} %{NOTSPACE:termination_state} %{INT:actconn}/%{INT:feconn}/%{INT:beconn}/%{INT:srvconn}/%{NOTSPACE:retries} %{INT:srv_queue}/%{INT:backend_queue} (\{%{HAPROXYCAPTUREDREQUESTHEADERS}\})?( )?(\{%{HAPROXYCAPTUREDRESPONSEHEADERS}\})?( )?"(<BADREQ>|(%{WORD:http_verb} (%{URIPROTO:http_proto}://)?(?:%{USER:http_user}(?::[^@]*)?@)?(?:%{URIHOST:http_host})?(?:%{URIPATHPARAM:http_request})?( HTTP/%{NUMBER:http_version})?))?"
35
-
36
- # parse a haproxy 'tcplog' line
37
- HAPROXYTCP %{SYSLOGTIMESTAMP:syslog_timestamp} %{IPORHOST:syslog_server} %{SYSLOGPROG}: %{IP:client_ip}:%{INT:client_port} \[%{HAPROXYDATE:accept_date}\] %{NOTSPACE:frontend_name} %{NOTSPACE:backend_name}/%{NOTSPACE:server_name} %{INT:time_queue}/%{INT:time_backend_connect}/%{NOTSPACE:time_duration} %{NOTSPACE:bytes_read} %{NOTSPACE:termination_state} %{INT:actconn}/%{INT:feconn}/%{INT:beconn}/%{INT:srvconn}/%{NOTSPACE:retries} %{INT:srv_queue}/%{INT:backend_queue}
@@ -1,3 +0,0 @@
1
- JAVACLASS (?:[a-zA-Z0-9-]+\.)+[A-Za-z0-9$_]+
2
- JAVAFILE (?:[A-Za-z0-9_. -]+)
3
- JAVASTACKTRACEPART at %{JAVACLASS:class}\.%{WORD:method}\(%{JAVAFILE:file}:%{NUMBER:line}\)
@@ -1,9 +0,0 @@
1
- # JUNOS 11.4 RT_FLOW patterns
2
- RT_FLOW_EVENT (RT_FLOW_SESSION_CREATE|RT_FLOW_SESSION_CLOSE|RT_FLOW_SESSION_DENY)
3
-
4
- RT_FLOW1 %{RT_FLOW_EVENT:event}: %{GREEDYDATA:close-reason}: %{IP:src-ip}/%{DATA:src-port}->%{IP:dst-ip}/%{DATA:dst-port} %{DATA:service} %{IP:nat-src-ip}/%{DATA:nat-src-port}->%{IP:nat-dst-ip}/%{DATA:nat-dst-port} %{DATA:src-nat-rule-name} %{DATA:dst-nat-rule-name} %{INT:protocol-id} %{DATA:policy-name} %{DATA:from-zone} %{DATA:to-zone} %{INT:session-id} \d+\(%{DATA:sent}\) \d+\(%{DATA:received}\) %{INT:elapsed-time} .*
5
-
6
- RT_FLOW2 %{RT_FLOW_EVENT:event}: session created %{IP:src-ip}/%{DATA:src-port}->%{IP:dst-ip}/%{DATA:dst-port} %{DATA:service} %{IP:nat-src-ip}/%{DATA:nat-src-port}->%{IP:nat-dst-ip}/%{DATA:nat-dst-port} %{DATA:src-nat-rule-name} %{DATA:dst-nat-rule-name} %{INT:protocol-id} %{DATA:policy-name} %{DATA:from-zone} %{DATA:to-zone} %{INT:session-id} .*
7
-
8
- RT_FLOW3 %{RT_FLOW_EVENT:event}: session denied %{IP:src-ip}/%{DATA:src-port}->%{IP:dst-ip}/%{DATA:dst-port} %{DATA:service} %{INT:protocol-id}\(\d\) %{DATA:policy-name} %{DATA:from-zone} %{DATA:to-zone} .*
9
-
@@ -1,16 +0,0 @@
1
- SYSLOG5424PRINTASCII [!-~]+
2
-
3
- SYSLOGBASE2 (?:%{SYSLOGTIMESTAMP:timestamp}|%{TIMESTAMP_ISO8601:timestamp8601}) (?:%{SYSLOGFACILITY} )?%{SYSLOGHOST:logsource} %{SYSLOGPROG}:
4
- SYSLOGPAMSESSION %{SYSLOGBASE} (?=%{GREEDYDATA:message})%{WORD:pam_module}\(%{DATA:pam_caller}\): session %{WORD:pam_session_state} for user %{USERNAME:username}(?: by %{GREEDYDATA:pam_by})?
5
-
6
- CRON_ACTION [A-Z ]+
7
- CRONLOG %{SYSLOGBASE} \(%{USER:user}\) %{CRON_ACTION:action} \(%{DATA:message}\)
8
-
9
- SYSLOGLINE %{SYSLOGBASE2} %{GREEDYDATA:message}
10
-
11
- # IETF 5424 syslog(8) format (see http://www.rfc-editor.org/info/rfc5424)
12
- SYSLOG5424PRI <%{NONNEGINT:syslog5424_pri}>
13
- SYSLOG5424SD \[%{DATA}\]+
14
- SYSLOG5424BASE %{SYSLOG5424PRI}%{NONNEGINT:syslog5424_ver} +(?:%{TIMESTAMP_ISO8601:syslog5424_ts}|-) +(?:%{HOSTNAME:syslog5424_host}|-) +(-|%{SYSLOG5424PRINTASCII:syslog5424_app}) +(-|%{SYSLOG5424PRINTASCII:syslog5424_proc}) +(-|%{SYSLOG5424PRINTASCII:syslog5424_msgid}) +(?:%{SYSLOG5424SD:syslog5424_sd}|-|)
15
-
16
- SYSLOG5424LINE %{SYSLOG5424BASE} +%{GREEDYDATA:syslog5424_msg}
@@ -1 +0,0 @@
1
- MCOLLECTIVEAUDIT %{TIMESTAMP_ISO8601:timestamp}:
@@ -1,4 +0,0 @@
1
- # Remember, these can be multi-line events.
2
- MCOLLECTIVE ., \[%{TIMESTAMP_ISO8601:timestamp} #%{POSINT:pid}\]%{SPACE}%{LOGLEVEL:event_level}
3
-
4
- MCOLLECTIVEAUDIT %{TIMESTAMP_ISO8601:timestamp}:
@@ -1,4 +0,0 @@
1
- MONGO_LOG %{SYSLOGTIMESTAMP:timestamp} \[%{WORD:component}\] %{GREEDYDATA:message}
2
- MONGO_QUERY \{ (?<={ ).*(?= } ntoreturn:) \}
3
- MONGO_SLOWQUERY %{WORD} %{MONGO_WORDDASH:database}\.%{MONGO_WORDDASH:collection} %{WORD}: %{MONGO_QUERY:query} %{WORD}:%{NONNEGINT:ntoreturn} %{WORD}:%{NONNEGINT:ntoskip} %{WORD}:%{NONNEGINT:nscanned}.*nreturned:%{NONNEGINT:nreturned}..+ (?<duration>[0-9]+)ms
4
- MONGO_WORDDASH \b[\w-]+\b
@@ -1,108 +0,0 @@
1
- ##################################################################################
2
- ##################################################################################
3
- # Chop Nagios log files to smithereens!
4
- #
5
- # A set of GROK filters to process logfiles generated by Nagios.
6
- # While it does not, this set intends to cover all possible Nagios logs.
7
- #
8
- # Some more work needs to be done to cover all External Commands:
9
- # http://old.nagios.org/developerinfo/externalcommands/commandlist.php
10
- #
11
- # If you need some support on these rules please contact:
12
- # Jelle Smet http://smetj.net
13
- #
14
- #################################################################################
15
- #################################################################################
16
-
17
- NAGIOSTIME \[%{NUMBER:nagios_epoch}\]
18
-
19
- ###############################################
20
- ######## Begin nagios log types
21
- ###############################################
22
- NAGIOS_TYPE_CURRENT_SERVICE_STATE CURRENT SERVICE STATE
23
- NAGIOS_TYPE_CURRENT_HOST_STATE CURRENT HOST STATE
24
-
25
- NAGIOS_TYPE_SERVICE_NOTIFICATION SERVICE NOTIFICATION
26
- NAGIOS_TYPE_HOST_NOTIFICATION HOST NOTIFICATION
27
-
28
- NAGIOS_TYPE_SERVICE_ALERT SERVICE ALERT
29
- NAGIOS_TYPE_HOST_ALERT HOST ALERT
30
-
31
- NAGIOS_TYPE_SERVICE_FLAPPING_ALERT SERVICE FLAPPING ALERT
32
- NAGIOS_TYPE_HOST_FLAPPING_ALERT HOST FLAPPING ALERT
33
-
34
- NAGIOS_TYPE_SERVICE_DOWNTIME_ALERT SERVICE DOWNTIME ALERT
35
- NAGIOS_TYPE_HOST_DOWNTIME_ALERT HOST DOWNTIME ALERT
36
-
37
- NAGIOS_TYPE_PASSIVE_SERVICE_CHECK PASSIVE SERVICE CHECK
38
- NAGIOS_TYPE_PASSIVE_HOST_CHECK PASSIVE HOST CHECK
39
-
40
- NAGIOS_TYPE_SERVICE_EVENT_HANDLER SERVICE EVENT HANDLER
41
- NAGIOS_TYPE_HOST_EVENT_HANDLER HOST EVENT HANDLER
42
-
43
- NAGIOS_TYPE_EXTERNAL_COMMAND EXTERNAL COMMAND
44
- NAGIOS_TYPE_TIMEPERIOD_TRANSITION TIMEPERIOD TRANSITION
45
- ###############################################
46
- ######## End nagios log types
47
- ###############################################
48
-
49
- ###############################################
50
- ######## Begin external check types
51
- ###############################################
52
- NAGIOS_EC_DISABLE_SVC_CHECK DISABLE_SVC_CHECK
53
- NAGIOS_EC_ENABLE_SVC_CHECK ENABLE_SVC_CHECK
54
- NAGIOS_EC_DISABLE_HOST_CHECK DISABLE_HOST_CHECK
55
- NAGIOS_EC_ENABLE_HOST_CHECK ENABLE_HOST_CHECK
56
- NAGIOS_EC_PROCESS_SERVICE_CHECK_RESULT PROCESS_SERVICE_CHECK_RESULT
57
- NAGIOS_EC_PROCESS_HOST_CHECK_RESULT PROCESS_HOST_CHECK_RESULT
58
- NAGIOS_EC_SCHEDULE_SERVICE_DOWNTIME SCHEDULE_SERVICE_DOWNTIME
59
- NAGIOS_EC_SCHEDULE_HOST_DOWNTIME SCHEDULE_HOST_DOWNTIME
60
- ###############################################
61
- ######## End external check types
62
- ###############################################
63
- NAGIOS_WARNING Warning:%{SPACE}%{GREEDYDATA:nagios_message}
64
-
65
- NAGIOS_CURRENT_SERVICE_STATE %{NAGIOS_TYPE_CURRENT_SERVICE_STATE:nagios_type}: %{DATA:nagios_hostname};%{DATA:nagios_service};%{DATA:nagios_state};%{DATA:nagios_statetype};%{DATA:nagios_statecode};%{GREEDYDATA:nagios_message}
66
- NAGIOS_CURRENT_HOST_STATE %{NAGIOS_TYPE_CURRENT_HOST_STATE:nagios_type}: %{DATA:nagios_hostname};%{DATA:nagios_state};%{DATA:nagios_statetype};%{DATA:nagios_statecode};%{GREEDYDATA:nagios_message}
67
-
68
- NAGIOS_SERVICE_NOTIFICATION %{NAGIOS_TYPE_SERVICE_NOTIFICATION:nagios_type}: %{DATA:nagios_notifyname};%{DATA:nagios_hostname};%{DATA:nagios_service};%{DATA:nagios_state};%{DATA:nagios_contact};%{GREEDYDATA:nagios_message}
69
- NAGIOS_HOST_NOTIFICATION %{NAGIOS_TYPE_HOST_NOTIFICATION}: %{DATA:nagios_notifyname};%{DATA:nagios_hostname};%{DATA:nagios_state};%{DATA:nagios_contact};%{GREEDYDATA:nagios_message}
70
-
71
- NAGIOS_SERVICE_ALERT %{NAGIOS_TYPE_SERVICE_ALERT:nagios_type}: %{DATA:nagios_hostname};%{DATA:nagios_service};%{DATA:nagios_state};%{DATA:nagios_statelevel};%{NUMBER:nagios_attempt};%{GREEDYDATA:nagios_message}
72
- NAGIOS_HOST_ALERT %{NAGIOS_TYPE_HOST_ALERT:nagios_type}: %{DATA:nagios_hostname};%{DATA:nagios_state};%{DATA:nagios_statelevel};%{NUMBER:nagios_attempt};%{GREEDYDATA:nagios_message}
73
-
74
- NAGIOS_SERVICE_FLAPPING_ALERT %{NAGIOS_TYPE_SERVICE_FLAPPING_ALERT:nagios_type}: %{DATA:nagios_hostname};%{DATA:nagios_service};%{DATA:nagios_state};%{GREEDYDATA:nagios_message}
75
- NAGIOS_HOST_FLAPPING_ALERT %{NAGIOS_TYPE_HOST_FLAPPING_ALERT:nagios_type}: %{DATA:nagios_hostname};%{DATA:nagios_state};%{GREEDYDATA:nagios_message}
76
-
77
- NAGIOS_SERVICE_DOWNTIME_ALERT %{NAGIOS_TYPE_SERVICE_DOWNTIME_ALERT:nagios_type}: %{DATA:nagios_hostname};%{DATA:nagios_service};%{DATA:nagios_state};%{GREEDYDATA:nagios_comment}
78
- NAGIOS_HOST_DOWNTIME_ALERT %{NAGIOS_TYPE_HOST_DOWNTIME_ALERT:nagios_type}: %{DATA:nagios_hostname};%{DATA:nagios_state};%{GREEDYDATA:nagios_comment}
79
-
80
- NAGIOS_PASSIVE_SERVICE_CHECK %{NAGIOS_TYPE_PASSIVE_SERVICE_CHECK:nagios_type}: %{DATA:nagios_hostname};%{DATA:nagios_service};%{DATA:nagios_state};%{GREEDYDATA:nagios_comment}
81
- NAGIOS_PASSIVE_HOST_CHECK %{NAGIOS_TYPE_PASSIVE_HOST_CHECK:nagios_type}: %{DATA:nagios_hostname};%{DATA:nagios_state};%{GREEDYDATA:nagios_comment}
82
-
83
- NAGIOS_SERVICE_EVENT_HANDLER %{NAGIOS_TYPE_SERVICE_EVENT_HANDLER:nagios_type}: %{DATA:nagios_hostname};%{DATA:nagios_service};%{DATA:nagios_state};%{DATA:nagios_statelevel};%{DATA:nagios_event_handler_name}
84
- NAGIOS_HOST_EVENT_HANDLER %{NAGIOS_TYPE_HOST_EVENT_HANDLER:nagios_type}: %{DATA:nagios_hostname};%{DATA:nagios_state};%{DATA:nagios_statelevel};%{DATA:nagios_event_handler_name}
85
-
86
- NAGIOS_TIMEPERIOD_TRANSITION %{NAGIOS_TYPE_TIMEPERIOD_TRANSITION:nagios_type}: %{DATA:nagios_service};%{DATA:nagios_unknown1};%{DATA:nagios_unknown2};
87
-
88
- ####################
89
- #### External checks
90
- ####################
91
-
92
- #Disable host & service check
93
- NAGIOS_EC_LINE_DISABLE_SVC_CHECK %{NAGIOS_TYPE_EXTERNAL_COMMAND:nagios_type}: %{NAGIOS_EC_DISABLE_SVC_CHECK:nagios_command};%{DATA:nagios_hostname};%{DATA:nagios_service}
94
- NAGIOS_EC_LINE_DISABLE_HOST_CHECK %{NAGIOS_TYPE_EXTERNAL_COMMAND:nagios_type}: %{NAGIOS_EC_DISABLE_HOST_CHECK:nagios_command};%{DATA:nagios_hostname}
95
-
96
- #Enable host & service check
97
- NAGIOS_EC_LINE_ENABLE_SVC_CHECK %{NAGIOS_TYPE_EXTERNAL_COMMAND:nagios_type}: %{NAGIOS_EC_ENABLE_SVC_CHECK:nagios_command};%{DATA:nagios_hostname};%{DATA:nagios_service}
98
- NAGIOS_EC_LINE_ENABLE_HOST_CHECK %{NAGIOS_TYPE_EXTERNAL_COMMAND:nagios_type}: %{NAGIOS_EC_ENABLE_HOST_CHECK:nagios_command};%{DATA:nagios_hostname}
99
-
100
- #Process host & service check
101
- NAGIOS_EC_LINE_PROCESS_SERVICE_CHECK_RESULT %{NAGIOS_TYPE_EXTERNAL_COMMAND:nagios_type}: %{NAGIOS_EC_PROCESS_SERVICE_CHECK_RESULT:nagios_command};%{DATA:nagios_hostname};%{DATA:nagios_service};%{DATA:nagios_state};%{GREEDYDATA:nagios_check_result}
102
- NAGIOS_EC_LINE_PROCESS_HOST_CHECK_RESULT %{NAGIOS_TYPE_EXTERNAL_COMMAND:nagios_type}: %{NAGIOS_EC_PROCESS_HOST_CHECK_RESULT:nagios_command};%{DATA:nagios_hostname};%{DATA:nagios_state};%{GREEDYDATA:nagios_check_result}
103
-
104
- #Schedule host & service downtime
105
- NAGIOS_EC_LINE_SCHEDULE_HOST_DOWNTIME %{NAGIOS_TYPE_EXTERNAL_COMMAND:nagios_type}: %{NAGIOS_EC_SCHEDULE_HOST_DOWNTIME:nagios_command};%{DATA:nagios_hostname};%{NUMBER:nagios_start_time};%{NUMBER:nagios_end_time};%{NUMBER:nagios_fixed};%{NUMBER:nagios_trigger_id};%{NUMBER:nagios_duration};%{DATA:author};%{DATA:comment}
106
-
107
- #End matching line
108
- NAGIOSLOGLINE %{NAGIOSTIME} (?:%{NAGIOS_WARNING}|%{NAGIOS_CURRENT_SERVICE_STATE}|%{NAGIOS_CURRENT_HOST_STATE}|%{NAGIOS_SERVICE_NOTIFICATION}|%{NAGIOS_HOST_NOTIFICATION}|%{NAGIOS_SERVICE_ALERT}|%{NAGIOS_HOST_ALERT}|%{NAGIOS_SERVICE_FLAPPING_ALERT}|%{NAGIOS_HOST_FLAPPING_ALERT}|%{NAGIOS_SERVICE_DOWNTIME_ALERT}|%{NAGIOS_HOST_DOWNTIME_ALERT}|%{NAGIOS_PASSIVE_SERVICE_CHECK}|%{NAGIOS_PASSIVE_HOST_CHECK}|%{NAGIOS_SERVICE_EVENT_HANDLER}|%{NAGIOS_HOST_EVENT_HANDLER}|%{NAGIOS_TIMEPERIOD_TRANSITION}|%{NAGIOS_EC_LINE_DISABLE_SVC_CHECK}|%{NAGIOS_EC_LINE_ENABLE_SVC_CHECK}|%{NAGIOS_EC_LINE_DISABLE_HOST_CHECK|%{NAGIOS_EC_LINE_ENABLE_HOST_CHECK}|%{NAGIOS_EC_LINE_PROCESS_HOST_CHECK_RESULT}|%{NAGIOS_EC_LINE_PROCESS_SERVICE_CHECK_RESULT}|%{NAGIOS_EC_LINE_SCHEDULE_HOST_DOWNTIME})
@@ -1,3 +0,0 @@
1
- # Default postgresql pg_log format pattern
2
- POSTGRESQL %{DATESTAMP:timestamp} %{TZ} %{DATA:user_id} %{GREEDYDATA:connection_id} %{POSINT:pid}
3
-
@@ -1,3 +0,0 @@
1
- REDISTIMESTAMP %{MONTHDAY} %{MONTH} %{TIME}
2
- REDISLOG \[%{POSINT:pid}\] %{REDISTIMESTAMP:timestamp} \*
3
-
@@ -1,2 +0,0 @@
1
- RUBY_LOGLEVEL (?:DEBUG|FATAL|ERROR|WARN|INFO)
2
- RUBY_LOGGER [DFEWI], \[%{TIMESTAMP_ISO8601:timestamp} #%{POSINT:pid}\] *%{RUBY_LOGLEVEL:loglevel} -- +%{DATA:progname}: %{GREEDYDATA:message}