fluentd-ui 1.0.0 → 1.0.1

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.

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}