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 +4 -4
- data/ChangeLog.md +8 -0
- data/Gemfile.lock +3 -3
- data/app/assets/stylesheets/common.css.scss +10 -1
- data/app/controllers/api_controller.rb +0 -6
- data/app/controllers/fluentd_controller.rb +2 -2
- data/app/javascript/packs/codemirror.js +20 -12
- data/app/models/fluentd.rb +1 -1
- data/app/models/fluentd/setting/in_tail.rb +0 -9
- data/app/views/fluentd/_form.html.haml +3 -0
- data/app/views/fluentd/show.html.haml +3 -0
- data/app/views/layouts/application.html.erb +3 -0
- data/app/views/layouts/sign_in.html.erb +5 -2
- data/app/views/shared/settings/_form.html.haml +2 -2
- data/config/locales/translation_en.yml +1 -36
- data/config/locales/translation_ja.yml +1 -35
- data/config/routes.rb +0 -1
- data/lib/fluentd-ui/version.rb +1 -1
- metadata +8 -22
- data/lib/grok_converter.rb +0 -39
- data/vendor/patterns/firewalls +0 -60
- data/vendor/patterns/grok-patterns +0 -94
- data/vendor/patterns/haproxy +0 -37
- data/vendor/patterns/java +0 -3
- data/vendor/patterns/junos +0 -9
- data/vendor/patterns/linux-syslog +0 -16
- data/vendor/patterns/mcollective +0 -1
- data/vendor/patterns/mcollective-patterns +0 -4
- data/vendor/patterns/mongodb +0 -4
- data/vendor/patterns/nagios +0 -108
- data/vendor/patterns/postgresql +0 -3
- data/vendor/patterns/redis +0 -3
- data/vendor/patterns/ruby +0 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d6d045b90f722b9793cbf8e23abcfc7a9d78b00a898001bbdbd0c3c590a4de9a
|
4
|
+
data.tar.gz: 0dc77c43a23e146587351f375c0aaa976fafbd5cefcf1c10e053f611f1efee42
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f79d69613ea99bc156ba20899c0334b6919238181b5635acde0f31e5119f7c33bd749a2a5aee8195923fe29b0bb9152074ab9e2b2c85eec87e6f30503e73d47d
|
7
|
+
data.tar.gz: 49938a1d5aa8b4704deedc1c0a237b539a11661067a24a0c9fda5ca7e14dce96c504a3374257056d92e39bc13d1c1557b92f1c4aeecf80549a69d57ddb8f81eb
|
data/ChangeLog.md
CHANGED
@@ -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)
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
fluentd-ui (1.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.
|
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.
|
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
|
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
|
});
|
data/app/models/fluentd.rb
CHANGED
@@ -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
|
@@ -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
|
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
|
-
-
|
9
|
+
- setting.common_options.each do |key|
|
10
10
|
= form.field(key)
|
11
11
|
|
12
|
-
- if
|
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>/(?<foo>(?:[+-]?(?:[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>/(?<foo>(?:[+-]?(?:[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
|
|
data/config/routes.rb
CHANGED
@@ -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" }
|
data/lib/fluentd-ui/version.rb
CHANGED
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.
|
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-
|
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-
|
680
|
-
- public/assets/application-
|
681
|
-
- public/assets/application-
|
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-
|
703
|
-
- public/packs/codemirror-
|
704
|
-
- public/packs/codemirror-
|
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:
|
data/lib/grok_converter.rb
DELETED
@@ -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
|
data/vendor/patterns/firewalls
DELETED
@@ -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)?)
|
data/vendor/patterns/haproxy
DELETED
@@ -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}
|
data/vendor/patterns/java
DELETED
data/vendor/patterns/junos
DELETED
@@ -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}
|
data/vendor/patterns/mcollective
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
MCOLLECTIVEAUDIT %{TIMESTAMP_ISO8601:timestamp}:
|
data/vendor/patterns/mongodb
DELETED
@@ -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
|
data/vendor/patterns/nagios
DELETED
@@ -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})
|
data/vendor/patterns/postgresql
DELETED
data/vendor/patterns/redis
DELETED
data/vendor/patterns/ruby
DELETED