fluentd-ui 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of fluentd-ui might be problematic. Click here for more details.
- checksums.yaml +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